Application

GET GET

Get application data

Retrieves serialization of application

  • Permission: guillotina.AccessContent
  • Context: guillotina.interfaces.content.IApplication

http

GET / HTTP/1.1
Accept: application/json
Authorization: Basic cm9vdDpyb290

curl

curl -i http://nohost/ -H 'Accept: application/json' --user root:root

httpie

http http://nohost/ Accept:application/json -a root:root

response

HTTP/1.1 200 OK
Content-Length: 88
Content-Type: application/json

{
    "databases": [
        "db"
    ],
    "static_file": [],
    "static_directory": [],
    "@type": "Application"
}
Status Codes:

GET GET

Get API Definition

Retrieves information on API configuration

  • Permission: guillotina.GetContainers
  • Context: guillotina.interfaces.content.IApplication

http

GET /@apidefinition HTTP/1.1
Accept: application/json
Authorization: Basic cm9vdDpyb290

curl

curl -i http://nohost/@apidefinition -H 'Accept: application/json' --user root:root

httpie

http http://nohost/@apidefinition Accept:application/json -a root:root

response

HTTP/1.1 200 OK
Content-Length: 41520
Content-Type: application/json

{
    "guillotina.interfaces.content.IContainer": {
        "endpoints": {
            "@addons": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "permission": "guillotina.ManageAddons",
                    "name": "@addons",
                    "summary": "Install addon to container",
                    "parameters": [
                        {
                            "name": "body",
                            "in": "body",
                            "schema": {
                                "$ref": "#/definitions/Addon"
                            }
                        }
                    ],
                    "module": "guillotina.api.addons.install"
                },
                "DELETE": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "method": "DELETE",
                    "permission": "guillotina.ManageAddons",
                    "name": "@addons",
                    "summary": "Uninstall an addon from container",
                    "parameters": [
                        {
                            "name": "body",
                            "in": "body",
                            "schema": {
                                "$ref": "#/definitions/Addon"
                            }
                        }
                    ],
                    "module": "guillotina.api.addons.uninstall"
                },
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.ManageAddons",
                    "name": "@addons",
                    "summary": "List available addons",
                    "responses": {
                        "200": {
                            "description": "Get list of available and installed addons",
                            "schema": {
                                "$ref": "#/definitions/AddonResponse"
                            }
                        }
                    },
                    "module": "guillotina.api.addons.get_addons"
                }
            },
            "@addons/{addon}": {
                "DELETE": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "method": "DELETE",
                    "permission": "guillotina.ManageAddons",
                    "name": "@addons/{addon}",
                    "summary": "Uninstall an addon from container",
                    "parameters": [
                        {
                            "name": "addon",
                            "in": "path"
                        }
                    ],
                    "module": "guillotina.api.addons.uninstall_path"
                }
            },
            "@resolveuid/{uid}": {
                "GET": {
                    "method": "GET",
                    "name": "@resolveuid/{uid}",
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "permission": "guillotina.AccessContent",
                    "summary": "Get content by UID",
                    "responses": {
                        "200": {
                            "description": "Successful"
                        }
                    },
                    "module": "guillotina.api.content.resolve_uid"
                }
            },
            "@login": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "permission": "guillotina.Public",
                    "name": "@login",
                    "summary": "Components for a resource",
                    "allow_access": true,
                    "module": "guillotina.api.login.Login"
                }
            },
            "@login-renew": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "permission": "guillotina.AccessContent",
                    "name": "@login-renew",
                    "summary": "Refresh to a new token",
                    "module": "guillotina.api.login.Refresh"
                }
            },
            "@registry/{key}": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.ReadConfiguration",
                    "name": "@registry/{key}",
                    "summary": "Read container registry settings",
                    "responses": {
                        "200": {
                            "description": "Successfully registered interface",
                            "type": "object",
                            "schema": {
                                "properties": {
                                    "value": {
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.registry.Read"
                }
            },
            "@registry": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.ReadConfiguration",
                    "name": "@registry",
                    "summary": "Read container registry settings",
                    "responses": {
                        "200": {
                            "description": "Successfully registered interface",
                            "type": "object",
                            "schema": {
                                "properties": {
                                    "value": {
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.registry.get_registry_service"
                },
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "permission": "guillotina.RegisterConfigurations",
                    "name": "@registry",
                    "summary": "Register a new interface to for registry settings",
                    "parameters": [
                        {
                            "name": "body",
                            "in": "body",
                            "type": "object",
                            "schema": {
                                "properties": {
                                    "interface": {
                                        "type": "string",
                                        "required": true
                                    },
                                    "initial_values": {
                                        "type": "object",
                                        "required": false
                                    }
                                }
                            }
                        }
                    ],
                    "responses": {
                        "200": {
                            "description": "Successfully registered interface"
                        }
                    },
                    "module": "guillotina.api.registry.Register"
                }
            },
            "@registry/{dotted_name}": {
                "PATCH": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "method": "PATCH",
                    "permission": "guillotina.WriteConfiguration",
                    "name": "@registry/{dotted_name}",
                    "summary": "Update registry setting",
                    "parameters": {
                        "name": "body",
                        "in": "body",
                        "type": "object",
                        "schema": {
                            "properties": {
                                "value": {
                                    "type": "any",
                                    "required": true
                                }
                            }
                        }
                    },
                    "responses": {
                        "200": {
                            "description": "Successfully wrote configuration"
                        }
                    },
                    "module": "guillotina.api.registry.Write"
                }
            },
            "@types": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.AccessContent",
                    "name": "@types",
                    "summary": "Read information on available types",
                    "responses": {
                        "200": {
                            "description": "Result results on types",
                            "schema": {
                                "properties": {}
                            }
                        }
                    },
                    "module": "guillotina.api.types.get_all_types"
                }
            },
            "@types/{type_name}": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.AccessContent",
                    "name": "@types/{type_name}",
                    "summary": "Read information on available types",
                    "responses": {
                        "200": {
                            "description": "Result results on types",
                            "schema": {
                                "properties": {}
                            }
                        }
                    },
                    "module": "guillotina.api.types.Read"
                }
            },
            "@user": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.AccessContent",
                    "name": "@user",
                    "summary": "Get information on the currently logged in user",
                    "responses": {
                        "200": {
                            "description": "Get information on the user",
                            "schema": {
                                "properties": {}
                            }
                        }
                    },
                    "module": "guillotina.api.user.get_user_info"
                }
            },
            "@wstoken": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.UseWebSockets",
                    "name": "@wstoken",
                    "summary": "Return a web socket token",
                    "responses": {
                        "200": {
                            "description": "The new token",
                            "schema": {
                                "properties": {
                                    "token": {
                                        "type": "string",
                                        "required": true
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.ws.WebsocketGetToken"
                }
            },
            "@ws": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.AccessContent",
                    "name": "@ws",
                    "summary": "Make a web socket connection",
                    "module": "guillotina.api.ws.WebsocketsView"
                }
            }
        },
        "DELETE": {
            "context": [
                "guillotina.interfaces.content.IContainer",
                "guillotina.interfaces.content.IResource",
                "guillotina.interfaces.content.ILocation",
                "guillotina.interfaces.content.IAsyncContainer",
                "guillotina.interfaces.content.ITraversable",
                "guillotina.component.interfaces.ISite",
                "zope.interface.Interface"
            ],
            "method": "DELETE",
            "permission": "guillotina.DeleteContainers",
            "summary": "Delete container",
            "module": "guillotina.api.container.DefaultDELETE"
        }
    },
    "guillotina.interfaces.content.IApplication": {
        "GET": {
            "context": [
                "guillotina.interfaces.content.IApplication",
                "guillotina.interfaces.content.ITraversable",
                "guillotina.interfaces.content.IAsyncContainer",
                "zope.interface.Interface"
            ],
            "method": "GET",
            "permission": "guillotina.AccessContent",
            "summary": "Get application data",
            "description": "Retrieves serialization of application",
            "responses": {
                "200": {
                    "description": "Application data",
                    "schema": {
                        "$ref": "#/definitions/Application"
                    }
                }
            },
            "module": "guillotina.api.app.get"
        },
        "endpoints": {
            "@apidefinition": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.GetContainers",
                    "name": "@apidefinition",
                    "summary": "Get API Definition",
                    "description": "Retrieves information on API configuration",
                    "module": "guillotina.api.app.get_api_definition"
                }
            },
            "@component-subscribers": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "name": "@component-subscribers",
                    "permission": "guillotina.ReadConfiguration",
                    "summary": "Get all registered subscribers",
                    "module": "guillotina.api.app.get_all_subscribers"
                }
            },
            "@login": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "permission": "guillotina.Public",
                    "name": "@login",
                    "summary": "Components for a resource",
                    "allow_access": true,
                    "module": "guillotina.api.login.Login"
                }
            },
            "@login-renew": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "permission": "guillotina.AccessContent",
                    "name": "@login-renew",
                    "summary": "Refresh to a new token",
                    "module": "guillotina.api.login.Refresh"
                }
            },
            "@storages": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.GetDatabases",
                    "name": "@storages",
                    "module": "guillotina.api.storage.storages_get"
                }
            },
            "@storages/{storage_id}": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.GetDatabases",
                    "name": "@storages/{storage_id}",
                    "module": "guillotina.api.storage.storage_get"
                },
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "permission": "guillotina.MountDatabase",
                    "name": "@storages/{storage_id}",
                    "module": "guillotina.api.storage.storage_create_db"
                }
            },
            "@storages/{storage_id}/{db_id}": {
                "DELETE": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "zope.interface.Interface"
                    ],
                    "method": "DELETE",
                    "permission": "guillotina.UmountDatabase",
                    "name": "@storages/{storage_id}/{db_id}",
                    "module": "guillotina.api.storage.delete_db"
                },
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.GetDatabases",
                    "name": "@storages/{storage_id}/{db_id}",
                    "module": "guillotina.api.storage.get_db"
                }
            },
            "@user": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.AccessContent",
                    "name": "@user",
                    "summary": "Get information on the currently logged in user",
                    "responses": {
                        "200": {
                            "description": "Get information on the user",
                            "schema": {
                                "properties": {}
                            }
                        }
                    },
                    "module": "guillotina.api.user.get_user_info"
                }
            },
            "@wstoken": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.UseWebSockets",
                    "name": "@wstoken",
                    "summary": "Return a web socket token",
                    "responses": {
                        "200": {
                            "description": "The new token",
                            "schema": {
                                "properties": {
                                    "token": {
                                        "type": "string",
                                        "required": true
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.ws.WebsocketGetToken"
                }
            }
        },
        "PUT": {
            "context": [
                "guillotina.interfaces.content.IApplication",
                "guillotina.interfaces.content.ITraversable",
                "guillotina.interfaces.content.IAsyncContainer",
                "zope.interface.Interface"
            ],
            "method": "PUT",
            "permission": "guillotina.MountDatabase",
            "ignore": true,
            "module": "guillotina.api.container.NotImplemented"
        }
    },
    "guillotina.interfaces.content.IResource": {
        "endpoints": {
            "@behaviors": {
                "PATCH": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "PATCH",
                    "permission": "guillotina.ModifyContent",
                    "name": "@behaviors",
                    "summary": "Add behavior to resource",
                    "parameters": [
                        {
                            "name": "body",
                            "in": "body",
                            "schema": {
                                "$ref": "#/definitions/Behavior"
                            }
                        }
                    ],
                    "responses": {
                        "200": {
                            "description": "Successfully added behavior"
                        },
                        "412": {
                            "description": "Behavior already assigned here"
                        }
                    },
                    "module": "guillotina.api.behaviors.default_patch"
                },
                "DELETE": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "DELETE",
                    "permission": "guillotina.ModifyContent",
                    "name": "@behaviors",
                    "summary": "Remove behavior from resource",
                    "parameters": [
                        {
                            "name": "body",
                            "in": "body",
                            "schema": {
                                "$ref": "#/definitions/Behavior"
                            }
                        }
                    ],
                    "responses": {
                        "200": {
                            "description": "Successfully removed behavior"
                        },
                        "412": {
                            "description": "Behavior not assigned here"
                        }
                    },
                    "module": "guillotina.api.behaviors.default_delete"
                },
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.AccessContent",
                    "name": "@behaviors",
                    "summary": "Get information on behaviors for this resource",
                    "responses": {
                        "200": {
                            "description": "A listing of behaviors for content",
                            "schema": {
                                "$ref": "#/definitions/BehaviorsResponse"
                            }
                        }
                    },
                    "module": "guillotina.api.behaviors.default_get"
                }
            },
            "@behaviors/{behavior}": {
                "DELETE": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "DELETE",
                    "permission": "guillotina.ModifyContent",
                    "name": "@behaviors/{behavior}",
                    "summary": "Remove behavior from resource",
                    "parameters": [
                        {
                            "name": "behavior",
                            "in": "path",
                            "schema": {
                                "$ref": "#/definitions/Behavior"
                            }
                        }
                    ],
                    "responses": {
                        "200": {
                            "description": "Successfully removed behavior"
                        },
                        "412": {
                            "description": "Behavior not assigned here"
                        }
                    },
                    "module": "guillotina.api.behaviors.default_delete_withparams"
                }
            },
            "@sharing": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.SeePermissions",
                    "name": "@sharing",
                    "summary": "Get sharing settings for this resource",
                    "responses": {
                        "200": {
                            "description": "All the sharing defined on this resource",
                            "schema": {
                                "$ref": "#/definitions/ResourceACL"
                            }
                        }
                    },
                    "module": "guillotina.api.content.sharing_get"
                },
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "permission": "guillotina.ChangePermissions",
                    "name": "@sharing",
                    "summary": "Change permissions for a resource",
                    "parameters": [
                        {
                            "name": "body",
                            "in": "body",
                            "type": "object",
                            "schema": {
                                "$ref": "#/definitions/Permissions"
                            }
                        }
                    ],
                    "responses": {
                        "200": {
                            "description": "Successfully changed permission"
                        }
                    },
                    "module": "guillotina.api.content.SharingPOST"
                },
                "PUT": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "PUT",
                    "permission": "guillotina.ChangePermissions",
                    "name": "@sharing",
                    "summary": "Replace permissions for a resource",
                    "parameters": [
                        {
                            "name": "body",
                            "in": "body",
                            "type": "object",
                            "schema": {
                                "$ref": "#/definitions/Permissions"
                            }
                        }
                    ],
                    "responses": {
                        "200": {
                            "description": "Successfully replaced permissions"
                        }
                    },
                    "module": "guillotina.api.content.SharingPUT"
                }
            },
            "@all_permissions": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.SeePermissions",
                    "name": "@all_permissions",
                    "summary": "See all permission settings for this resource",
                    "responses": {
                        "200": {
                            "description": "All the permissions defined on this resource",
                            "schema": {
                                "$ref": "#/definitions/AllPermissions"
                            }
                        }
                    },
                    "module": "guillotina.api.content.all_permissions"
                }
            },
            "@canido": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.AccessContent",
                    "name": "@canido",
                    "summary": "Check if user has permissions on context",
                    "parameters": [
                        {
                            "name": "permission",
                            "in": "query",
                            "required": true,
                            "type": "string"
                        }
                    ],
                    "responses": {
                        "200": {
                            "description": "Successfully changed permission"
                        }
                    },
                    "module": "guillotina.api.content.can_i_do"
                }
            },
            "@move": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "name": "@move",
                    "permission": "guillotina.MoveContent",
                    "summary": "Move resource",
                    "parameters": [
                        {
                            "name": "body",
                            "in": "body",
                            "type": "object",
                            "schema": {
                                "properties": {
                                    "destination": {
                                        "type": "string",
                                        "description": "Absolute path to destination object from container",
                                        "required": false
                                    },
                                    "new_id": {
                                        "type": "string",
                                        "description": "Optional new id to assign object",
                                        "required": false
                                    }
                                }
                            }
                        }
                    ],
                    "responses": {
                        "200": {
                            "description": "Successfully moved resource"
                        }
                    },
                    "module": "guillotina.api.content.move"
                }
            },
            "@duplicate": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "name": "@duplicate",
                    "permission": "guillotina.DuplicateContent",
                    "summary": "Duplicate resource",
                    "parameters": [
                        {
                            "name": "body",
                            "in": "body",
                            "type": "object",
                            "schema": {
                                "properties": {
                                    "destination": {
                                        "type": "string",
                                        "description": "Absolute path to destination object from container",
                                        "required": false
                                    },
                                    "new_id": {
                                        "type": "string",
                                        "description": "Optional new id to assign object",
                                        "required": false
                                    }
                                }
                            }
                        }
                    ],
                    "responses": {
                        "200": {
                            "description": "Successfully duplicated object"
                        }
                    },
                    "module": "guillotina.api.content.duplicate"
                }
            },
            "@fieldvalue/{dotted_name}": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.ViewContent",
                    "name": "@fieldvalue/{dotted_name}",
                    "summary": "Get field value",
                    "module": "guillotina.api.content.get_field_value"
                }
            },
            "@dynamic-fields": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "name": "@dynamic-fields",
                    "permission": "guillotina.ModifyContent",
                    "summary": "Get a list of available fields",
                    "module": "guillotina.api.dynamic.available_dynamic_fields"
                }
            },
            "@upload/{field_name}/{filename}": {
                "PATCH": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "PATCH",
                    "permission": "guillotina.ModifyContent",
                    "name": "@upload/{field_name}/{filename}",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "summary": "Update the content of a file",
                            "parameters": [
                                {
                                    "name": "field_name",
                                    "in": "path",
                                    "description": "Name of file field",
                                    "required": true
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully updated content"
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.UploadFile"
                }
            },
            "@upload/{field_name}": {
                "PATCH": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "PATCH",
                    "permission": "guillotina.ModifyContent",
                    "name": "@upload/{field_name}",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "summary": "Update the content of a file",
                            "parameters": [
                                {
                                    "name": "field_name",
                                    "in": "path",
                                    "description": "Name of file field",
                                    "required": true
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully updated content"
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.UploadFile"
                }
            },
            "@download/{field_name}/{filename}": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.ViewContent",
                    "name": "@download/{field_name}/{filename}",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "summary": "Download the content of a file",
                            "parameters": [
                                {
                                    "name": "field_name",
                                    "in": "path",
                                    "description": "Name of file field",
                                    "required": true
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully updated content"
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.DownloadFile"
                },
                "HEAD": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "HEAD",
                    "permission": "guillotina.ViewContent",
                    "name": "@download/{field_name}/{filename}",
                    "module": "guillotina.api.files.HeadFile"
                }
            },
            "@download/{field_name}": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.ViewContent",
                    "name": "@download/{field_name}",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "summary": "Download the content of a file",
                            "parameters": [
                                {
                                    "name": "field_name",
                                    "in": "path",
                                    "description": "Name of file field",
                                    "required": true
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully updated content"
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.DownloadFile"
                },
                "HEAD": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "HEAD",
                    "permission": "guillotina.ViewContent",
                    "name": "@download/{field_name}",
                    "module": "guillotina.api.files.HeadFile"
                }
            },
            "@tusupload/{field_name}/{filename}": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "permission": "guillotina.ModifyContent",
                    "name": "@tusupload/{field_name}/{filename}",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "summary": "TUS endpoint",
                            "parameters": [
                                {
                                    "name": "field_name",
                                    "in": "path",
                                    "description": "Name of file field",
                                    "required": true
                                },
                                {
                                    "name": "Upload-Offset",
                                    "in": "headers",
                                    "type": "integer",
                                    "required": true
                                },
                                {
                                    "name": "UPLOAD-LENGTH",
                                    "in": "headers",
                                    "type": "integer",
                                    "required": true
                                },
                                {
                                    "name": "UPLOAD-MD5",
                                    "in": "headers",
                                    "type": "string",
                                    "required": false
                                },
                                {
                                    "name": "UPLOAD-EXTENSION",
                                    "in": "headers",
                                    "type": "string",
                                    "required": false
                                },
                                {
                                    "name": "TUS-RESUMABLE",
                                    "in": "headers",
                                    "type": "string",
                                    "required": true
                                },
                                {
                                    "name": "UPLOAD-METADATA",
                                    "in": "headers",
                                    "type": "string",
                                    "required": false
                                }
                            ],
                            "responses": {
                                "204": {
                                    "description": "Successfully patched data",
                                    "headers": {
                                        "Location": {
                                            "type": "string"
                                        },
                                        "Tus-Resumable": {
                                            "type": "string"
                                        },
                                        "Access-Control-Expose-Headers": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.TusCreateFile"
                },
                "HEAD": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "HEAD",
                    "permission": "guillotina.ModifyContent",
                    "name": "@tusupload/{field_name}/{filename}",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "summary": "TUS endpoint",
                            "parameters": [
                                {
                                    "name": "field_name",
                                    "in": "path",
                                    "description": "Name of file field",
                                    "required": true
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully patched data",
                                    "headers": {
                                        "Upload-Offset": {
                                            "type": "integer"
                                        },
                                        "Tus-Resumable": {
                                            "type": "string"
                                        },
                                        "Access-Control-Expose-Headers": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.TusHeadFile"
                },
                "PATCH": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "PATCH",
                    "permission": "guillotina.ModifyContent",
                    "name": "@tusupload/{field_name}/{filename}",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "summary": "TUS endpoint",
                            "parameters": [
                                {
                                    "name": "field_name",
                                    "in": "path",
                                    "description": "Name of file field",
                                    "required": true
                                },
                                {
                                    "name": "Upload-Offset",
                                    "in": "headers",
                                    "type": "integer",
                                    "required": true
                                },
                                {
                                    "name": "CONTENT-LENGTH",
                                    "in": "headers",
                                    "type": "integer",
                                    "required": true
                                }
                            ],
                            "responses": {
                                "204": {
                                    "description": "Successfully patched data",
                                    "headers": {
                                        "Upload-Offset": {
                                            "type": "integer"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.TusPatchFile"
                },
                "OPTIONS": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "OPTIONS",
                    "permission": "guillotina.AccessPreflight",
                    "name": "@tusupload/{field_name}/{filename}",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "summary": "TUS endpoint",
                            "parameters": [
                                {
                                    "name": "field_name",
                                    "in": "path",
                                    "description": "Name of file field",
                                    "required": true
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully returned tus info",
                                    "headers": {
                                        "Tus-Version": {
                                            "type": "string"
                                        },
                                        "Tus-Resumable": {
                                            "type": "string"
                                        },
                                        "Tus-Max-Size": {
                                            "type": "integer"
                                        },
                                        "Tus-Extension": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.TusOptionsFile"
                }
            },
            "@tusupload/{field_name}": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "permission": "guillotina.ModifyContent",
                    "name": "@tusupload/{field_name}",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "summary": "TUS endpoint",
                            "parameters": [
                                {
                                    "name": "field_name",
                                    "in": "path",
                                    "description": "Name of file field",
                                    "required": true
                                },
                                {
                                    "name": "Upload-Offset",
                                    "in": "headers",
                                    "type": "integer",
                                    "required": true
                                },
                                {
                                    "name": "UPLOAD-LENGTH",
                                    "in": "headers",
                                    "type": "integer",
                                    "required": true
                                },
                                {
                                    "name": "UPLOAD-MD5",
                                    "in": "headers",
                                    "type": "string",
                                    "required": false
                                },
                                {
                                    "name": "UPLOAD-EXTENSION",
                                    "in": "headers",
                                    "type": "string",
                                    "required": false
                                },
                                {
                                    "name": "TUS-RESUMABLE",
                                    "in": "headers",
                                    "type": "string",
                                    "required": true
                                },
                                {
                                    "name": "UPLOAD-METADATA",
                                    "in": "headers",
                                    "type": "string",
                                    "required": false
                                }
                            ],
                            "responses": {
                                "204": {
                                    "description": "Successfully patched data",
                                    "headers": {
                                        "Location": {
                                            "type": "string"
                                        },
                                        "Tus-Resumable": {
                                            "type": "string"
                                        },
                                        "Access-Control-Expose-Headers": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.TusCreateFile"
                },
                "HEAD": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "HEAD",
                    "permission": "guillotina.ModifyContent",
                    "name": "@tusupload/{field_name}",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "summary": "TUS endpoint",
                            "parameters": [
                                {
                                    "name": "field_name",
                                    "in": "path",
                                    "description": "Name of file field",
                                    "required": true
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully patched data",
                                    "headers": {
                                        "Upload-Offset": {
                                            "type": "integer"
                                        },
                                        "Tus-Resumable": {
                                            "type": "string"
                                        },
                                        "Access-Control-Expose-Headers": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.TusHeadFile"
                },
                "PATCH": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "PATCH",
                    "permission": "guillotina.ModifyContent",
                    "name": "@tusupload/{field_name}",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "summary": "TUS endpoint",
                            "parameters": [
                                {
                                    "name": "field_name",
                                    "in": "path",
                                    "description": "Name of file field",
                                    "required": true
                                },
                                {
                                    "name": "Upload-Offset",
                                    "in": "headers",
                                    "type": "integer",
                                    "required": true
                                },
                                {
                                    "name": "CONTENT-LENGTH",
                                    "in": "headers",
                                    "type": "integer",
                                    "required": true
                                }
                            ],
                            "responses": {
                                "204": {
                                    "description": "Successfully patched data",
                                    "headers": {
                                        "Upload-Offset": {
                                            "type": "integer"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.TusPatchFile"
                },
                "OPTIONS": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "OPTIONS",
                    "permission": "guillotina.AccessPreflight",
                    "name": "@tusupload/{field_name}",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "summary": "TUS endpoint",
                            "parameters": [
                                {
                                    "name": "field_name",
                                    "in": "path",
                                    "description": "Name of file field",
                                    "required": true
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully returned tus info",
                                    "headers": {
                                        "Tus-Version": {
                                            "type": "string"
                                        },
                                        "Tus-Resumable": {
                                            "type": "string"
                                        },
                                        "Tus-Max-Size": {
                                            "type": "integer"
                                        },
                                        "Tus-Extension": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.TusOptionsFile"
                }
            },
            "@search": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.SearchContent",
                    "name": "@search",
                    "summary": "Make search request",
                    "parameters": [],
                    "responses": {
                        "200": {
                            "description": "Search results",
                            "type": "object",
                            "schema": {
                                "$ref": "#/definitions/SearchResults"
                            }
                        }
                    },
                    "module": "guillotina.api.search.search_get"
                },
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "permission": "guillotina.RawSearchContent",
                    "name": "@search",
                    "summary": "Make a complex search query",
                    "parameters": [
                        {
                            "name": "body",
                            "in": "body",
                            "schema": {
                                "properties": {}
                            }
                        }
                    ],
                    "responses": {
                        "200": {
                            "description": "Search results",
                            "type": "object",
                            "schema": {
                                "$ref": "#/definitions/SearchResults"
                            }
                        }
                    },
                    "module": "guillotina.api.search.search_post"
                }
            },
            "@catalog-reindex": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "permission": "guillotina.ReindexContent",
                    "name": "@catalog-reindex",
                    "summary": "Reindex entire container content",
                    "responses": {
                        "200": {
                            "description": "Successfully reindexed content"
                        }
                    },
                    "module": "guillotina.api.search.CatalogReindex"
                }
            },
            "@async-catalog-reindex": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "permission": "guillotina.ReindexContent",
                    "name": "@async-catalog-reindex",
                    "summary": "Asynchronously reindex entire container content",
                    "responses": {
                        "200": {
                            "description": "Successfully initiated reindexing"
                        }
                    },
                    "module": "guillotina.api.search.AsyncCatalogReindex"
                }
            },
            "@catalog": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "permission": "guillotina.ManageCatalog",
                    "name": "@catalog",
                    "summary": "Initialize catalog",
                    "responses": {
                        "200": {
                            "description": "Successfully initialized catalog"
                        }
                    },
                    "module": "guillotina.api.search.catalog_post"
                },
                "DELETE": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "DELETE",
                    "permission": "guillotina.ManageCatalog",
                    "name": "@catalog",
                    "summary": "Delete search catalog",
                    "responses": {
                        "200": {
                            "description": "Successfully deleted catalog"
                        }
                    },
                    "module": "guillotina.api.search.catalog_delete"
                }
            }
        },
        "HEAD": {
            "context": [
                "guillotina.interfaces.content.IResource",
                "guillotina.interfaces.content.ILocation",
                "zope.interface.Interface"
            ],
            "method": "HEAD",
            "permission": "guillotina.ViewContent",
            "module": "guillotina.api.content.default_head"
        },
        "GET": {
            "context": [
                "guillotina.interfaces.content.IResource",
                "guillotina.interfaces.content.ILocation",
                "zope.interface.Interface"
            ],
            "method": "GET",
            "permission": "guillotina.ViewContent",
            "summary": "Retrieves serialization of resource",
            "responses": "guillotina.api.content.get_content_json_schema_responses",
            "parameters": [
                {
                    "name": "include",
                    "in": "query",
                    "type": "string",
                    "description": ""
                },
                {
                    "name": "omit",
                    "in": "query",
                    "type": "string",
                    "description": ""
                }
            ],
            "module": "guillotina.api.content.DefaultGET"
        },
        "POST": {
            "context": [
                "guillotina.interfaces.content.IResource",
                "guillotina.interfaces.content.ILocation",
                "zope.interface.Interface"
            ],
            "method": "POST",
            "permission": "guillotina.AddContent",
            "summary": "Add new resouce inside this container resource",
            "parameters": [
                {
                    "name": "body",
                    "in": "body",
                    "schema": {
                        "$ref": "#/definitions/AddableResource"
                    }
                }
            ],
            "responses": {
                "200": {
                    "description": "Resource data",
                    "schema": {
                        "$ref": "#/definitions/ResourceFolder"
                    }
                }
            },
            "module": "guillotina.api.content.DefaultPOST"
        },
        "PATCH": {
            "context": [
                "guillotina.interfaces.content.IResource",
                "guillotina.interfaces.content.ILocation",
                "zope.interface.Interface"
            ],
            "method": "PATCH",
            "permission": "guillotina.ModifyContent",
            "summary": "Modify the content of this resource",
            "parameters": "guillotina.api.content.patch_content_json_schema_parameters",
            "responses": {
                "200": {
                    "description": "Resource data",
                    "schema": {
                        "$ref": "#/definitions/Resource"
                    }
                }
            },
            "module": "guillotina.api.content.DefaultPATCH"
        },
        "PUT": {
            "context": [
                "guillotina.interfaces.content.IResource",
                "guillotina.interfaces.content.ILocation",
                "zope.interface.Interface"
            ],
            "method": "PUT",
            "permission": "guillotina.ModifyContent",
            "summary": "Replace the content of this resource",
            "parameters": "guillotina.api.content.patch_content_json_schema_parameters",
            "responses": {
                "200": {
                    "description": "Resource data",
                    "schema": {
                        "$ref": "#/definitions/Resource"
                    }
                }
            },
            "module": "guillotina.api.content.DefaultPUT"
        },
        "DELETE": {
            "context": [
                "guillotina.interfaces.content.IResource",
                "guillotina.interfaces.content.ILocation",
                "zope.interface.Interface"
            ],
            "method": "DELETE",
            "permission": "guillotina.DeleteContent",
            "summary": "Delete resource",
            "responses": {
                "200": {
                    "description": "Successfully deleted resource"
                }
            },
            "module": "guillotina.api.content.DefaultDELETE"
        },
        "OPTIONS": {
            "context": [
                "guillotina.interfaces.content.IResource",
                "guillotina.interfaces.content.ILocation",
                "zope.interface.Interface"
            ],
            "method": "OPTIONS",
            "permission": "guillotina.AccessPreflight",
            "summary": "Get CORS information for resource",
            "module": "guillotina.api.content.DefaultOPTIONS"
        }
    },
    "guillotina.interfaces.content.IFolder": {
        "endpoints": {
            "@ids": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IFolder",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "name": "@ids",
                    "permission": "guillotina.Manage",
                    "summary": "Return a list of ids in the resource",
                    "responses": {
                        "200": {
                            "description": "Successfully returned list of ids"
                        }
                    },
                    "module": "guillotina.api.content.ids"
                }
            },
            "@items": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IFolder",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "name": "@items",
                    "permission": "guillotina.Manage",
                    "summary": "Paginated list of sub objects",
                    "parameters": [
                        {
                            "name": "include",
                            "in": "query",
                            "type": "string"
                        },
                        {
                            "name": "omit",
                            "in": "query",
                            "type": "string"
                        },
                        {
                            "name": "page_size",
                            "in": "query",
                            "type": "number",
                            "default": 20
                        },
                        {
                            "name": "page",
                            "in": "query",
                            "type": "number",
                            "default": 1
                        }
                    ],
                    "responses": {
                        "200": {
                            "description": "Successfully returned response object"
                        }
                    },
                    "module": "guillotina.api.content.items"
                }
            }
        }
    },
    "guillotina.interfaces.content.IAsyncContainer": {
        "endpoints": {
            "@addable-types": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IAsyncContainer",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "name": "@addable-types",
                    "permission": "guillotina.AddContent",
                    "summary": "Return a list of type names that can be added to container",
                    "responses": {
                        "200": {
                            "description": "Successfully returned list of type names"
                        }
                    },
                    "module": "guillotina.api.content.addable_types"
                }
            }
        }
    },
    "zope.interface.Interface": {
        "endpoints": {
            "@invalidate-cache": {
                "GET": {
                    "method": "GET",
                    "name": "@invalidate-cache",
                    "permission": "guillotina.ModifyContent",
                    "summary": "Invalidate cache of object",
                    "responses": {
                        "200": {
                            "description": "Successfully invalidated"
                        }
                    },
                    "module": "guillotina.api.content.invalidate_cache"
                }
            }
        }
    },
    "guillotina.interfaces.content.IDatabase": {
        "GET": {
            "context": [
                "guillotina.interfaces.content.IDatabase",
                "guillotina.interfaces.content.ITraversable",
                "guillotina.interfaces.content.IAsyncContainer",
                "zope.interface.Interface"
            ],
            "method": "GET",
            "permission": "guillotina.GetContainers",
            "summary": "Get list of containers",
            "responses": {
                "200": {
                    "description": "Get a list of containers",
                    "schema": {
                        "properties": {
                            "containers": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            },
            "module": "guillotina.api.container.DefaultGET"
        },
        "POST": {
            "context": [
                "guillotina.interfaces.content.IDatabase",
                "guillotina.interfaces.content.ITraversable",
                "guillotina.interfaces.content.IAsyncContainer",
                "zope.interface.Interface"
            ],
            "method": "POST",
            "permission": "guillotina.AddContainer",
            "summary": "Create a new Container",
            "description": "Creates a new container on the database",
            "parameters": [
                {
                    "name": "body",
                    "in": "body",
                    "schema": {
                        "$ref": "#/definitions/BaseResource",
                        "properties": {
                            "@addons": {
                                "type": "string"
                            }
                        }
                    }
                }
            ],
            "responses": {
                "200": {
                    "description": "Container result",
                    "schema": {
                        "$ref": "#/definitions/BaseResource"
                    }
                }
            },
            "module": "guillotina.api.container.DefaultPOST"
        },
        "DELETE": {
            "context": [
                "guillotina.interfaces.content.IDatabase",
                "guillotina.interfaces.content.ITraversable",
                "guillotina.interfaces.content.IAsyncContainer",
                "zope.interface.Interface"
            ],
            "method": "DELETE",
            "permission": "guillotina.UmountDatabase",
            "ignore": true,
            "module": "guillotina.api.container.NotImplemented"
        }
    },
    "guillotina.interfaces.content.IStaticFile": {
        "GET": {
            "context": [
                "guillotina.interfaces.content.IStaticFile",
                "zope.interface.Interface"
            ],
            "method": "GET",
            "permission": "guillotina.AccessContent",
            "module": "guillotina.api.files.FileGET"
        }
    },
    "guillotina.interfaces.content.IStaticDirectory": {
        "GET": {
            "context": [
                "guillotina.interfaces.content.IStaticDirectory",
                "guillotina.interfaces.content.ITraversable",
                "zope.interface.Interface"
            ],
            "method": "GET",
            "permission": "guillotina.AccessContent",
            "module": "guillotina.api.files.DirectoryGET"
        }
    }
}
Status Codes:

GET GET

Get all registered subscribers

  • Permission: guillotina.ReadConfiguration
  • Context: guillotina.interfaces.content.IApplication

http

GET /@component-subscribers HTTP/1.1
Accept: application/json
Authorization: Basic cm9vdDpyb290

curl

curl -i http://nohost/@component-subscribers -H 'Accept: application/json' --user root:root

httpie

http http://nohost/@component-subscribers Accept:application/json -a root:root

response

HTTP/1.1 200 OK
Content-Length: 814
Content-Type: application/json

{
    "guillotina.interfaces.content.IResource": {
        "guillotina.interfaces.events.IObjectPermissionsModifiedEvent": [
            "guillotina.catalog.index.security_changed"
        ],
        "guillotina.interfaces.events.IObjectMovedEvent": [
            "guillotina.catalog.index.moved_object"
        ],
        "guillotina.interfaces.events.IObjectRemovedEvent": [
            "guillotina.catalog.index.remove_object"
        ],
        "guillotina.interfaces.events.IObjectModifiedEvent": [
            "guillotina.catalog.index.add_object",
            "guillotina.subscribers.modified_object"
        ],
        "guillotina.interfaces.events.IObjectAddedEvent": [
            "guillotina.catalog.index.add_object"
        ]
    },
    "guillotina.interfaces.content.IContainer": {
        "guillotina.interfaces.events.IObjectAddedEvent": [
            "guillotina.catalog.index.initialize_catalog"
        ],
        "guillotina.interfaces.events.IObjectRemovedEvent": [
            "guillotina.catalog.index.remove_catalog"
        ]
    }
}
Status Codes: