diff --git a/gin.api.php b/gin.api.php
new file mode 100644
index 0000000..f54855b
--- /dev/null
+++ b/gin.api.php
@@ -0,0 +1,50 @@
+<?php
+
+/**
+ * @file
+ * Hooks for file module.
+ */
+
+/**
+ * @addtogroup hooks
+ * @{
+ */
+
+/**
+ * Register routes to enable the Gin Edit form layout on.
+ *
+ * Registering a route through this hook will result into enabling the Gin Edit
+ * form layout on it. That might be the case if your module is registering a
+ * custom form mode and providing a new route for it. Please note that not every
+ * content entity form route should enable the Gin Edit form layout, for example
+ * the delete entity form does not need it.
+ *
+ * @return array
+ *   An array of route names.
+ *
+ * @see _gin_is_content_form()
+ * @see hook_gin_content_form_routes_alter()
+ */
+function hook_gin_content_form_routes() {
+  return ['entity.node.my_custom_form'];
+}
+
+/**
+ * Alters the registered routes to enable or disable the Gin Edit form layout on.
+ *
+ * @param array $routes
+ *   The list of routes.
+ *
+ * @return array
+ *   An array of route names.
+ *
+ * @see _gin_is_content_form()
+ * @see hook_gin_content_form_routes()
+ */
+function hook_gin_content_form_routes_alter(array &$routes) {
+  $routes = array_diff($routes, ['entity.node.my_custom_form']);
+}
+
+/**
+ * @} End of "addtogroup hooks".
+ */
diff --git a/gin.theme b/gin.theme
index 395f119..ab8fabf 100755
--- a/gin.theme
+++ b/gin.theme
@@ -952,6 +952,11 @@ function _gin_is_content_form($form = NULL, $form_state = NULL, $form_id = NULL)
     'entity.node.edit_form',
   ];
 
+  $additional_routes = \Drupal::moduleHandler()->invokeAll('gin_content_form_routes');
+  $route_names = array_merge($additional_routes, $route_names);
+  \Drupal::moduleHandler()->alter('gin_content_form_routes', $route_names);
+  \Drupal::service('theme.manager')->alter('gin_content_form_routes', $route_names);
+
   if (
     in_array($route_name, $route_names, TRUE) ||
     ($form_state && ($form_state->getBuildInfo()['base_form_id'] ?? NULL) === 'node_form') ||
