ApplicationΒΆ

GET

Get application data

permission: guillotina.AccessContent

http

GET / HTTP/1.1
Accept: application/json
Host: localhost:8080
Authorization: Basic cm9vdDpyb290

curl

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

httpie

http http://localhost:8080/ Accept:application/json -a root:root

python-requests

requests.get('http://localhost:8080/', headers={'Accept': 'application/json'}, auth=('root', 'root'))

response

HTTP/1.1 200 OK
Content-Type: application/json
Server: Python/3.6 aiohttp/2.2.5

{
    "@type": "Application",
    "databases": [
        "db"
    ],
    "static_directory": [],
    "static_file": [
        "favicon.ico"
    ]
}
GET @apidefinition

Get API Definition

permission: guillotina.GetContainers

http

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

curl

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

httpie

http http://localhost:8080/@apidefinition Accept:application/json -a root:root

python-requests

requests.get('http://localhost:8080/@apidefinition', headers={'Accept': 'application/json'}, auth=('root', 'root'))

response

HTTP/1.1 200 OK
Content-Type: application/json
Server: Python/3.6 aiohttp/2.2.5

{
    "guillotina.interfaces.content.IApplication": {
        "GET": {
            "context": [
                "guillotina.interfaces.content.IApplication",
                "guillotina.interfaces.content.ITraversable",
                "zope.interface.Interface"
            ],
            "description": "Retrieves serialization of application",
            "method": "GET",
            "module": "guillotina.api.app.get",
            "permission": "guillotina.AccessContent",
            "responses": {
                "200": {
                    "description": "Application data",
                    "schema": {
                        "$ref": "#/definitions/Application"
                    }
                }
            },
            "summary": "Get application data"
        },
        "PUT": {
            "context": [
                "guillotina.interfaces.content.IApplication",
                "guillotina.interfaces.content.ITraversable",
                "zope.interface.Interface"
            ],
            "ignore": true,
            "method": "PUT",
            "permission": "guillotina.MountDatabase"
        },
        "endpoints": {
            "@apidefinition": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IApplication",
                        "guillotina.interfaces.content.ITraversable",
                        "zope.interface.Interface"
                    ],
                    "description": "Retrieves information on API configuration",
                    "method": "GET",
                    "module": "guillotina.api.app.get_api_definition",
                    "name": "@apidefinition",
                    "permission": "guillotina.GetContainers",
                    "summary": "Get API Definition"
                }
            }
        }
    },
    "guillotina.interfaces.content.IContainer": {
        "DELETE": {
            "context": [
                "guillotina.interfaces.content.IContainer",
                "guillotina.interfaces.content.IResource",
                "guillotina.interfaces.content.ILocation",
                "guillotina.interfaces.content.IAsyncContainer",
                "guillotina.interfaces.content.ITraversable",
                "guillotina.component.interfaces.ISite",
                "guillotina.component.interfaces.IPossibleSite",
                "zope.interface.Interface"
            ],
            "method": "DELETE",
            "permission": "guillotina.DeleteContainers",
            "summary": "Delete container"
        },
        "endpoints": {
            "@addons": {
                "DELETE": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "guillotina.component.interfaces.IPossibleSite",
                        "zope.interface.Interface"
                    ],
                    "method": "DELETE",
                    "module": "guillotina.api.addons.uninstall",
                    "name": "@addons",
                    "parameters": [
                        {
                            "in": "body",
                            "name": "body",
                            "schema": {
                                "$ref": "#/definitions/Addon"
                            }
                        }
                    ],
                    "permission": "guillotina.ManageAddons",
                    "summary": "Uninstall an addon from container"
                },
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "guillotina.component.interfaces.IPossibleSite",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "module": "guillotina.api.addons.get_addons",
                    "name": "@addons",
                    "permission": "guillotina.ManageAddons",
                    "responses": {
                        "200": {
                            "description": "Get list of available and installed addons",
                            "schema": {
                                "$ref": "#/definitions/AddonResponse"
                            }
                        }
                    },
                    "summary": "List available addons"
                },
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "guillotina.component.interfaces.IPossibleSite",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "module": "guillotina.api.addons.install",
                    "name": "@addons",
                    "parameters": [
                        {
                            "in": "body",
                            "name": "body",
                            "schema": {
                                "$ref": "#/definitions/Addon"
                            }
                        }
                    ],
                    "permission": "guillotina.ManageAddons",
                    "summary": "Install addon to container"
                }
            },
            "@registry": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "guillotina.component.interfaces.IPossibleSite",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "name": "@registry",
                    "permission": "guillotina.ReadConfiguration",
                    "responses": {
                        "200": {
                            "description": "Successuflly registered interface",
                            "schema": {
                                "properties": {
                                    "value": {
                                        "type": "object"
                                    }
                                }
                            },
                            "type": "object"
                        }
                    },
                    "summary": "Read container registry settings"
                },
                "PATCH": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "guillotina.component.interfaces.IPossibleSite",
                        "zope.interface.Interface"
                    ],
                    "method": "PATCH",
                    "name": "@registry",
                    "parameters": {
                        "in": "body",
                        "name": "body",
                        "schema": {
                            "properties": {
                                "value": {
                                    "required": true,
                                    "type": "any"
                                }
                            }
                        },
                        "type": "object"
                    },
                    "permission": "guillotina.WriteConfiguration",
                    "responses": {
                        "200": {
                            "description": "Successuflly wrote configuration"
                        }
                    },
                    "summary": "Update registry setting"
                },
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "guillotina.component.interfaces.IPossibleSite",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "name": "@registry",
                    "parameters": [
                        {
                            "in": "body",
                            "name": "body",
                            "schema": {
                                "properties": {
                                    "initial_values": {
                                        "required": false,
                                        "type": "object"
                                    },
                                    "interface": {
                                        "required": true,
                                        "type": "string"
                                    }
                                }
                            },
                            "type": "object"
                        }
                    ],
                    "permission": "guillotina.RegisterConfigurations",
                    "responses": {
                        "200": {
                            "description": "Successuflly registered interface"
                        }
                    },
                    "summary": "Register a new interface to for registry settings"
                }
            },
            "@types": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "guillotina.component.interfaces.IPossibleSite",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "name": "@types",
                    "permission": "guillotina.AccessContent",
                    "responses": {
                        "200": {
                            "description": "Result results on types",
                            "schema": {
                                "properties": {}
                            }
                        }
                    },
                    "summary": "Read information on available types"
                }
            },
            "@user": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "guillotina.component.interfaces.IPossibleSite",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "module": "guillotina.api.user.get_user_info",
                    "name": "@user",
                    "permission": "guillotina.AccessContent",
                    "responses": {
                        "200": {
                            "description": "Get information on the user",
                            "schema": {
                                "properties": {}
                            }
                        }
                    },
                    "summary": "Get information on the currently logged in user"
                }
            },
            "@ws": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "guillotina.component.interfaces.IPossibleSite",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "name": "@ws",
                    "permission": "guillotina.AccessContent",
                    "summary": "Make a web socket connection"
                }
            },
            "@wstoken": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IContainer",
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "guillotina.interfaces.content.IAsyncContainer",
                        "guillotina.interfaces.content.ITraversable",
                        "guillotina.component.interfaces.ISite",
                        "guillotina.component.interfaces.IPossibleSite",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "name": "@wstoken",
                    "permission": "guillotina.AccessContent",
                    "responses": {
                        "200": {
                            "description": "The new token",
                            "schema": {
                                "properties": {
                                    "token": {
                                        "required": true,
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    },
                    "summary": "Return a web socket token"
                }
            }
        }
    },
    "guillotina.interfaces.content.IDatabase": {
        "DELETE": {
            "context": [
                "guillotina.interfaces.content.IDatabase",
                "guillotina.interfaces.content.ITraversable",
                "guillotina.interfaces.content.IAsyncContainer",
                "zope.interface.Interface"
            ],
            "ignore": true,
            "method": "DELETE",
            "permission": "guillotina.UmountDatabase"
        },
        "GET": {
            "context": [
                "guillotina.interfaces.content.IDatabase",
                "guillotina.interfaces.content.ITraversable",
                "guillotina.interfaces.content.IAsyncContainer",
                "zope.interface.Interface"
            ],
            "method": "GET",
            "permission": "guillotina.GetContainers",
            "responses": {
                "200": {
                    "description": "Get a list of containers",
                    "schema": {
                        "properties": {
                            "containers": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            }
                        }
                    }
                }
            },
            "summary": "Get list of containers"
        },
        "POST": {
            "context": [
                "guillotina.interfaces.content.IDatabase",
                "guillotina.interfaces.content.ITraversable",
                "guillotina.interfaces.content.IAsyncContainer",
                "zope.interface.Interface"
            ],
            "description": "Creates a new container on the database",
            "method": "POST",
            "parameters": [
                {
                    "in": "body",
                    "name": "body",
                    "schema": {
                        "$ref": "#/definitions/BaseResource"
                    }
                }
            ],
            "permission": "guillotina.AddContainer",
            "responses": {
                "200": {
                    "description": "Container result",
                    "schema": {
                        "$ref": "#/definitions/BaseResource"
                    }
                }
            },
            "summary": "Create a new Container"
        }
    },
    "guillotina.interfaces.content.IResource": {
        "DELETE": {
            "context": [
                "guillotina.interfaces.content.IResource",
                "guillotina.interfaces.content.ILocation",
                "zope.interface.Interface"
            ],
            "method": "DELETE",
            "permission": "guillotina.DeleteContent",
            "responses": {
                "200": {
                    "description": "Successuflly deleted resource"
                }
            },
            "summary": "Delete resource"
        },
        "GET": {
            "context": [
                "guillotina.interfaces.content.IResource",
                "guillotina.interfaces.content.ILocation",
                "zope.interface.Interface"
            ],
            "method": "GET",
            "permission": "guillotina.ViewContent",
            "responses": "guillotina.api.content.get_content_json_schema_responses",
            "summary": "Retrieves serialization of resource"
        },
        "OPTIONS": {
            "context": [
                "guillotina.interfaces.content.IResource",
                "guillotina.interfaces.content.ILocation",
                "zope.interface.Interface"
            ],
            "method": "OPTIONS",
            "permission": "guillotina.AccessPreflight",
            "summary": "Get CORS information for resource"
        },
        "PATCH": {
            "context": [
                "guillotina.interfaces.content.IResource",
                "guillotina.interfaces.content.ILocation",
                "zope.interface.Interface"
            ],
            "method": "PATCH",
            "parameters": "guillotina.api.content.patch_content_json_schema_parameters",
            "permission": "guillotina.ModifyContent",
            "responses": {
                "200": {
                    "description": "Resource data",
                    "schema": {
                        "$ref": "#/definitions/Resource"
                    }
                }
            },
            "summary": "Modify the content of this resource"
        },
        "POST": {
            "context": [
                "guillotina.interfaces.content.IResource",
                "guillotina.interfaces.content.ILocation",
                "zope.interface.Interface"
            ],
            "method": "POST",
            "parameters": [
                {
                    "in": "body",
                    "name": "body",
                    "schema": {
                        "$ref": "#/definitions/AddableResource"
                    }
                }
            ],
            "permission": "guillotina.AddContent",
            "responses": {
                "200": {
                    "description": "Resource data",
                    "schema": {
                        "$ref": "#/definitions/ResourceFolder"
                    }
                }
            },
            "summary": "Add new resouce inside this container resource"
        },
        "endpoints": {
            "@all_permissions": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "module": "guillotina.api.content.all_permissions",
                    "name": "@all_permissions",
                    "permission": "guillotina.SeePermissions",
                    "responses": {
                        "200": {
                            "description": "All the permissions defined on this resource",
                            "schema": {
                                "$ref": "#/definitions/AllPermissions"
                            }
                        }
                    },
                    "summary": "See all permission settings for this resource"
                }
            },
            "@async-catalog-reindex": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "name": "@async-catalog-reindex",
                    "permission": "guillotina.ReindexContent",
                    "responses": {
                        "200": {
                            "description": "Successfully initiated reindexing"
                        }
                    },
                    "summary": "Asynchronously reindex entire container content"
                }
            },
            "@behaviors": {
                "DELETE": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "DELETE",
                    "module": "guillotina.api.behaviors.default_delete",
                    "name": "@behaviors",
                    "parameters": [
                        {
                            "in": "body",
                            "name": "body",
                            "schema": {
                                "$ref": "#/definitions/Behavior"
                            }
                        }
                    ],
                    "permission": "guillotina.ModifyContent",
                    "responses": {
                        "200": {
                            "description": "Successfully removed behavior"
                        },
                        "201": {
                            "description": "Behavior not assigned here"
                        }
                    },
                    "summary": "Remove behavior from resource"
                },
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "module": "guillotina.api.behaviors.default_get",
                    "name": "@behaviors",
                    "permission": "guillotina.AccessContent",
                    "responses": {
                        "200": {
                            "description": "A listing of behaviors for content",
                            "schema": {
                                "$ref": "#/definitions/BehaviorsResponse"
                            }
                        }
                    },
                    "summary": "Get information on behaviors for this resource"
                },
                "PATCH": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "PATCH",
                    "module": "guillotina.api.behaviors.default_patch",
                    "name": "@behaviors",
                    "parameters": [
                        {
                            "in": "body",
                            "name": "body",
                            "schema": {
                                "$ref": "#/definitions/Behavior"
                            }
                        }
                    ],
                    "permission": "guillotina.ModifyContent",
                    "responses": {
                        "200": {
                            "description": "Successfully added behavior"
                        },
                        "201": {
                            "description": "Behavior already assigned here"
                        }
                    },
                    "summary": "Add behavior to resource"
                }
            },
            "@canido": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "module": "guillotina.api.content.can_i_do",
                    "name": "@canido",
                    "parameters": [
                        {
                            "in": "query",
                            "name": "permission",
                            "required": true,
                            "type": "string"
                        }
                    ],
                    "permission": "guillotina.AccessContent",
                    "responses": {
                        "200": {
                            "description": "Successuflly changed permission"
                        }
                    }
                }
            },
            "@catalog": {
                "DELETE": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "DELETE",
                    "module": "guillotina.api.search.catalog_delete",
                    "name": "@catalog",
                    "permission": "guillotina.ManageCatalog",
                    "responses": {
                        "200": {
                            "description": "Successfully deleted catalog"
                        }
                    },
                    "summary": "Delete search catalog"
                },
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "module": "guillotina.api.search.catalog_post",
                    "name": "@catalog",
                    "permission": "guillotina.ManageCatalog",
                    "responses": {
                        "200": {
                            "description": "Successfully initialized catalog"
                        }
                    },
                    "summary": "Initialize catalog"
                }
            },
            "@catalog-reindex": {
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "name": "@catalog-reindex",
                    "permission": "guillotina.ReindexContent",
                    "responses": {
                        "200": {
                            "description": "Successfully reindexed content"
                        }
                    },
                    "summary": "Reindex entire container content"
                }
            },
            "@download": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "name": "@download",
                    "permission": "guillotina.ViewContent",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "parameters": [
                                {
                                    "description": "Name of file field",
                                    "in": "path",
                                    "name": "field_name",
                                    "required": true
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully updated content"
                                }
                            },
                            "summary": "Download the content of a file"
                        }
                    }
                }
            },
            "@search": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "module": "guillotina.api.search.search_get",
                    "name": "@search",
                    "parameters": [
                        {
                            "in": "query",
                            "name": "q",
                            "required": true,
                            "type": "string"
                        }
                    ],
                    "permission": "guillotina.SearchContent",
                    "responses": {
                        "200": {
                            "description": "Search results",
                            "schema": {
                                "$ref": "#/definitions/SearchResults"
                            },
                            "type": "object"
                        }
                    },
                    "summary": "Make search request"
                },
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "module": "guillotina.api.search.search_post",
                    "name": "@search",
                    "parameters": [
                        {
                            "in": "body",
                            "name": "body",
                            "schema": {
                                "properties": {}
                            }
                        }
                    ],
                    "permission": "guillotina.RawSearchContent",
                    "responses": {
                        "200": {
                            "description": "Search results",
                            "schema": {
                                "$ref": "#/definitions/SearchResults"
                            },
                            "type": "object"
                        }
                    },
                    "summary": "Make a complex search query"
                }
            },
            "@sharing": {
                "GET": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "GET",
                    "module": "guillotina.api.content.sharing_get",
                    "name": "@sharing",
                    "permission": "guillotina.SeePermissions",
                    "responses": {
                        "200": {
                            "description": "All the sharing defined on this resource",
                            "schema": {
                                "$ref": "#/definitions/ResourceACL"
                            }
                        }
                    },
                    "summary": "Get sharing settings for this resource"
                },
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "name": "@sharing",
                    "parameters": [
                        {
                            "in": "body",
                            "name": "body",
                            "schema": {
                                "$ref": "#/definitions/Permissions"
                            },
                            "type": "object"
                        }
                    ],
                    "permission": "guillotina.ChangePermissions",
                    "responses": {
                        "200": {
                            "description": "Successuflly changed permission"
                        }
                    },
                    "summary": "Change permissions for a resource"
                },
                "PUT": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "PUT",
                    "name": "@sharing",
                    "parameters": [
                        {
                            "in": "body",
                            "name": "body",
                            "schema": {
                                "$ref": "#/definitions/Permissions"
                            },
                            "type": "object"
                        }
                    ],
                    "permission": "guillotina.ChangePermissions",
                    "responses": {
                        "200": {
                            "description": "Successuflly replaced permissions"
                        }
                    },
                    "summary": "Replace permissions for a resource"
                }
            },
            "@tusupload": {
                "HEAD": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "HEAD",
                    "name": "@tusupload",
                    "permission": "guillotina.ModifyContent",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "parameters": [
                                {
                                    "description": "Name of file field",
                                    "in": "path",
                                    "name": "field_name",
                                    "required": true
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully patched data",
                                    "headers": {
                                        "Access-Control-Expose-Headers": {
                                            "type": "string"
                                        },
                                        "Tus-Resumable": {
                                            "type": "string"
                                        },
                                        "Upload-Offset": {
                                            "type": "integer"
                                        }
                                    }
                                }
                            },
                            "summary": "TUS endpoint"
                        }
                    }
                },
                "OPTIONS": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "OPTIONS",
                    "name": "@tusupload",
                    "permission": "guillotina.AccessPreflight",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "parameters": [
                                {
                                    "description": "Name of file field",
                                    "in": "path",
                                    "name": "field_name",
                                    "required": true
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully returned tus info",
                                    "headers": {
                                        "Tus-Extension": {
                                            "type": "string"
                                        },
                                        "Tus-Max-Size": {
                                            "type": "integer"
                                        },
                                        "Tus-Resumable": {
                                            "type": "string"
                                        },
                                        "Tus-Version": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "summary": "TUS endpoint"
                        }
                    }
                },
                "PATCH": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "PATCH",
                    "name": "@tusupload",
                    "permission": "guillotina.ModifyContent",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "parameters": [
                                {
                                    "description": "Name of file field",
                                    "in": "path",
                                    "name": "field_name",
                                    "required": true
                                },
                                {
                                    "in": "headers",
                                    "name": "Upload-Offset",
                                    "required": true,
                                    "type": "integer"
                                },
                                {
                                    "in": "headers",
                                    "name": "CONTENT-LENGTH",
                                    "required": true,
                                    "type": "integer"
                                }
                            ],
                            "responses": {
                                "204": {
                                    "description": "Successfully patched data",
                                    "headers": {
                                        "Upload-Offset": {
                                            "type": "integer"
                                        }
                                    }
                                }
                            },
                            "summary": "TUS endpoint"
                        }
                    }
                },
                "POST": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "POST",
                    "name": "@tusupload",
                    "permission": "guillotina.ModifyContent",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "parameters": [
                                {
                                    "description": "Name of file field",
                                    "in": "path",
                                    "name": "field_name",
                                    "required": true
                                },
                                {
                                    "in": "headers",
                                    "name": "Upload-Offset",
                                    "required": true,
                                    "type": "integer"
                                },
                                {
                                    "in": "headers",
                                    "name": "UPLOAD-LENGTH",
                                    "required": true,
                                    "type": "integer"
                                },
                                {
                                    "in": "headers",
                                    "name": "UPLOAD-MD5",
                                    "required": false,
                                    "type": "string"
                                },
                                {
                                    "in": "headers",
                                    "name": "UPLOAD-EXTENSION",
                                    "required": false,
                                    "type": "string"
                                },
                                {
                                    "in": "headers",
                                    "name": "TUS-RESUMABLE",
                                    "required": true,
                                    "type": "string"
                                },
                                {
                                    "in": "headers",
                                    "name": "UPLOAD-METADATA",
                                    "required": false,
                                    "type": "string"
                                }
                            ],
                            "responses": {
                                "204": {
                                    "description": "Successfully patched data",
                                    "headers": {
                                        "Access-Control-Expose-Headers": {
                                            "type": "string"
                                        },
                                        "Location": {
                                            "type": "string"
                                        },
                                        "Tus-Resumable": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "summary": "TUS endpoint"
                        }
                    }
                }
            },
            "@upload": {
                "PATCH": {
                    "context": [
                        "guillotina.interfaces.content.IResource",
                        "guillotina.interfaces.content.ILocation",
                        "zope.interface.Interface"
                    ],
                    "method": "PATCH",
                    "name": "@upload",
                    "permission": "guillotina.ModifyContent",
                    "traversed_service_definitions": {
                        "{field_name}": {
                            "parameters": [
                                {
                                    "description": "Name of file field",
                                    "in": "path",
                                    "name": "field_name",
                                    "required": true
                                }
                            ],
                            "responses": {
                                "200": {
                                    "description": "Successfully updated content"
                                }
                            },
                            "summary": "Update the content of a file"
                        }
                    }
                }
            }
        }
    },
    "guillotina.interfaces.content.IStaticDirectory": {
        "GET": {
            "context": [
                "guillotina.interfaces.content.IStaticDirectory",
                "guillotina.interfaces.content.ITraversable",
                "zope.interface.Interface"
            ],
            "method": "GET",
            "permission": "guillotina.AccessContent"
        }
    },
    "guillotina.interfaces.content.IStaticFile": {
        "GET": {
            "context": [
                "guillotina.interfaces.content.IStaticFile",
                "zope.interface.Interface"
            ],
            "method": "GET",
            "permission": "guillotina.AccessContent"
        }
    }
}