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: - 200 OK – Application data
- 401 Unauthorized – You are not authorized to perform the operation
- 404 Not Found – The resource does not exist
-
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: - 401 Unauthorized – You are not authorized to perform the operation
- 404 Not Found – The resource does not exist
-
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: - 401 Unauthorized – You are not authorized to perform the operation
- 404 Not Found – The resource does not exist