Container¶
- GET /(db)/(container)¶
Retrieves serialization of resource
Permission: guillotina.ViewContent
Context: guillotina.interfaces.content.IResource
http
GET /db/container HTTP/1.1 Accept: application/json Authorization: Basic cm9vdDpyb290
curl
curl -i -X GET http://nohost/db/container -H "Accept: application/json" --user root:root
httpie
http http://nohost/db/container Accept:application/json -a root:root
response
HTTP/1.1 200 OK Content-Type: application/json { "@id": "http://localhost/db/container", "@type": "Container", "@name": "container", "@uid": "82dd9ab05c77472d9c01a325888f183c", "@static_behaviors": [], "parent": {}, "is_folderish": true, "creation_date": "2026-06-09T10:34:20.306513+00:00", "modification_date": "2026-06-09T10:34:20.306513+00:00", "type_name": "Container", "title": "container", "uuid": "82dd9ab05c77472d9c01a325888f183c", "__behaviors__": [], "items": [], "length": 0 }
- Query Parameters:
include (string) -- (required) (required)
omit (string) -- (required) (required)
- Status Codes:
200 OK -- Resource data
401 Unauthorized -- You are not authorized to perform the operation
404 Not Found -- The resource does not exist
Types¶
- GET /(db)/(container)/@types¶
Read information on available types
Permission: guillotina.AccessContent
Context: guillotina.interfaces.content.IContainer
http
GET /db/container/@types HTTP/1.1 Accept: application/json Authorization: Basic cm9vdDpyb290
curl
curl -i -X GET http://nohost/db/container/@types -H "Accept: application/json" --user root:root
httpie
http http://nohost/db/container/@types Accept:application/json -a root:root
response
HTTP/1.1 200 OK Content-Type: application/json [ { "title": "Item", "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "required": [ "uuid" ], "definitions": { "guillotina.behaviors.dublincore.IDublinCore": { "type": "object", "properties": { "title": { "type": "string", "widget": "input", "description": "The first unqualified Dublin Core 'Title' element value.", "title": "Title" }, "description": { "type": "string", "widget": "textarea", "description": "The first unqualified Dublin Core 'Description' element value.", "title": "Description" }, "creation_date": { "type": "datetime", "description": "The date and time that an object is created. \nThis is normally set automatically.", "title": "Creation Date" }, "modification_date": { "type": "datetime", "description": "The date and time that the object was last modified in a\nmeaningful way.", "title": "Modification Date" }, "effective_date": { "type": "datetime", "description": "The date and time that an object should be published. ", "title": "Effective Date" }, "expiration_date": { "type": "datetime", "description": "The date and time that the object should become unpublished.", "title": "Expiration Date" }, "creators": { "type": "array", "description": "The unqualified Dublin Core 'Creator' element values", "max_length": 1000, "title": "Creators", "items": { "type": "string", "widget": "input" } }, "tags": { "type": "array", "description": "The unqualified Dublin Core 'Tags' element values", "max_length": 10000, "title": "Tags", "items": { "type": "string", "widget": "input" } }, "publisher": { "type": "string", "widget": "textarea", "description": "The first unqualified Dublin Core 'Publisher' element value.", "title": "Publisher" }, "contributors": { "type": "array", "description": "The unqualified Dublin Core 'Contributor' element values", "max_length": 10000, "title": "Contributors", "items": { "type": "string", "widget": "input" } } }, "required": [], "invariants": [], "title": "Dublin Core fields", "description": "" } }, "properties": { "type_name": { "type": "string", "widget": "input", "readonly": true }, "title": { "type": "string", "widget": "input", "description": "Title of the Resource", "title": "Title" }, "uuid": { "type": "string", "widget": "input", "readonly": true, "title": "UUID" }, "modification_date": { "type": "datetime", "title": "Modification date" }, "creation_date": { "type": "datetime", "title": "Creation date" }, "__behaviors__": { "type": "array", "description": "Dynamic behaviors for the content type", "readonly": true, "title": "Enabled behaviors" }, "guillotina.behaviors.dublincore.IDublinCore": [ { "$ref": "#/components/schemas/guillotina.behaviors.dublincore.IDublinCore" } ] }, "invariants": [] }, { "title": "Folder", "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "required": [ "uuid" ], "definitions": { "guillotina.behaviors.dublincore.IDublinCore": { "type": "object", "properties": { "title": { "type": "string", "widget": "input", "description": "The first unqualified Dublin Core 'Title' element value.", "title": "Title" }, "description": { "type": "string", "widget": "textarea", "description": "The first unqualified Dublin Core 'Description' element value.", "title": "Description" }, "creation_date": { "type": "datetime", "description": "The date and time that an object is created. \nThis is normally set automatically.", "title": "Creation Date" }, "modification_date": { "type": "datetime", "description": "The date and time that the object was last modified in a\nmeaningful way.", "title": "Modification Date" }, "effective_date": { "type": "datetime", "description": "The date and time that an object should be published. ", "title": "Effective Date" }, "expiration_date": { "type": "datetime", "description": "The date and time that the object should become unpublished.", "title": "Expiration Date" }, "creators": { "type": "array", "description": "The unqualified Dublin Core 'Creator' element values", "max_length": 1000, "title": "Creators", "items": { "type": "string", "widget": "input" } }, "tags": { "type": "array", "description": "The unqualified Dublin Core 'Tags' element values", "max_length": 10000, "title": "Tags", "items": { "type": "string", "widget": "input" } }, "publisher": { "type": "string", "widget": "textarea", "description": "The first unqualified Dublin Core 'Publisher' element value.", "title": "Publisher" }, "contributors": { "type": "array", "description": "The unqualified Dublin Core 'Contributor' element values", "max_length": 10000, "title": "Contributors", "items": { "type": "string", "widget": "input" } } }, "required": [], "invariants": [], "title": "Dublin Core fields", "description": "" } }, "properties": { "type_name": { "type": "string", "widget": "input", "readonly": true }, "title": { "type": "string", "widget": "input", "description": "Title of the Resource", "title": "Title" }, "uuid": { "type": "string", "widget": "input", "readonly": true, "title": "UUID" }, "modification_date": { "type": "datetime", "title": "Modification date" }, "creation_date": { "type": "datetime", "title": "Creation date" }, "__behaviors__": { "type": "array", "description": "Dynamic behaviors for the content type", "readonly": true, "title": "Enabled behaviors" }, "guillotina.behaviors.dublincore.IDublinCore": [ { "$ref": "#/components/schemas/guillotina.behaviors.dublincore.IDublinCore" } ] }, "invariants": [] }, { "title": "Container", "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "required": [ "uuid" ], "definitions": {}, "properties": { "type_name": { "type": "string", "widget": "input", "readonly": true }, "title": { "type": "string", "widget": "input", "description": "Title of the Resource", "title": "Title" }, "uuid": { "type": "string", "widget": "input", "readonly": true, "title": "UUID" }, "modification_date": { "type": "datetime", "title": "Modification date" }, "creation_date": { "type": "datetime", "title": "Creation date" }, "__behaviors__": { "type": "array", "description": "Dynamic behaviors for the content type", "readonly": true, "title": "Enabled behaviors" } }, "invariants": [] } ]
- Status Codes:
200 OK -- Result results on types
401 Unauthorized -- You are not authorized to perform the operation
404 Not Found -- The resource does not exist
- GET /(db)/(container)/@types/(type_name)¶
Read information on available types
Permission: guillotina.AccessContent
Context: guillotina.interfaces.content.IContainer
http
GET /db/container/@types/Item HTTP/1.1 Accept: application/json Authorization: Basic cm9vdDpyb290
curl
curl -i -X GET http://nohost/db/container/@types/Item -H "Accept: application/json" --user root:root
httpie
http http://nohost/db/container/@types/Item Accept:application/json -a root:root
response
HTTP/1.1 200 OK Content-Type: application/json { "title": "Item", "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "required": [ "uuid" ], "definitions": { "guillotina.behaviors.dublincore.IDublinCore": { "type": "object", "properties": { "title": { "type": "string", "widget": "input", "description": "The first unqualified Dublin Core 'Title' element value.", "title": "Title" }, "description": { "type": "string", "widget": "textarea", "description": "The first unqualified Dublin Core 'Description' element value.", "title": "Description" }, "creation_date": { "type": "datetime", "description": "The date and time that an object is created. \nThis is normally set automatically.", "title": "Creation Date" }, "modification_date": { "type": "datetime", "description": "The date and time that the object was last modified in a\nmeaningful way.", "title": "Modification Date" }, "effective_date": { "type": "datetime", "description": "The date and time that an object should be published. ", "title": "Effective Date" }, "expiration_date": { "type": "datetime", "description": "The date and time that the object should become unpublished.", "title": "Expiration Date" }, "creators": { "type": "array", "description": "The unqualified Dublin Core 'Creator' element values", "max_length": 1000, "title": "Creators", "items": { "type": "string", "widget": "input" } }, "tags": { "type": "array", "description": "The unqualified Dublin Core 'Tags' element values", "max_length": 10000, "title": "Tags", "items": { "type": "string", "widget": "input" } }, "publisher": { "type": "string", "widget": "textarea", "description": "The first unqualified Dublin Core 'Publisher' element value.", "title": "Publisher" }, "contributors": { "type": "array", "description": "The unqualified Dublin Core 'Contributor' element values", "max_length": 10000, "title": "Contributors", "items": { "type": "string", "widget": "input" } } }, "required": [], "invariants": [], "title": "Dublin Core fields", "description": "" } }, "properties": { "type_name": { "type": "string", "widget": "input", "readonly": true }, "title": { "type": "string", "widget": "input", "description": "Title of the Resource", "title": "Title" }, "uuid": { "type": "string", "widget": "input", "readonly": true, "title": "UUID" }, "modification_date": { "type": "datetime", "title": "Modification date" }, "creation_date": { "type": "datetime", "title": "Creation date" }, "__behaviors__": { "type": "array", "description": "Dynamic behaviors for the content type", "readonly": true, "title": "Enabled behaviors" }, "guillotina.behaviors.dublincore.IDublinCore": [ { "$ref": "#/components/schemas/guillotina.behaviors.dublincore.IDublinCore" } ] }, "invariants": [] }
- Status Codes:
200 OK -- Result results on types
401 Unauthorized -- You are not authorized to perform the operation
404 Not Found -- The resource does not exist
User¶
- GET /(db)/(container)/@user¶
Get information on the currently logged in user
Permission: guillotina.AccessContent
Context: guillotina.interfaces.content.IContainer
http
GET /db/container/@user HTTP/1.1 Accept: application/json Authorization: Basic cm9vdDpyb290
curl
curl -i -X GET http://nohost/db/container/@user -H "Accept: application/json" --user root:root
httpie
http http://nohost/db/container/@user Accept:application/json -a root:root
response
HTTP/1.1 200 OK Content-Type: application/json { "root": { "roles": { "guillotina.Authenticated": 1 }, "groups": [ "Managers" ], "permissions": {}, "properties": {} }, "groups": { "Managers": { "roles": { "guillotina.ContainerAdmin": 1, "guillotina.ContainerDeleter": 1, "guillotina.Owner": 1, "guillotina.Member": 1, "guillotina.Manager": 1 }, "groups": [] } } }
- Status Codes:
200 OK -- Get information on the user
401 Unauthorized -- You are not authorized to perform the operation
404 Not Found -- The resource does not exist
Registry¶
- GET /(db)/(container)/@registry¶
Read container registry settings
Permission: guillotina.ReadConfiguration
Context: guillotina.interfaces.content.IContainer
http
GET /db/container/@registry HTTP/1.1 Accept: application/json Authorization: Basic cm9vdDpyb290
curl
curl -i -X GET http://nohost/db/container/@registry -H "Accept: application/json" --user root:root
httpie
http http://nohost/db/container/@registry Accept:application/json -a root:root
response
HTTP/1.1 200 OK Content-Type: application/json { "value": { "guillotina.interfaces.registry.ILayers.active_layers": [], "guillotina.interfaces.registry.IAddons.enabled": [] } }
- Status Codes:
200 OK -- Successfully registered interface
401 Unauthorized -- You are not authorized to perform the operation
404 Not Found -- The resource does not exist
- POST /(db)/(container)/@registry¶
Register a new interface to for registry settings
Permission: guillotina.RegisterConfigurations
Context: guillotina.interfaces.content.IContainer
http
POST /db/container/@registry HTTP/1.1 Accept: application/json Authorization: Basic cm9vdDpyb290 { "interface": "guillotina.documentation.IRegistryData" }
curl
curl -i -X POST http://nohost/db/container/@registry -H "Accept: application/json" --data-raw '{ "interface": "guillotina.documentation.IRegistryData" }' --user root:root
httpie
echo '{ "interface": "guillotina.documentation.IRegistryData" }' | http POST http://nohost/db/container/@registry Accept:application/json -a root:root
response
HTTP/1.1 201 OK Content-Type: application/json {}
- Status Codes:
200 OK -- Successfully registered interface
401 Unauthorized -- You are not authorized to perform the operation
404 Not Found -- The resource does not exist
- PATCH /(db)/(container)/@registry/(key)¶
Update registry setting
Permission: guillotina.WriteConfiguration
Context: guillotina.interfaces.content.IContainer
http
PATCH /db/container/@registry/guillotina.documentation.IRegistryData.foobar HTTP/1.1 Accept: application/json Authorization: Basic cm9vdDpyb290 { "value": "something" }
curl
curl -i -X PATCH http://nohost/db/container/@registry/guillotina.documentation.IRegistryData.foobar -H "Accept: application/json" --data-raw '{ "value": "something" }' --user root:root
httpie
echo '{ "value": "something" }' | http PATCH http://nohost/db/container/@registry/guillotina.documentation.IRegistryData.foobar Accept:application/json -a root:root
response
HTTP/1.1 204 OK Content-Type: application/octet-stream
- Status Codes:
200 OK -- Successfully wrote configuration
401 Unauthorized -- You are not authorized to perform the operation
404 Not Found -- The resource does not exist
- GET /(db)/(container)/@registry/(key)¶
Read container registry settings
Permission: guillotina.ReadConfiguration
Context: guillotina.interfaces.content.IContainer
http
GET /db/container/@registry/guillotina.documentation.IRegistryData.foobar HTTP/1.1 Accept: application/json Authorization: Basic cm9vdDpyb290
curl
curl -i -X GET http://nohost/db/container/@registry/guillotina.documentation.IRegistryData.foobar -H "Accept: application/json" --user root:root
httpie
http http://nohost/db/container/@registry/guillotina.documentation.IRegistryData.foobar Accept:application/json -a root:root
response
HTTP/1.1 200 OK Content-Type: application/json { "value": "something" }
- Status Codes:
200 OK -- Successfully registered interface
401 Unauthorized -- You are not authorized to perform the operation
404 Not Found -- The resource does not exist
Addons¶
- GET /(db)/(container)/@addons¶
List available addons
Permission: guillotina.ManageAddons
Context: guillotina.interfaces.content.IContainer
http
GET /db/container/@addons HTTP/1.1 Accept: application/json Authorization: Basic cm9vdDpyb290
curl
curl -i -X GET http://nohost/db/container/@addons -H "Accept: application/json" --user root:root
httpie
http http://nohost/db/container/@addons Accept:application/json -a root:root
response
HTTP/1.1 200 OK Content-Type: application/json { "available": [ { "id": "docaddon", "title": "Doc addon", "dependencies": [] } ], "installed": [] }
- Status Codes:
200 OK -- Get list of available and installed addons
401 Unauthorized -- You are not authorized to perform the operation
404 Not Found -- The resource does not exist
- POST /(db)/(container)/@addons¶
Install addon to container
Permission: guillotina.ManageAddons
Context: guillotina.interfaces.content.IContainer
http
POST /db/container/@addons HTTP/1.1 Accept: application/json Authorization: Basic cm9vdDpyb290 { "id": "docaddon" }
curl
curl -i -X POST http://nohost/db/container/@addons -H "Accept: application/json" --data-raw '{ "id": "docaddon" }' --user root:root
httpie
echo '{ "id": "docaddon" }' | http POST http://nohost/db/container/@addons Accept:application/json -a root:root
response
HTTP/1.1 200 OK Content-Type: application/json { "available": [ { "id": "docaddon", "title": "Doc addon", "dependencies": [] } ], "installed": [ "docaddon" ] }
- Status Codes:
401 Unauthorized -- You are not authorized to perform the operation
404 Not Found -- The resource does not exist
- DELETE /(db)/(container)/@addons¶
Uninstall an addon from container
Permission: guillotina.ManageAddons
Context: guillotina.interfaces.content.IContainer
http
DELETE /db/container/@addons HTTP/1.1 Accept: application/json Authorization: Basic cm9vdDpyb290 { "id": "docaddon" }
curl
curl -i -X DELETE http://nohost/db/container/@addons -H "Accept: application/json" --data-raw '{ "id": "docaddon" }' --user root:root
httpie
echo '{ "id": "docaddon" }' | http DELETE http://nohost/db/container/@addons Accept:application/json -a root:root
response
HTTP/1.1 200 OK Content-Type: application/json {}
- Status Codes:
401 Unauthorized -- You are not authorized to perform the operation
404 Not Found -- The resource does not exist
Metadata¶
- GET /(db)/(container)/@metadata¶
Get available Indexes
Permission: guillotina.SearchContent
Context: guillotina.interfaces.content.IContainer
http
GET /db/container/@metadata HTTP/1.1 Accept: application/json Authorization: Basic cm9vdDpyb290
curl
curl -i -X GET http://nohost/db/container/@metadata -H "Accept: application/json" --user root:root
httpie
http http://nohost/db/container/@metadata Accept:application/json -a root:root
response
HTTP/1.1 200 OK Content-Type: application/json { "@id": "http://localhost/db/container", "types": { "Item": { "uuid": "keyword", "type_name": "keyword", "title": "text", "modification_date": "date", "creation_date": "date", "access_roles": "keyword", "id": "keyword", "access_users": "keyword", "path": "path", "depth": "int", "parent_uuid": "keyword", "tid": "keyword" }, "Folder": { "uuid": "keyword", "type_name": "keyword", "title": "text", "modification_date": "date", "creation_date": "date", "access_roles": "keyword", "id": "keyword", "access_users": "keyword", "path": "path", "depth": "int", "parent_uuid": "keyword", "tid": "keyword" }, "Container": { "uuid": "keyword", "type_name": "keyword", "title": "text", "modification_date": "date", "creation_date": "date", "access_roles": "keyword", "id": "keyword", "access_users": "keyword", "path": "path", "depth": "int", "parent_uuid": "keyword", "tid": "keyword" } }, "behaviors": { "guillotina.behaviors.attachment.IAttachment": {}, "guillotina.behaviors.attachment.IMultiAttachment": {}, "guillotina.behaviors.dublincore.IDublinCore": { "creators": "keyword", "tags": "keyword", "contributors": "keyword" }, "guillotina.behaviors.dynamic.IDynamicFields": {}, "guillotina.behaviors.dynamic.IDynamicFieldValues": {} } }
- Status Codes:
200 OK -- Result results on indices
401 Unauthorized -- You are not authorized to perform the operation
404 Not Found -- The resource does not exist
Example:
{
"@id": "http://localhost:8070/db/container",
"types": {
"Item": {
"uuid": "keyword",
"type_name": "keyword",
"title": "text",
"modification_date": "date",
"creation_date": "date",
"access_roles": "keyword",
"id": "keyword",
"access_users": "keyword",
"path": "path",
"depth": "int",
"parent_uuid": "keyword",
"tid": "keyword"
},
"Folder": {
"uuid": "keyword",
"type_name": "keyword",
"title": "text",
"modification_date": "date",
"creation_date": "date",
"access_roles": "keyword",
"id": "keyword",
"access_users": "keyword",
"path": "path",
"depth": "int",
"parent_uuid": "keyword",
"tid": "keyword"
},
"Container": {
"uuid": "keyword",
"type_name": "keyword",
"title": "text",
"modification_date": "date",
"creation_date": "date",
"access_roles": "keyword",
"id": "keyword",
"access_users": "keyword",
"path": "path",
"depth": "int",
"parent_uuid": "keyword",
"tid": "keyword"
},
"Customer": {
"uuid": "keyword",
"type_name": "keyword",
"title": "text",
"modification_date": "date",
"creation_date": "date",
"access_roles": "keyword",
"id": "keyword",
"access_users": "keyword",
"path": "path",
"depth": "int",
"parent_uuid": "keyword",
"tid": "keyword",
"archived": "boolean",
"ratehourly": "int"
},
"User": {
"uuid": "keyword",
"type_name": "keyword",
"title": "text",
"modification_date": "date",
"creation_date": "date",
"access_roles": "keyword",
"id": "keyword",
"access_users": "keyword",
"path": "path",
"depth": "int",
"parent_uuid": "keyword",
"tid": "keyword",
"email": "keyword",
"name": "textkeyword",
"user_roles": "textkeyword",
"disabled": "boolean"
},
"UserManager": {
"uuid": "keyword",
"type_name": "keyword",
"title": "text",
"modification_date": "date",
"creation_date": "date",
"access_roles": "keyword",
"id": "keyword",
"access_users": "keyword",
"path": "path",
"depth": "int",
"parent_uuid": "keyword",
"tid": "keyword"
},
"Group": {
"uuid": "keyword",
"type_name": "keyword",
"title": "text",
"modification_date": "date",
"creation_date": "date",
"access_roles": "keyword",
"id": "keyword",
"access_users": "keyword",
"path": "path",
"depth": "int",
"parent_uuid": "keyword",
"tid": "keyword",
"name": "textkeyword",
"user_roles": "textkeyword",
"users": "textkeyword"
},
"GroupManager": {
"uuid": "keyword",
"type_name": "keyword",
"title": "text",
"modification_date": "date",
"creation_date": "date",
"access_roles": "keyword",
"id": "keyword",
"access_users": "keyword",
"path": "path",
"depth": "int",
"parent_uuid": "keyword",
"tid": "keyword"
}
},
"behaviors": {
"guillotina.behaviors.attachment.IAttachment": {},
"guillotina.behaviors.attachment.IMultiAttachment": {},
"guillotina.behaviors.dublincore.IDublinCore": {
"creators": "keyword",
"tags": "keyword",
"contributors": "keyword"
},
"guillotina.behaviors.dynamic.IDynamicFields": {},
"guillotina.behaviors.dynamic.IDynamicFieldValues": {}
}
}
Dynamic Fields¶
Dynamic fields are done with the IDynamicFields behavior so first we add the behavior.
- PATCH /(db)/(container)/@behaviors¶
Add behavior to resource
Permission: guillotina.ModifyContent
Context: guillotina.interfaces.content.IResource
http
PATCH /db/container/@behaviors HTTP/1.1 Accept: application/json Authorization: Basic cm9vdDpyb290 { "behavior": "guillotina.behaviors.dynamic.IDynamicFields" }
curl
curl -i -X PATCH http://nohost/db/container/@behaviors -H "Accept: application/json" --data-raw '{ "behavior": "guillotina.behaviors.dynamic.IDynamicFields" }' --user root:root
httpie
echo '{ "behavior": "guillotina.behaviors.dynamic.IDynamicFields" }' | http PATCH http://nohost/db/container/@behaviors Accept:application/json -a root:root
response
HTTP/1.1 200 OK Content-Type: application/json {}
- Status Codes:
200 OK -- Successfully added behavior
401 Unauthorized -- You are not authorized to perform the operation
404 Not Found -- The resource does not exist
412 Precondition Failed -- Behavior already assigned here
Then, we can add a field.
- PATCH /(db)/(container)¶
Modify the content of this resource
Permission: guillotina.ModifyContent
Context: guillotina.interfaces.content.IResource
http
PATCH /db/container HTTP/1.1 Accept: application/json Authorization: Basic cm9vdDpyb290 { "guillotina.behaviors.dynamic.IDynamicFields": { "fields": { "foobar": { "title": "Hello field", "type": "text" } } } }
curl
curl -i -X PATCH http://nohost/db/container -H "Accept: application/json" --data-raw '{ "guillotina.behaviors.dynamic.IDynamicFields": { "fields": { "foobar": { "title": "Hello field", "type": "text" } } } }' --user root:root
httpie
echo '{ "guillotina.behaviors.dynamic.IDynamicFields": { "fields": { "foobar": { "title": "Hello field", "type": "text" } } } }' | http PATCH http://nohost/db/container Accept:application/json -a root:root
response
HTTP/1.1 204 OK Content-Type: application/octet-stream
- Status Codes:
200 OK -- Resource data
401 Unauthorized -- You are not authorized to perform the operation
404 Not Found -- The resource does not exist
To inspect the dynamic fields available on content
- GET /(db)/(container)/@dynamic-fields¶
Get a list of available fields
Permission: guillotina.ModifyContent
Context: guillotina.interfaces.content.IResource
http
GET /db/container/@dynamic-fields HTTP/1.1 Accept: application/json Authorization: Basic cm9vdDpyb290
curl
curl -i -X GET http://nohost/db/container/@dynamic-fields -H "Accept: application/json" --user root:root
httpie
http http://nohost/db/container/@dynamic-fields Accept:application/json -a root:root
response
HTTP/1.1 200 OK Content-Type: application/json { "foobar": { "title": "Hello field", "description": null, "type": "text", "required": false, "meta": {} } }
- Status Codes:
401 Unauthorized -- You are not authorized to perform the operation
404 Not Found -- The resource does not exist
Update dynamic field values
- POST /(db)/(container)/(id)¶
Add new resouce inside this container resource
Permission: guillotina.AddContent
Context: guillotina.interfaces.content.IResource
http
POST /db/container HTTP/1.1 Accept: application/json Authorization: Basic cm9vdDpyb290 { "@type": "Item", "id": "foobar-fields", "@behaviors": [ "guillotina.behaviors.dynamic.IDynamicFieldValues" ] }
curl
curl -i -X POST http://nohost/db/container -H "Accept: application/json" --data-raw '{ "@type": "Item", "id": "foobar-fields", "@behaviors": [ "guillotina.behaviors.dynamic.IDynamicFieldValues" ] }' --user root:root
httpie
echo '{ "@type": "Item", "id": "foobar-fields", "@behaviors": [ "guillotina.behaviors.dynamic.IDynamicFieldValues" ] }' | http POST http://nohost/db/container Accept:application/json -a root:root
response
HTTP/1.1 201 OK Content-Type: application/json Location: http://localhost/db/container/foobar-fields { "@id": "http://localhost/db/container/foobar-fields", "@name": "foobar-fields", "@type": "Item", "@uid": "82d|eee37750cb5d4abb8fd3251f71133d58" }
- Status Codes:
200 OK -- Resource data
401 Unauthorized -- You are not authorized to perform the operation
404 Not Found -- The resource does not exist
- PATCH /(db)/(container)/(id)¶
Modify the content of this resource
Permission: guillotina.ModifyContent
Context: guillotina.interfaces.content.IResource
http
PATCH /db/container/foobar-fields HTTP/1.1 Accept: application/json Authorization: Basic cm9vdDpyb290 { "guillotina.behaviors.dynamic.IDynamicFieldValues": { "values": { "op": "update", "value": [ { "key": "foobar", "value": "value" } ] } } }
curl
curl -i -X PATCH http://nohost/db/container/foobar-fields -H "Accept: application/json" --data-raw '{ "guillotina.behaviors.dynamic.IDynamicFieldValues": { "values": { "op": "update", "value": [ { "key": "foobar", "value": "value" } ] } } }' --user root:root
httpie
echo '{ "guillotina.behaviors.dynamic.IDynamicFieldValues": { "values": { "op": "update", "value": [ { "key": "foobar", "value": "value" } ] } } }' | http PATCH http://nohost/db/container/foobar-fields Accept:application/json -a root:root
response
HTTP/1.1 204 OK Content-Type: application/octet-stream
- Status Codes:
200 OK -- Resource data
401 Unauthorized -- You are not authorized to perform the operation
404 Not Found -- The resource does not exist
- GET /(db)/(container)/(id)¶
Retrieves serialization of resource
Permission: guillotina.ViewContent
Context: guillotina.interfaces.content.IResource
http
GET /db/container/foobar-fields?include=guillotina.behaviors.dynamic.IDynamicFieldValues HTTP/1.1 Accept: application/json Authorization: Basic cm9vdDpyb290
curl
curl -i -X GET 'http://nohost/db/container/foobar-fields?include=guillotina.behaviors.dynamic.IDynamicFieldValues' -H "Accept: application/json" --user root:root
httpie
http 'http://nohost/db/container/foobar-fields?include=guillotina.behaviors.dynamic.IDynamicFieldValues' Accept:application/json -a root:root
response
HTTP/1.1 200 OK Content-Type: application/json { "@id": "http://localhost/db/container/foobar-fields", "@type": "Item", "@name": "foobar-fields", "@uid": "82d|eee37750cb5d4abb8fd3251f71133d58", "@static_behaviors": [ "guillotina.behaviors.dublincore.IDublinCore" ], "parent": { "@id": "http://localhost/db/container", "@name": "container", "@type": "Container", "@uid": "82dd9ab05c77472d9c01a325888f183c" }, "is_folderish": false, "creation_date": "2026-06-09T10:34:21.100715+00:00", "modification_date": "2026-06-09T10:34:21.100715+00:00", "guillotina.behaviors.dynamic.IDynamicFieldValues": { "values": { "foobar": "value" } } }
- Query Parameters:
include (string) -- (required) (required) (required)
omit (string) -- (required) (required) (required)
- Status Codes:
200 OK -- Resource data
401 Unauthorized -- You are not authorized to perform the operation
404 Not Found -- The resource does not exist