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 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": "40f70cd0f2f541608e010e6dfe1ef72e", "@static_behaviors": [], "parent": {}, "is_folderish": true, "creation_date": "2022-12-12T14:49:11.721468+00:00", "modification_date": "2022-12-12T14:49:11.721468+00:00", "type_name": "Container", "title": "container", "uuid": "40f70cd0f2f541608e010e6dfe1ef72e", "__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 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 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 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 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 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 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 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 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": "40f|d9a4f88f9ac04d60b8e4eb867e016b66" }
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 '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": "40f|d9a4f88f9ac04d60b8e4eb867e016b66", "@static_behaviors": [ "guillotina.behaviors.dublincore.IDublinCore" ], "parent": { "@id": "http://localhost/db/container", "@name": "container", "@type": "Container", "@uid": "40f70cd0f2f541608e010e6dfe1ef72e" }, "is_folderish": false, "creation_date": "2022-12-12T14:49:12.556107+00:00", "modification_date": "2022-12-12T14:49:12.556107+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