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-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-Type: application/json

{
    "guillotina.interfaces.content.IContainer": {
        "endpoints": {
            "@addons": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                    "validate": true,
                    "requestBody": {
                        "required": true,
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Addon"
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.addons.install",
                    "route": [
                        "@addons"
                    ]
                },
                "DELETE": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                    "validate": true,
                    "requestBody": {
                        "required": true,
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Addon"
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.addons.uninstall",
                    "route": [
                        "@addons"
                    ]
                },
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                            "content": {
                                "application/json": {
                                    "schema": {
                                        "$ref": "#/components/schemas/AddonResponse"
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.addons.get_addons",
                    "route": [
                        "@addons"
                    ]
                }
            },
            "@addons/{addon}": {
                "DELETE": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                            "required": true,
                            "schema": {
                                "type": "string"
                            }
                        }
                    ],
                    "module": "guillotina.api.addons.uninstall_path",
                    "route": [
                        "@addons",
                        "{addon}"
                    ]
                }
            },
            "@resolveuid/{uid}": {
                "GET": {
                    "method": "GET",
                    "name": "@resolveuid/{uid}",
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                    "parameters": [
                        {
                            "in": "path",
                            "name": "uid",
                            "required": true,
                            "schema": {
                                "type": "string"
                            }
                        }
                    ],
                    "responses": {
                        "200": {
                            "description": "Successful"
                        }
                    },
                    "module": "guillotina.api.content.resolve_uid",
                    "route": [
                        "@resolveuid",
                        "{uid}"
                    ]
                }
            },
            "@login": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                    "route": [
                        "@login"
                    ]
                }
            },
            "@login-renew": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "permission": "guillotina.RefreshToken",
                    "name": "@login-renew",
                    "summary": "Refresh to a new token",
                    "allow_access": true,
                    "module": "guillotina.api.login.Refresh",
                    "route": [
                        "@login-renew"
                    ]
                }
            },
            "@logout": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "permission": "guillotina.Logout",
                    "name": "@logout",
                    "summary": "Logout application",
                    "allow_access": true,
                    "module": "guillotina.api.login.Logout",
                    "route": [
                        "@logout"
                    ]
                }
            },
            "@users/{user}/sessions": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "name": "@users/{user}/sessions",
                    "method": "GET",
                    "permission": "guillotina.SeeSession",
                    "responses": {
                        "200": {
                            "description": "Sessions enabled"
                        }
                    },
                    "summary": "See open sessions",
                    "allow_access": true,
                    "module": "guillotina.api.login.CheckSessions",
                    "route": [
                        "@users",
                        "{user}",
                        "sessions"
                    ]
                }
            },
            "@users/{user}/session/{session}": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "name": "@users/{user}/session/{session}",
                    "method": "GET",
                    "permission": "guillotina.SeeSession",
                    "responses": {
                        "200": {
                            "description": "Check session information"
                        }
                    },
                    "summary": "See open session information",
                    "allow_access": true,
                    "module": "guillotina.api.login.GetSession",
                    "route": [
                        "@users",
                        "{user}",
                        "session",
                        "{session}"
                    ]
                }
            },
            "@users/{user}/reset-password": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "name": "@users/{user}/reset-password",
                    "method": "POST",
                    "permission": "guillotina.Public",
                    "responses": {
                        "200": {
                            "description": "Reset password"
                        }
                    },
                    "summary": "Reset password",
                    "allow_access": true,
                    "module": "guillotina.api.login.ResetPasswordUsers",
                    "route": [
                        "@users",
                        "{user}",
                        "reset-password"
                    ]
                }
            },
            "@validate_schema/{token}": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "name": "@validate_schema/{token}",
                    "method": "POST",
                    "permission": "guillotina.Public",
                    "responses": {
                        "200": {
                            "description": "Validate operation"
                        }
                    },
                    "summary": "Validate operation",
                    "allow_access": true,
                    "module": "guillotina.api.login.ValidateSchema",
                    "route": [
                        "@validate_schema",
                        "{token}"
                    ]
                }
            },
            "@validate/{token}": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "name": "@validate/{token}",
                    "method": "POST",
                    "permission": "guillotina.Public",
                    "responses": {
                        "200": {
                            "description": "Validate operation"
                        }
                    },
                    "summary": "Validate operation",
                    "allow_access": true,
                    "module": "guillotina.api.login.ValidateOperation",
                    "route": [
                        "@validate",
                        "{token}"
                    ]
                }
            },
            "@users": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "name": "@users",
                    "method": "POST",
                    "permission": "guillotina.Public",
                    "responses": {
                        "200": {
                            "description": "Register a user"
                        }
                    },
                    "summary": "Register Users",
                    "allow_access": true,
                    "module": "guillotina.api.login.RegisterUsers",
                    "route": [
                        "@users"
                    ]
                }
            },
            "@info": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "name": "@info",
                    "method": "GET",
                    "permission": "guillotina.Public",
                    "responses": {
                        "200": {
                            "description": "Get public information about user access",
                            "content": {
                                "application/json": {
                                    "schema": {
                                        "type": "object",
                                        "properties": {
                                            "register": {
                                                "type": "boolean"
                                            },
                                            "title": {
                                                "type": "string"
                                            },
                                            "social": {
                                                "type": "array"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "summary": "Info Access",
                    "allow_access": true,
                    "module": "guillotina.api.login.InfoAccess",
                    "route": [
                        "@info"
                    ]
                }
            },
            "@metadata": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.SearchContent",
                    "name": "@metadata",
                    "summary": "Get available Indexes",
                    "responses": {
                        "200": {
                            "description": "Result results on indices",
                            "content": {
                                "application/json": {
                                    "schema": {
                                        "type": "object",
                                        "properties": {
                                            "@id": {
                                                "type": "string"
                                            },
                                            "types": {
                                                "type": "object"
                                            },
                                            "behaviors": {
                                                "type": "object"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.metadata.get_all_indices",
                    "route": [
                        "@metadata"
                    ]
                }
            },
            "@registry/{key}": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                    "parameters": [
                        {
                            "in": "path",
                            "name": "key",
                            "required": true,
                            "schema": {
                                "type": "string"
                            }
                        }
                    ],
                    "responses": {
                        "200": {
                            "description": "Successfully registered interface",
                            "content": {
                                "application/json": {
                                    "schema": {
                                        "type": "object",
                                        "properties": {
                                            "value": {
                                                "type": "object"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.registry.Read",
                    "route": [
                        "@registry",
                        "{key}"
                    ]
                }
            },
            "@registry": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                            "content": {
                                "application/json": {
                                    "schema": {
                                        "type": "object",
                                        "properties": {
                                            "value": {
                                                "type": "object"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.registry.get_registry_service",
                    "route": [
                        "@registry"
                    ]
                },
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                    "validate": true,
                    "requestBody": {
                        "required": true,
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "title": "Registry",
                                    "properties": {
                                        "interface": {
                                            "type": "string"
                                        },
                                        "initial_values": {
                                            "type": "object"
                                        }
                                    },
                                    "required": [
                                        "interface"
                                    ]
                                }
                            }
                        }
                    },
                    "responses": {
                        "200": {
                            "description": "Successfully registered interface"
                        }
                    },
                    "module": "guillotina.api.registry.Register",
                    "route": [
                        "@registry"
                    ]
                }
            },
            "@registry/{dotted_name}": {
                "PATCH": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                    "validate": true,
                    "parameters": [
                        {
                            "in": "path",
                            "name": "dotter_name",
                            "required": true,
                            "schema": {
                                "type": "string"
                            }
                        }
                    ],
                    "requestBody": {
                        "required": true,
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UpdateRegistry"
                                }
                            }
                        }
                    },
                    "responses": {
                        "200": {
                            "description": "Successfully wrote configuration"
                        }
                    },
                    "module": "guillotina.api.registry.Write",
                    "route": [
                        "@registry",
                        "{dotted_name}"
                    ]
                }
            },
            "@types": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                            "content": {
                                "application/json": {
                                    "schema": {
                                        "properties": {}
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.types.get_all_types",
                    "route": [
                        "@types"
                    ]
                }
            },
            "@types/{type_name}": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                    "parameters": [
                        {
                            "in": "path",
                            "name": "type_name",
                            "required": true,
                            "schema": {
                                "type": "string"
                            }
                        }
                    ],
                    "responses": {
                        "200": {
                            "description": "Result results on types",
                            "content": {
                                "application/json": {
                                    "schema": {
                                        "properties": {}
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.types.Read",
                    "route": [
                        "@types",
                        "{type_name}"
                    ]
                }
            },
            "@user": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                            "content": {
                                "application/json": {
                                    "schema": {
                                        "properties": {}
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.user.get_user_info",
                    "route": [
                        "@user"
                    ]
                }
            },
            "@wstoken": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                            "content": {
                                "application/json": {
                                    "schema": {
                                        "properties": {
                                            "token": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.ws.WebsocketGetToken",
                    "route": [
                        "@wstoken"
                    ]
                }
            },
            "@ws": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                    "route": [
                        "@ws"
                    ]
                }
            }
        },
        "DELETE": {
            "context": [
                "guillotina.interfaces.content.IContainer",
                "guillotina.interfaces.content.IResource",
                "guillotina.db.orm.interfaces.IBaseObject",
                "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",
            "route": []
        }
    },
    "guillotina.interfaces.content.IResource": {
        "endpoints": {
            "@aggregation": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.AccessContent",
                    "name": "@aggregation",
                    "summary": "Make aggregation request",
                    "responses": {
                        "200": {
                            "description": "aggregation results",
                            "content": {
                                "application/json": {
                                    "schema": {
                                        "type": "object",
                                        "properties": {
                                            "count": {
                                                "type": "integer"
                                            },
                                            "items": {
                                                "type": "array"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.aggregation.aggregation_get",
                    "route": [
                        "@aggregation"
                    ]
                }
            },
            "@behaviors": {
                "PATCH": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "PATCH",
                    "permission": "guillotina.ModifyContent",
                    "name": "@behaviors",
                    "summary": "Add behavior to resource",
                    "validate": true,
                    "requestBody": {
                        "required": true,
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Behavior"
                                }
                            }
                        }
                    },
                    "responses": {
                        "200": {
                            "description": "Successfully added behavior"
                        },
                        "412": {
                            "description": "Behavior already assigned here"
                        }
                    },
                    "module": "guillotina.api.behaviors.default_patch",
                    "route": [
                        "@behaviors"
                    ]
                },
                "DELETE": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "DELETE",
                    "permission": "guillotina.ModifyContent",
                    "name": "@behaviors",
                    "summary": "Remove behavior from resource",
                    "validate": true,
                    "requestBody": {
                        "required": true,
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Behavior"
                                }
                            }
                        }
                    },
                    "responses": {
                        "200": {
                            "description": "Successfully removed behavior"
                        },
                        "412": {
                            "description": "Behavior not assigned here"
                        }
                    },
                    "module": "guillotina.api.behaviors.default_delete",
                    "route": [
                        "@behaviors"
                    ]
                },
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                            "content": {
                                "application/json": {
                                    "schema": {
                                        "$ref": "#/components/schemas/BehaviorsResponse"
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.behaviors.default_get",
                    "route": [
                        "@behaviors"
                    ]
                }
            },
            "@behaviors/{behavior}": {
                "DELETE": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "DELETE",
                    "permission": "guillotina.ModifyContent",
                    "name": "@behaviors/{behavior}",
                    "summary": "Remove behavior from resource",
                    "parameters": [
                        {
                            "in": "path",
                            "name": "key",
                            "required": true,
                            "schema": {
                                "type": "string"
                            }
                        }
                    ],
                    "requestBody": {
                        "required": true,
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Behavior"
                                }
                            }
                        }
                    },
                    "responses": {
                        "200": {
                            "description": "Successfully removed behavior"
                        },
                        "412": {
                            "description": "Behavior not assigned here"
                        }
                    },
                    "module": "guillotina.api.behaviors.default_delete_withparams",
                    "route": [
                        "@behaviors",
                        "{behavior}"
                    ]
                }
            },
            "@sharing": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                            "content": {
                                "application/json": {
                                    "schema": {
                                        "$ref": "#/components/schemas/ResourceACL"
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.content.sharing_get",
                    "route": [
                        "@sharing"
                    ]
                },
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "permission": "guillotina.ChangePermissions",
                    "name": "@sharing",
                    "summary": "Change permissions for a resource",
                    "validate": true,
                    "requestBody": {
                        "required": true,
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Permissions"
                                }
                            }
                        }
                    },
                    "responses": {
                        "200": {
                            "description": "Successfully changed permission"
                        }
                    },
                    "module": "guillotina.api.content.SharingPOST",
                    "route": [
                        "@sharing"
                    ]
                },
                "PUT": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "PUT",
                    "permission": "guillotina.ChangePermissions",
                    "name": "@sharing",
                    "summary": "Replace permissions for a resource",
                    "validate": true,
                    "requestBody": {
                        "required": true,
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Permissions"
                                }
                            }
                        }
                    },
                    "responses": {
                        "200": {
                            "description": "Successfully replaced permissions"
                        }
                    },
                    "module": "guillotina.api.content.SharingPUT",
                    "route": [
                        "@sharing"
                    ]
                }
            },
            "@all_permissions": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                            "content": {
                                "application/json": {
                                    "schema": {
                                        "$ref": "#/components/schemas/AllPermissions"
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.content.all_permissions",
                    "route": [
                        "@all_permissions"
                    ]
                }
            },
            "@canido": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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,
                            "schema": {
                                "type": "string"
                            }
                        }
                    ],
                    "responses": {
                        "200": {
                            "description": "Successfully changed permission"
                        }
                    },
                    "module": "guillotina.api.content.can_i_do",
                    "route": [
                        "@canido"
                    ]
                }
            },
            "@move": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "name": "@move",
                    "permission": "guillotina.MoveContent",
                    "summary": "Move resource",
                    "requestBody": {
                        "required": true,
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "destination": {
                                            "type": "string",
                                            "description": "Absolute path to destination object from container or destination uid"
                                        },
                                        "new_id": {
                                            "type": "string",
                                            "description": "Optional new id to assign object"
                                        }
                                    },
                                    "additionalProperties": false
                                }
                            }
                        }
                    },
                    "responses": {
                        "200": {
                            "description": "Successfully moved resource"
                        }
                    },
                    "module": "guillotina.api.content.move",
                    "route": [
                        "@move"
                    ]
                }
            },
            "@duplicate": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "name": "@duplicate",
                    "permission": "guillotina.DuplicateContent",
                    "summary": "Duplicate resource",
                    "requestBody": {
                        "required": true,
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "destination": {
                                            "type": "string",
                                            "description": "Absolute path to destination object from container or destination uid"
                                        },
                                        "new_id": {
                                            "type": "string",
                                            "description": "Optional new id to assign object"
                                        },
                                        "reset_acl": {
                                            "type": "bool",
                                            "description": "Remove users and roles from acl, except for the request user",
                                            "default": false
                                        }
                                    },
                                    "additionalProperties": false
                                }
                            }
                        }
                    },
                    "responses": {
                        "200": {
                            "description": "Successfully duplicated object"
                        }
                    },
                    "module": "guillotina.api.content.duplicate",
                    "route": [
                        "@duplicate"
                    ]
                }
            },
            "@fieldvalue/{dotted_name}": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                    "route": [
                        "@fieldvalue",
                        "{dotted_name}"
                    ]
                }
            },
            "@dynamic-fields": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                    "route": [
                        "@dynamic-fields"
                    ]
                }
            },
            "@upload/{field_name}/{file_key}": {
                "PATCH": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "PATCH",
                    "permission": "guillotina.ModifyContent",
                    "name": "@upload/{field_name}/{file_key}",
                    "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,
                                    "schema": {
                                        "type": "string"
                                    }
                                },
                                {
                                    "name": "file_key",
                                    "in": "path",
                                    "required": true,
                                    "schema": {
                                        "type": "string"
                                    }
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully updated content"
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.UploadFile",
                    "route": [
                        "@upload",
                        "{field_name}",
                        "{file_key}"
                    ]
                }
            },
            "@upload/{field_name}": {
                "PATCH": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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,
                                    "schema": {
                                        "type": "string"
                                    }
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully updated content"
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.UploadFile",
                    "route": [
                        "@upload",
                        "{field_name}"
                    ]
                }
            },
            "@delete/{field_name}/{file_key}": {
                "DELETE": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "DELETE",
                    "permission": "guillotina.DeleteContent",
                    "name": "@delete/{field_name}/{file_key}",
                    "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,
                                    "schema": {
                                        "type": "string"
                                    }
                                },
                                {
                                    "name": "file_key",
                                    "in": "path",
                                    "required": true,
                                    "schema": {
                                        "type": "string"
                                    }
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully updated content"
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.DeleteFile",
                    "route": [
                        "@delete",
                        "{field_name}",
                        "{file_key}"
                    ]
                }
            },
            "@delete/{field_name}": {
                "DELETE": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "DELETE",
                    "permission": "guillotina.DeleteContent",
                    "name": "@delete/{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,
                                    "schema": {
                                        "type": "string"
                                    }
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully updated content"
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.DeleteFile",
                    "route": [
                        "@delete",
                        "{field_name}"
                    ]
                }
            },
            "@download/{field_name}/{file_key}": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.ViewContent",
                    "name": "@download/{field_name}/{file_key}",
                    "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,
                                    "schema": {
                                        "type": "string"
                                    }
                                },
                                {
                                    "name": "file_key",
                                    "in": "path",
                                    "required": true,
                                    "schema": {
                                        "type": "string"
                                    }
                                },
                                {
                                    "name": "filename",
                                    "in": "query",
                                    "required": false,
                                    "schema": {
                                        "type": "string"
                                    }
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully updated content"
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.DownloadFile",
                    "route": [
                        "@download",
                        "{field_name}",
                        "{file_key}"
                    ]
                },
                "HEAD": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "HEAD",
                    "permission": "guillotina.ViewContent",
                    "name": "@download/{field_name}/{file_key}",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "summary": "HEAD download",
                            "parameters": [
                                {
                                    "name": "field_name",
                                    "in": "path",
                                    "description": "Name of file field",
                                    "required": true,
                                    "schema": {
                                        "type": "string"
                                    }
                                },
                                {
                                    "name": "file_key",
                                    "in": "path",
                                    "required": true,
                                    "schema": {
                                        "type": "string"
                                    }
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully updated content"
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.HeadFile",
                    "route": [
                        "@download",
                        "{field_name}",
                        "{file_key}"
                    ]
                }
            },
            "@download/{field_name}": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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,
                                    "schema": {
                                        "type": "string"
                                    }
                                },
                                {
                                    "name": "filename",
                                    "in": "query",
                                    "required": false,
                                    "schema": {
                                        "type": "string"
                                    }
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully updated content"
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.DownloadFile",
                    "route": [
                        "@download",
                        "{field_name}"
                    ]
                },
                "HEAD": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "HEAD",
                    "permission": "guillotina.ViewContent",
                    "name": "@download/{field_name}",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "summary": "HEAD download",
                            "parameters": [
                                {
                                    "name": "field_name",
                                    "in": "path",
                                    "description": "Name of file field",
                                    "required": true,
                                    "schema": {
                                        "type": "string"
                                    }
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully updated content"
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.HeadFile",
                    "route": [
                        "@download",
                        "{field_name}"
                    ]
                }
            },
            "@tusupload/{field_name}/{file_key}": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "permission": "guillotina.ModifyContent",
                    "name": "@tusupload/{field_name}/{file_key}",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "summary": "TUS endpoint",
                            "parameters": [
                                {
                                    "name": "field_name",
                                    "in": "path",
                                    "description": "Name of file field",
                                    "required": true,
                                    "schema": {
                                        "type": "string"
                                    }
                                },
                                {
                                    "name": "file_key",
                                    "in": "path",
                                    "required": true,
                                    "schema": {
                                        "type": "string"
                                    }
                                },
                                {
                                    "name": "Upload-Offset",
                                    "in": "headers",
                                    "required": true,
                                    "schema": {
                                        "type": "integer"
                                    }
                                },
                                {
                                    "name": "UPLOAD-LENGTH",
                                    "in": "headers",
                                    "required": true,
                                    "schema": {
                                        "type": "integer"
                                    }
                                },
                                {
                                    "name": "UPLOAD-MD5",
                                    "in": "headers",
                                    "required": false,
                                    "schema": {
                                        "type": "string"
                                    }
                                },
                                {
                                    "name": "UPLOAD-EXTENSION",
                                    "in": "headers",
                                    "required": false,
                                    "schema": {
                                        "type": "string"
                                    }
                                },
                                {
                                    "name": "TUS-RESUMABLE",
                                    "in": "headers",
                                    "required": true,
                                    "schema": {
                                        "type": "string"
                                    }
                                },
                                {
                                    "name": "UPLOAD-METADATA",
                                    "in": "headers",
                                    "required": false,
                                    "schema": {
                                        "type": "string"
                                    }
                                }
                            ],
                            "responses": {
                                "204": {
                                    "description": "Successfully patched data",
                                    "headers": {
                                        "Location": {
                                            "schema": {
                                                "type": "string"
                                            }
                                        },
                                        "Tus-Resumable": {
                                            "schema": {
                                                "type": "string"
                                            }
                                        },
                                        "Access-Control-Expose-Headers": {
                                            "schema": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.TusCreateFile",
                    "route": [
                        "@tusupload",
                        "{field_name}",
                        "{file_key}"
                    ]
                },
                "HEAD": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "HEAD",
                    "permission": "guillotina.ModifyContent",
                    "name": "@tusupload/{field_name}/{file_key}",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "summary": "TUS endpoint",
                            "parameters": [
                                {
                                    "name": "field_name",
                                    "in": "path",
                                    "description": "Name of file field",
                                    "required": true,
                                    "schema": {
                                        "type": "string"
                                    }
                                },
                                {
                                    "name": "file_key",
                                    "in": "path",
                                    "required": true,
                                    "schema": {
                                        "type": "string"
                                    }
                                }
                            ],
                            "responses": {
                                "204": {
                                    "description": "Successfully patched data",
                                    "headers": {
                                        "Location": {
                                            "schema": {
                                                "type": "string"
                                            }
                                        },
                                        "Tus-Resumable": {
                                            "schema": {
                                                "type": "string"
                                            }
                                        },
                                        "Access-Control-Expose-Headers": {
                                            "schema": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.TusHeadFile",
                    "route": [
                        "@tusupload",
                        "{field_name}",
                        "{file_key}"
                    ]
                },
                "PATCH": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "PATCH",
                    "permission": "guillotina.ModifyContent",
                    "name": "@tusupload/{field_name}/{file_key}",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "summary": "TUS endpoint",
                            "parameters": [
                                {
                                    "name": "field_name",
                                    "in": "path",
                                    "description": "Name of file field",
                                    "required": true,
                                    "schema": {
                                        "type": "string"
                                    }
                                },
                                {
                                    "name": "Upload-Offset",
                                    "in": "headers",
                                    "required": true,
                                    "schema": {
                                        "type": "integer"
                                    }
                                },
                                {
                                    "name": "CONTENT-LENGTH",
                                    "in": "headers",
                                    "required": true,
                                    "schema": {
                                        "type": "integer"
                                    }
                                },
                                {
                                    "name": "file_key",
                                    "in": "path",
                                    "required": true,
                                    "schema": {
                                        "type": "string"
                                    }
                                }
                            ],
                            "responses": {
                                "204": {
                                    "description": "Successfully patched data",
                                    "headers": {
                                        "Upload-Offset": {
                                            "schema": {
                                                "type": "integer"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.TusPatchFile",
                    "route": [
                        "@tusupload",
                        "{field_name}",
                        "{file_key}"
                    ]
                },
                "OPTIONS": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "OPTIONS",
                    "permission": "guillotina.AccessPreflight",
                    "name": "@tusupload/{field_name}/{file_key}",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "summary": "TUS endpoint",
                            "parameters": [
                                {
                                    "name": "field_name",
                                    "in": "path",
                                    "description": "Name of file field",
                                    "required": true,
                                    "schema": {
                                        "type": "string"
                                    }
                                },
                                {
                                    "name": "file_key",
                                    "in": "path",
                                    "required": true,
                                    "schema": {
                                        "type": "string"
                                    }
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully returned tus info",
                                    "headers": {
                                        "Tus-Version": {
                                            "schema": {
                                                "type": "string"
                                            }
                                        },
                                        "Tus-Resumable": {
                                            "schema": {
                                                "type": "string"
                                            }
                                        },
                                        "Tus-Max-Size": {
                                            "schema": {
                                                "type": "string"
                                            }
                                        },
                                        "Tus-Extension": {
                                            "schema": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.TusOptionsFile",
                    "route": [
                        "@tusupload",
                        "{field_name}",
                        "{file_key}"
                    ]
                }
            },
            "@tusupload/{field_name}": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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,
                                    "schema": {
                                        "type": "string"
                                    }
                                },
                                {
                                    "name": "Upload-Offset",
                                    "in": "headers",
                                    "required": true,
                                    "schema": {
                                        "type": "integer"
                                    }
                                },
                                {
                                    "name": "UPLOAD-LENGTH",
                                    "in": "headers",
                                    "required": true,
                                    "schema": {
                                        "type": "integer"
                                    }
                                },
                                {
                                    "name": "UPLOAD-MD5",
                                    "in": "headers",
                                    "required": false,
                                    "schema": {
                                        "type": "string"
                                    }
                                },
                                {
                                    "name": "UPLOAD-EXTENSION",
                                    "in": "headers",
                                    "required": false,
                                    "schema": {
                                        "type": "string"
                                    }
                                },
                                {
                                    "name": "TUS-RESUMABLE",
                                    "in": "headers",
                                    "required": true,
                                    "schema": {
                                        "type": "string"
                                    }
                                },
                                {
                                    "name": "UPLOAD-METADATA",
                                    "in": "headers",
                                    "required": false,
                                    "schema": {
                                        "type": "string"
                                    }
                                }
                            ],
                            "responses": {
                                "204": {
                                    "description": "Successfully patched data",
                                    "headers": {
                                        "Location": {
                                            "schema": {
                                                "type": "string"
                                            }
                                        },
                                        "Tus-Resumable": {
                                            "schema": {
                                                "type": "string"
                                            }
                                        },
                                        "Access-Control-Expose-Headers": {
                                            "schema": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.TusCreateFile",
                    "route": [
                        "@tusupload",
                        "{field_name}"
                    ]
                },
                "HEAD": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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,
                                    "schema": {
                                        "type": "string"
                                    }
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully patched data",
                                    "headers": {
                                        "Location": {
                                            "schema": {
                                                "type": "string"
                                            }
                                        },
                                        "Tus-Resumable": {
                                            "schema": {
                                                "type": "string"
                                            }
                                        },
                                        "Access-Control-Expose-Headers": {
                                            "schema": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.TusHeadFile",
                    "route": [
                        "@tusupload",
                        "{field_name}"
                    ]
                },
                "PATCH": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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,
                                    "schema": {
                                        "type": "string"
                                    }
                                },
                                {
                                    "name": "Upload-Offset",
                                    "in": "headers",
                                    "required": true,
                                    "schema": {
                                        "type": "integer"
                                    }
                                },
                                {
                                    "name": "CONTENT-LENGTH",
                                    "in": "headers",
                                    "required": true,
                                    "schema": {
                                        "type": "integer"
                                    }
                                }
                            ],
                            "responses": {
                                "204": {
                                    "description": "Successfully patched data",
                                    "headers": {
                                        "Upload-Offset": {
                                            "schema": {
                                                "type": "integer"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.TusPatchFile",
                    "route": [
                        "@tusupload",
                        "{field_name}"
                    ]
                },
                "OPTIONS": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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,
                                    "schema": {
                                        "type": "string"
                                    }
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully returned tus info",
                                    "headers": {
                                        "Tus-Version": {
                                            "schema": {
                                                "type": "string"
                                            }
                                        },
                                        "Tus-Resumable": {
                                            "schema": {
                                                "type": "string"
                                            }
                                        },
                                        "Tus-Max-Size": {
                                            "schema": {
                                                "type": "string"
                                            }
                                        },
                                        "Tus-Extension": {
                                            "schema": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.files.TusOptionsFile",
                    "route": [
                        "@tusupload",
                        "{field_name}"
                    ]
                }
            },
            "@search": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.SearchContent",
                    "name": "@search",
                    "validate": true,
                    "parameters": [
                        {
                            "in": "query",
                            "required": false,
                            "name": "term",
                            "description": "Generic search term support. See modifier list below for usage.",
                            "schema": {
                                "type": "string"
                            }
                        },
                        {
                            "in": "query",
                            "required": false,
                            "name": "_from",
                            "description": "Start with search result _from.",
                            "schema": {
                                "type": "string"
                            }
                        },
                        {
                            "in": "query",
                            "required": false,
                            "name": "_size",
                            "description": "Size of result set. Max to 50 (app_settings.catalog_max_results).",
                            "schema": {
                                "type": "string"
                            }
                        },
                        {
                            "in": "query",
                            "required": false,
                            "name": "_sort_asc",
                            "description": "Sort ascending by index _sort_asc.",
                            "schema": {
                                "type": "string"
                            }
                        },
                        {
                            "in": "query",
                            "required": false,
                            "name": "_sort_des",
                            "description": "Sort descending by index _sort_des.",
                            "schema": {
                                "type": "string"
                            }
                        },
                        {
                            "in": "query",
                            "required": false,
                            "name": "_metadata",
                            "description": "List of metadata fields to include",
                            "schema": {
                                "type": "string"
                            }
                        },
                        {
                            "in": "query",
                            "required": false,
                            "name": "_metadata_not",
                            "description": "List of metadata fields to exclude",
                            "schema": {
                                "type": "string"
                            }
                        },
                        {
                            "in": "query",
                            "required": false,
                            "name": "__eq",
                            "schema": {
                                "type": "string"
                            }
                        },
                        {
                            "in": "query",
                            "required": false,
                            "name": "__not",
                            "schema": {
                                "type": "string"
                            }
                        },
                        {
                            "in": "query",
                            "required": false,
                            "name": "__gt",
                            "schema": {
                                "type": "string"
                            }
                        },
                        {
                            "in": "query",
                            "required": false,
                            "name": "__gte",
                            "schema": {
                                "type": "string"
                            }
                        },
                        {
                            "in": "query",
                            "required": false,
                            "name": "__lte",
                            "schema": {
                                "type": "string"
                            }
                        },
                        {
                            "in": "query",
                            "required": false,
                            "name": "__lt",
                            "schema": {
                                "type": "string"
                            }
                        },
                        {
                            "in": "query",
                            "required": false,
                            "name": "__in",
                            "schema": {
                                "type": "string"
                            }
                        }
                    ],
                    "summary": "Make search request",
                    "responses": {
                        "200": {
                            "description": "Search results",
                            "content": {
                                "application/json": {
                                    "schema": {
                                        "type": "object",
                                        "$ref": "#/components/schemas/SearchResults"
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.search.search_get",
                    "route": [
                        "@search"
                    ]
                },
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "permission": "guillotina.RawSearchContent",
                    "name": "@search",
                    "summary": "Make a complex search query",
                    "requestBody": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {}
                                }
                            }
                        }
                    },
                    "responses": {
                        "200": {
                            "description": "Search results",
                            "content": {
                                "application/json": {
                                    "schema": {
                                        "type": "object",
                                        "$ref": "#/components/schemas/SearchResults"
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.search.search_post",
                    "route": [
                        "@search"
                    ]
                }
            },
            "@catalog-reindex": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                    "route": [
                        "@catalog-reindex"
                    ]
                }
            },
            "@async-catalog-reindex": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                    "route": [
                        "@async-catalog-reindex"
                    ]
                }
            },
            "@catalog": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                    "route": [
                        "@catalog"
                    ]
                },
                "DELETE": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                    "route": [
                        "@catalog"
                    ]
                }
            },
            "@vocabularies": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.AccessContent",
                    "name": "@vocabularies",
                    "summary": "Get available vocabularies",
                    "module": "guillotina.api.vocabularies.get_vocabularies",
                    "route": [
                        "@vocabularies"
                    ]
                }
            },
            "@vocabularies/{key}": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.AccessContent",
                    "name": "@vocabularies/{key}",
                    "summary": "Get specific vocabulary",
                    "module": "guillotina.api.vocabularies.get_block_schema",
                    "route": [
                        "@vocabularies",
                        "{key}"
                    ]
                }
            }
        },
        "HEAD": {
            "context": [
                "guillotina.interfaces.content.IResource",
                "guillotina.db.orm.interfaces.IBaseObject",
                "guillotina.interfaces.content.ILocation",
                "zope.interface.Interface"
            ],
            "method": "HEAD",
            "permission": "guillotina.ViewContent",
            "module": "guillotina.api.content.default_head",
            "route": []
        },
        "GET": {
            "context": [
                "guillotina.interfaces.content.IResource",
                "guillotina.db.orm.interfaces.IBaseObject",
                "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",
                    "required": true,
                    "schema": {
                        "type": "string"
                    },
                    "description": " (required)"
                },
                {
                    "name": "omit",
                    "in": "query",
                    "required": true,
                    "schema": {
                        "type": "string"
                    },
                    "description": " (required)"
                }
            ],
            "module": "guillotina.api.content.DefaultGET",
            "route": []
        },
        "POST": {
            "context": [
                "guillotina.interfaces.content.IResource",
                "guillotina.db.orm.interfaces.IBaseObject",
                "guillotina.interfaces.content.ILocation",
                "zope.interface.Interface"
            ],
            "method": "POST",
            "permission": "guillotina.AddContent",
            "summary": "Add new resouce inside this container resource",
            "requestBody": {
                "required": true,
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/AddableResource"
                        }
                    }
                }
            },
            "responses": {
                "200": {
                    "description": "Resource data",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ResourceFolder"
                            }
                        }
                    }
                }
            },
            "module": "guillotina.api.content.DefaultPOST",
            "route": []
        },
        "PATCH": {
            "context": [
                "guillotina.interfaces.content.IResource",
                "guillotina.db.orm.interfaces.IBaseObject",
                "guillotina.interfaces.content.ILocation",
                "zope.interface.Interface"
            ],
            "method": "PATCH",
            "permission": "guillotina.ModifyContent",
            "summary": "Modify the content of this resource",
            "requestBody": "guillotina.api.content.patch_content_json_schema_parameters",
            "responses": {
                "200": {
                    "description": "Resource data",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Resource"
                            }
                        }
                    }
                }
            },
            "module": "guillotina.api.content.DefaultPATCH",
            "route": []
        },
        "PUT": {
            "context": [
                "guillotina.interfaces.content.IResource",
                "guillotina.db.orm.interfaces.IBaseObject",
                "guillotina.interfaces.content.ILocation",
                "zope.interface.Interface"
            ],
            "method": "PUT",
            "permission": "guillotina.ModifyContent",
            "summary": "Replace the content of this resource",
            "requestBody": "guillotina.api.content.patch_content_json_schema_parameters",
            "responses": {
                "200": {
                    "description": "Resource data",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Resource"
                            }
                        }
                    }
                }
            },
            "module": "guillotina.api.content.DefaultPUT",
            "route": []
        },
        "DELETE": {
            "context": [
                "guillotina.interfaces.content.IResource",
                "guillotina.db.orm.interfaces.IBaseObject",
                "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",
            "route": []
        },
        "OPTIONS": {
            "context": [
                "guillotina.interfaces.content.IResource",
                "guillotina.db.orm.interfaces.IBaseObject",
                "guillotina.interfaces.content.ILocation",
                "zope.interface.Interface"
            ],
            "method": "OPTIONS",
            "permission": "guillotina.AccessPreflight",
            "summary": "Get CORS information for resource",
            "module": "guillotina.api.content.DefaultOPTIONS",
            "route": []
        }
    },
    "guillotina.interfaces.content.IApplication": {
        "GET": {
            "context": [
                "guillotina.interfaces.content.IApplication",
                "guillotina.db.orm.interfaces.IBaseObject",
                "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",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/Application"
                            }
                        }
                    }
                }
            },
            "module": "guillotina.api.app.get",
            "route": []
        },
        "endpoints": {
            "@apidefinition": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                    "route": [
                        "@apidefinition"
                    ]
                }
            },
            "@component-subscribers": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                    "route": [
                        "@component-subscribers"
                    ]
                }
            },
            "@login": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                    "route": [
                        "@login"
                    ]
                }
            },
            "@login-renew": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "permission": "guillotina.RefreshToken",
                    "name": "@login-renew",
                    "summary": "Refresh to a new token",
                    "allow_access": true,
                    "module": "guillotina.api.login.Refresh",
                    "route": [
                        "@login-renew"
                    ]
                }
            },
            "@logout": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "permission": "guillotina.Logout",
                    "name": "@logout",
                    "summary": "Logout application",
                    "allow_access": true,
                    "module": "guillotina.api.login.Logout",
                    "route": [
                        "@logout"
                    ]
                }
            },
            "@users/{user}/sessions": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "zope.interface.Interface"
                    ],
                    "name": "@users/{user}/sessions",
                    "method": "GET",
                    "permission": "guillotina.SeeSession",
                    "responses": {
                        "200": {
                            "description": "Sessions enabled"
                        }
                    },
                    "summary": "See open sessions",
                    "allow_access": true,
                    "module": "guillotina.api.login.CheckSessions",
                    "route": [
                        "@users",
                        "{user}",
                        "sessions"
                    ]
                }
            },
            "@users/{user}/session/{session}": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "zope.interface.Interface"
                    ],
                    "name": "@users/{user}/session/{session}",
                    "method": "GET",
                    "permission": "guillotina.SeeSession",
                    "responses": {
                        "200": {
                            "description": "Check session information"
                        }
                    },
                    "summary": "See open session information",
                    "allow_access": true,
                    "module": "guillotina.api.login.GetSession",
                    "route": [
                        "@users",
                        "{user}",
                        "session",
                        "{session}"
                    ]
                }
            },
            "@storages": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.GetDatabases",
                    "name": "@storages",
                    "module": "guillotina.api.storage.storages_get",
                    "route": [
                        "@storages"
                    ]
                }
            },
            "@storages/{storage_id}": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.GetDatabases",
                    "name": "@storages/{storage_id}",
                    "parameters": [
                        {
                            "in": "path",
                            "name": "storage_id",
                            "required": true,
                            "schema": {
                                "type": "string"
                            }
                        }
                    ],
                    "module": "guillotina.api.storage.storage_get",
                    "route": [
                        "@storages",
                        "{storage_id}"
                    ]
                },
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "permission": "guillotina.MountDatabase",
                    "name": "@storages/{storage_id}",
                    "parameters": [
                        {
                            "in": "path",
                            "name": "storage_id",
                            "required": true,
                            "schema": {
                                "type": "string"
                            }
                        }
                    ],
                    "module": "guillotina.api.storage.storage_create_db",
                    "route": [
                        "@storages",
                        "{storage_id}"
                    ]
                }
            },
            "@storages/{storage_id}/{db_id}": {
                "DELETE": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "zope.interface.Interface"
                    ],
                    "method": "DELETE",
                    "permission": "guillotina.UmountDatabase",
                    "name": "@storages/{storage_id}/{db_id}",
                    "parameters": [
                        {
                            "in": "path",
                            "name": "storage_id",
                            "required": true,
                            "schema": {
                                "type": "string"
                            }
                        },
                        {
                            "in": "path",
                            "name": "db_id",
                            "required": true,
                            "schema": {
                                "type": "string"
                            }
                        }
                    ],
                    "module": "guillotina.api.storage.delete_db",
                    "route": [
                        "@storages",
                        "{storage_id}",
                        "{db_id}"
                    ]
                },
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "permission": "guillotina.GetDatabases",
                    "name": "@storages/{storage_id}/{db_id}",
                    "parameters": [
                        {
                            "in": "path",
                            "name": "storage_id",
                            "required": true,
                            "schema": {
                                "type": "string"
                            }
                        },
                        {
                            "in": "path",
                            "name": "db_id",
                            "required": true,
                            "schema": {
                                "type": "string"
                            }
                        }
                    ],
                    "module": "guillotina.api.storage.get_db",
                    "route": [
                        "@storages",
                        "{storage_id}",
                        "{db_id}"
                    ]
                }
            },
            "@user": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                            "content": {
                                "application/json": {
                                    "schema": {
                                        "properties": {}
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.user.get_user_info",
                    "route": [
                        "@user"
                    ]
                }
            },
            "@wstoken": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                            "content": {
                                "application/json": {
                                    "schema": {
                                        "properties": {
                                            "token": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "module": "guillotina.api.ws.WebsocketGetToken",
                    "route": [
                        "@wstoken"
                    ]
                }
            }
        },
        "PUT": {
            "context": [
                "guillotina.interfaces.content.IApplication",
                "guillotina.db.orm.interfaces.IBaseObject",
                "guillotina.interfaces.content.ITraversable",
                "guillotina.interfaces.content.IAsyncContainer",
                "zope.interface.Interface"
            ],
            "method": "PUT",
            "permission": "guillotina.MountDatabase",
            "ignore": true,
            "module": "guillotina.api.container.NotImplemented",
            "route": []
        }
    },
    "guillotina.interfaces.content.IFolder": {
        "endpoints": {
            "@ids": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IFolder",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                    "route": [
                        "@ids"
                    ]
                }
            },
            "@items": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IFolder",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.db.orm.interfaces.IBaseObject",
                        "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",
                            "required": false,
                            "schema": {
                                "type": "string"
                            }
                        },
                        {
                            "name": "omit",
                            "in": "query",
                            "required": false,
                            "schema": {
                                "type": "string"
                            }
                        },
                        {
                            "name": "page_size",
                            "in": "query",
                            "required": false,
                            "schema": {
                                "type": "number"
                            }
                        },
                        {
                            "name": "page",
                            "in": "query",
                            "required": false,
                            "schema": {
                                "type": "number"
                            }
                        }
                    ],
                    "responses": {
                        "200": {
                            "description": "Successfully returned response object"
                        }
                    },
                    "module": "guillotina.api.content.items",
                    "route": [
                        "@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",
                    "route": [
                        "@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",
                    "route": [
                        "@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",
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "containers": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "module": "guillotina.api.container.DefaultGET",
            "route": []
        },
        "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",
            "validate": true,
            "requestBody": {
                "required": true,
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/BaseResource",
                            "properties": {
                                "@addons": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            },
            "responses": {
                "200": {
                    "description": "Container result",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/BaseResource"
                            }
                        }
                    }
                }
            },
            "module": "guillotina.api.container.DefaultPOST",
            "route": []
        },
        "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",
            "route": []
        }
    },
    "guillotina.interfaces.content.IStaticFile": {
        "GET": {
            "context": [
                "guillotina.interfaces.content.IStaticFile",
                "zope.interface.Interface"
            ],
            "method": "GET",
            "permission": "guillotina.AccessContent",
            "module": "guillotina.api.files.FileGET",
            "route": []
        }
    },
    "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",
            "route": []
        }
    }
}
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-Type: application/json

{
    "guillotina.interfaces.content.IResource": {
        "guillotina.interfaces.events.IObjectModifiedEvent": [
            "guillotina.subscribers.modified_object"
        ]
    }
}
Status Codes: