Skip to content
Talk to our solutions team

Content API

Every route requires a bearer token:

Authorization: Bearer <token>

There are no anonymous routes and no API-key path — all 37 content routes are guarded identically. The health and readiness probes are the only unauthenticated surface.

A missing or invalid token is 401 with a plain-text body, not the JSON error envelope.

The four CPET headers — X-Customer, X-Product, X-Env, X-Tenant — resolve the tenant, and every content app, content store and asset is scoped to it. A request that cannot resolve a tenant is rejected rather than served against a default.

The :contentapp and :contentstore path segments select within that tenant; they are not a substitute for it.

StatusMeaning
400Request parse or validation failure. By far the most common — a bad content type, a malformed path, a missing field
401Missing or invalid token, as plain text
403The tenant may not act on this app, store or asset
404No such app, store, type, template or asset
500Unexpected server error
501A declared operation that this build does not implement

400 and 500 carry the standard envelope.

GET /content/health (health)

response:

{
"healthy": true,
"dependencies": {},
"version": ""
}

The response also carries a memstats object. That is runtime diagnostics, not a contract — see API conventions. version is whatever the service set at startup, and most set nothing.

GET /content/ready (ready)

response:

ready:true

POST /content/entities/diff/sync ( sync diffed queries )

response:

{
"message": "queries ran successfully",
"queries": ""
}

POST /content/entities/diff/sync/:entity ( sync diffed entity )

keyvaluedata typedescription
entitytagstringentity name

response:

{
"message": "queries ran successfully",
"queries": ""
}

GET /content/entities/diff ( get different queries )

response:

{
"queries": ""
}

GET /content/entities/list ( list entities )

keyvaluedata typedescription
storephotosstringlist the entities based on store name
tagfoostringlist the entities based on tag name

response:

{
"datastore": "hotei",
"entities": [
{
"name": "asset",
"source": "content",
"store": "customer"
},
{
"name": "assetwithsimplestateflow",
"source": "content",
"store": "customer"
},
{
"name": "tag",
"source": "content",
"store": "customer"
},
{
"name": "photos_asset",
"source": "content",
"store": "customer"
},
{
"name": "assetwithcomplexstateflow",
"source": "content",
"store": "customer"
},
{
"name": "category",
"source": "content",
"store": "customer"
},
{
"name": "photos_folder",
"source": "content",
"store": "customer"
},
{
"name": "contentapptemplate",
"source": "content",
"store": "customer"
},
{
"name": "folder",
"source": "content",
"store": "customer"
}
]
}

GET /content/entities/list/:entity ( get entity details )

keyvaluedata typedescription
entityasseststringentity name

response:

{
"entity": {
"description": "",
"fields": [
{
"name": "id",
"description": "",
"type": "ULID",
"arraytype": "None",
"enum": "",
"embeddables": null,
"computed": true,
"serial": false,
"inherited": false,
"subfields": null,
"annotations": []
}
],
"name": "asset",
"service": "content"
}
}

GET /content/contentstore/list ( get list content stores )

keyvaluedata typedescription
namephotosstringname of the content store

response:

{
"contentstore": {
"photos": {
"name": "photos",
"assetentityname": "photos_asset",
"folderentityname": "photos_folder",
"active": true,
"version": {
"enabled": true
},
"locale": true,
"cacheexpiry": 86400000000000,
"parent": "01HCYX1Z5CV3DZ17N26BBVZ28P"
}
}
}

GET /content/contentapp/list ( get list content apps )

keyvaluedata typedescription
namecaretakerstringname of the content app

response:

{
"contentapp": {
"caretakerapp": {
"name": "caretakerapp",
"contenttypes": [
"photos"
],
"contentstores": {
"photos": {
"name": "photos",
"assetentityname": "photos_asset",
"folderentityname": "photos_folder",
"active": true,
"version": {
"enabled": true
},
"locale": true,
"cacheexpiry": 86400000000000,
"parent": "01HCYX1Z5CV3DZ17N26BBVZ28P"
}
},
"active": true,
"version": {
"enabled": true
},
"locale": {
"defaultlocale": "en-US",
"supportedlocales": [
"en-US",
"in-HI"
]
},
"entities": "contenttypedefinition"
}
}
}

POST /content/store/:contentstore/asset?filename=wallpaper.jpg ( content store create asset )

keyvaluedata typedescription
filenamewallpaper.jpgimagename of file
localeen_USstringfiles in specified region
pathabc/stringpath of the file
overwritetruebooleanIt just overwrite the existing file
createfolderstruebooleanIt just create folders in content store
contentstorephotosstringname of contentstore
descriptiona beautiful wallpaperstringsets the description field in uploaded asset and will be returned on X-Description header while fetching the asset

request:

keyvalue
filewallpaper.jpg

response:

{
"content-type": "image/jpeg",
"en_US:1": {
"meta": {
"access": [],
"bytes": 39290,
"createdby": "[email protected]",
"createdon": "2023-10-18T11:21:15+05:30",
"deletedby": null,
"deletedon": null,
"sha": "6e384c248a1840b7e1e3563c7a531528231173a0",
"updatedby": "[email protected]",
"updatedon": "2023-10-18T11:21:15+05:30",
"version": 1
}
},
"id": "01HD0ND5ARFBPJTTH6K0YPNEM6",
"meta": {},
"name": "wallpaper.jpg",
"parentid": "01HCYX1Z5CV3DZ17N26BBVZ28P",
"state": null,
"store": "photos",
"tags": null,
"url": "/store/photos/asset?id=01HD0ND5ARFBPJTTH6K0YPNEM6&locale=en_US"
}

PUT /content/store/:contentstore/asset?id=01HD0ND5ARFBPJTTH6K0YPNEM6 ( content store update asset )

keyvaluedata typedescription
id01HD0ND5ARFBPJTTH6K0YPNEM6ulidid of file
localeen_USstringfiles in specified region
pathabc/stringpath of the file
overwritetruebooleanIt just overwrite the existing file
createfolderstruebooleanIt just create folders in content store
transformsresize,w_100,h_100stringIt able to resize the given file based on given width and height
contentstorephotosstringname of contentstore

request:

keyvalue
filespider.png

response:

{
"content-type": "image/png",
"en_US:2": {
"meta": {
"access": [],
"bytes": 48983,
"createdby": "[email protected]",
"createdon": "2023-10-18T11:21:15+05:30",
"deletedby": null,
"deletedon": null,
"sha": "684dbfa513d78c28219133f31064379252492717",
"updatedby": "[email protected]",
"updatedon": "2023-10-18T12:00:51+05:30",
"version": 2
}
},
"id": "01HD0ND5ARFBPJTTH6K0YPNEM6",
"meta": {},
"name": "wallpaper.jpg",
"parentid": "01HCYX1Z5CV3DZ17N26BBVZ28P",
"state": null,
"store": "photos",
"tags": null,
"url": "/store/photos/asset?id=01HD0ND5ARFBPJTTH6K0YPNEM6&locale=en_US"
}

GET /content/store/:contentstore/asset/id/:id ( content store download asset by id )

keyvaluedata typedescription
id01HD0R90TDNWG51FH7D57E2BPPulidid of file
localeen_USstringfiles in specified region
metadatatruebooleanIt gives details of file
version2intIt gives file based on version
transformsresize,w_100,h_100stringIt able to resize the given file based on given width and height
contentstorephotosstringname of contentstore

response:

image

GET /content/store/:contentstore/asset/path/:path ( content store download asset by path )

keyvaluedata typedescription
pathmylogo.jpgjpgpath of file
localeen_USstringfiles in specified region
metadatatruebooleanIt gives details of file
version2intIt gives file based on version
transformsresize,w_100,h_100stringIt able to resize the given file based on given width and height
contentstorephotosstringname of contentstore

response:

image

GET /content/store/:contentstore/asset?path=mylogo.jpg ( content store download asset )

keyvaluedata typedescription
pathmylogo.jpgjpgpath of file
localeen_USstringfiles in specified region
metadatatruebooleanIt gives details of file
version2intIt gives file based on version
transformsresize,w_100,h_100stringIt able to resize the given file based on given width and height
contentstorephotosstringname of contentstore

response:

image

DELETE /content/store/:contentstore/asset?path=images/car.jpg ( content store delete asset )

keyvaluedata typedescription
pathimages/car.jpgstringpath of the file
contentstorephotosstringname of contentstore

response:

asset deleted successfully

POST /content/store/:contentstore/folder?name=abc1&path=/kreshnaa&createfolders=true ( content store add folder )

keyvaluedata typedescription
path/kreshnaastringpath of folder
name/abc1stringname of folder
createfolderstruebooleanaccess to create folder
contentstorephotosstringname of contentstore

response:

{
"data": {
"photos_folder": {
"contentstore": "photos",
"createdby": "[email protected]",
"createdon": "2023-10-18T13:49:27+05:30",
"deletedby": null,
"deletedon": null,
"description": null,
"id": "01HD0XWH3Z4C09B9BGGD0M68E1",
"meta": {},
"name": "abc1",
"parentid": "01HD0XWH3N8C8RSKYF4ZH80ZRC",
"updatedby": "[email protected]",
"updatedon": "2023-10-18T13:49:27+05:30",
"version": 1
}
}
}

GET /content/store/:contentstore/list?path=/&depth=10 ( content store get folder list )

keyvaluedata typedescription
contentstorephotosstringname of contentstore

response:

{
"assets": [
"bg.png",
"wallpaper.jpg",
"logo.jpg",
"first.jpg",
"second.jpg",
"mylogo.jpg",
"myspider.png"
],
"folders": [
{
"kreshnaa": {
"assets": [],
"folders": [
{
"abc1": {
"assets": [],
"folders": []
}
}
]
}
}
]
}

PUT /content/store/:contentstore/folder?currentpath=/kreshnaa&newpath=/maddi ( content store update folder )

keyvaluedata typedescription
currentpath/kreshnaastringpath of folder
newpath/maddistringpath of new folder
contentstorephotosstringname of contentstore

request:

{
"parentid": "01HD0XWH3Z4C09B9BGGD0M68E1"
}

response:

{
"data": {
"photos_folder": {
"contentstore": "photos",
"createdby": "[email protected]",
"createdon": "2023-10-18T13:49:27+05:30",
"deletedby": null,
"deletedon": null,
"description": null,
"id": "01HD0XWH3N8C8RSKYF4ZH80ZRC",
"meta": {},
"name": "maddi",
"parentid": "01HCYX1Z5CV3DZ17N26BBVZ28P",
"updatedby": "[email protected]",
"updatedon": "2023-10-18T13:51:06+05:30",
"version": 2
}
}
}

DELETE /content/store/:contentstore/folder?path=/maddi&forcedelete=true ( content store delete folder )

keyvaluedata typedescription
path/maddistringpath of folder
contentstorephotosstringname of contentstore

response:

{
"success": true,
"message": "folder deleted successfully"
}

POST /content/app/:contentapp/contenttype ( create content app type )

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp

request:

{
"definition": "---\nentities:\n- name: photos\n fields:\n - name: id\n type: ulid\n defaultvalue: ulid()\n validations:\n - type: required\n - type: unique\n message: id field needs to be unique\n - type: final\n message: id field cannot be updated\n - name: patientname\n type: string\n validations:\n - type: required\n - name: carername\n type: string\n validations:\n - type: required\n - name: images\n type: array(string)\n ",
"name": "photos"
}

response:

{
"data": {
"contenttypedefinition": {
"contentapp": "caretakerapp",
"createdby": "[email protected]",
"createdon": "2023-10-18T14:03:20+05:30",
"definition": "---\nentities:\n- name: photos\n fields:\n - name: id\n type: ulid\n defaultvalue: ulid()\n validations:\n - type: required\n - type: unique\n message: id field needs to be unique\n - type: final\n message: id field cannot be updated\n - name: patientname\n type: string\n validations:\n - type: required\n - name: carername\n type: string\n validations:\n - type: required\n - name: images\n type: array(string)\n ",
"deletedby": null,
"deletedon": null,
"id": "01HD0YNYVPB9HR9WM8X30F0PC6",
"name": "photos",
"properties": {},
"updatedby": "[email protected]",
"updatedon": "2023-10-18T14:03:20+05:30",
"version": 1
}
}
}

GET /content/app/:contentapp/contenttype ( get content app type )

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp

response:

{
"data": {
"contenttypedefinition": {
"contentapp": "caretakerapp",
"createdby": "[email protected]",
"createdon": "2023-10-18T14:03:20+05:30",
"definition": "---\nentities:\n- name: photos\n fields:\n - name: id\n type: ulid\n defaultvalue: ulid()\n validations:\n - type: required\n - type: unique\n message: id field needs to be unique\n - type: final\n message: id field cannot be updated\n - name: patientname\n type: string\n validations:\n - type: required\n - name: carername\n type: string\n validations:\n - type: required\n - name: images\n type: array(string)\n ",
"deletedby": null,
"deletedon": null,
"id": "01HD0YNYVPB9HR9WM8X30F0PC6",
"name": "photos",
"properties": {},
"updatedby": "[email protected]",
"updatedon": "2023-10-18T14:03:20+05:30",
"version": 1
}
}
}

GET /content/app/:contentapp/contenttype/:id ( get content app type by id )

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp
id01HD0YNYVPB9HR9WM8X30F0PC6ulidid of contentapp

response:

{
"data": {
"contenttypedefinition": {
"contentapp": "caretakerapp",
"createdby": "[email protected]",
"createdon": "2023-10-18T14:03:20+05:30",
"definition": "---\nentities:\n- name: photos\n fields:\n - name: id\n type: ulid\n defaultvalue: ulid()\n validations:\n - type: required\n - type: unique\n message: id field needs to be unique\n - type: final\n message: id field cannot be updated\n - name: patientname\n type: string\n validations:\n - type: required\n - name: carername\n type: string\n validations:\n - type: required\n - name: images\n type: array(string)\n ",
"deletedby": null,
"deletedon": null,
"id": "01HD0YNYVPB9HR9WM8X30F0PC6",
"name": "photos",
"properties": {},
"updatedby": "[email protected]",
"updatedon": "2023-10-18T14:03:20+05:30",
"version": 1
}
}
}

PUT /content/app/:contentapp/contenttype ( update content app type )

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp

request:

{
"id": "01HD0YNYVPB9HR9WM8X30F0PC6",
"contentapp": "carecaretakerapp",
"definition": "---\nentities:\n- name: photos\n fields:\n - name: id\n type: ulid\n defaultvalue: ulid()\n validations:\n - type: required\n - type: unique\n message: id field needs to be unique\n - type: final\n message: id field cannot be updated\n - name: patientname\n type: string\n validations:\n - type: required\n - name: carername\n type: string\n validations:\n - type: required\n "
}

response:

{
"data": {
"contenttypedefinition": {
"contentapp": "caretakerapp",
"createdby": "[email protected]",
"createdon": "2023-10-18T14:03:20+05:30",
"definition": "---\nentities:\n- name: photos\n fields:\n - name: id\n type: ulid\n defaultvalue: ulid()\n validations:\n - type: required\n - type: unique\n message: id field needs to be unique\n - type: final\n message: id field cannot be updated\n - name: patientname\n type: string\n validations:\n - type: required\n - name: carername\n type: string\n validations:\n - type: required\n ",
"deletedby": null,
"deletedon": null,
"id": "01HD0YNYVPB9HR9WM8X30F0PC6",
"name": "photos",
"properties": {},
"updatedby": "[email protected]",
"updatedon": "2023-10-18T14:12:42+05:30",
"version": 2
}
}
}

DELETE /content/app/:contentapp/contenttype/:id ( delete content app type by id )

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp
id01HE239S5XTAZYNKJV9SRNPYY6ulidid of contentapp

response:

{
"data": {
"contenttypedefinition": {
"contentapp": "caretakerapp",
"contenttypedefinition_history": null,
"createdby": "[email protected]",
"createdon": "2023-10-31T10:59:00+05:30",
"definition": "---\nentities:\n- name: blog10\n inherits: kisai.common\n fields:\n - name: id\n type: ulid\n defaultvalue: ulid()\n validations:\n - type: required\n - type: unique\n message: id field needs to be unique\n - type: final\n message: id field cannot be updated\n - name: name\n type: string\n validations:\n - type: required\n - name: assets\n type: array(string)\n validations:\n - type: required\n - name: file\n type: string\n validations:\n - type: required",
"deletedby": "[email protected]",
"deletedon": "2023-10-31T10:59:12+05:30",
"id": "01HE239S5XTAZYNKJV9SRNPYY6",
"name": "blog10",
"properties": {},
"updatedby": "[email protected]",
"updatedon": "2023-10-31T10:59:00+05:30",
"version": 1
}
}
}

POST /content/app/:contentapp/type/:contenttype ( content type create entry )

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp
contenttypephotosstringname of contenttype

request:

keyvalue
data{"patientname": "jorge","carername": "ramu"}
imagesfiles

response:

{
"assets": {
"images": {
"assets": [
{
"content-type": "image/jpeg",
"en-US:1": {
"meta": {
"access": [],
"bytes": 8699,
"createdby": "[email protected]",
"createdon": "2023-10-18T14:26:19+05:30",
"deletedby": null,
"deletedon": null,
"sha": "f19a88ad812968296db7cb9d91d25a3f7e8239c4",
"updatedby": "[email protected]",
"updatedon": "2023-10-18T14:26:19+05:30",
"version": 1
}
},
"id": "01HD1000YAN48D6H1XFEEJJSY2",
"meta": {},
"name": "anyalsis1.jpg",
"parentid": "01HCYX1Z5CV3DZ17N26BBVZ28P",
"state": null,
"store": "photos",
"tags": null,
"url": "/store/photos/asset?id=01HD1000YAN48D6H1XFEEJJSY2&locale=en-US"
}
]
}
},
"data": {
"photos": {
"carername": "ramu",
"createdby": "[email protected]",
"createdon": "2023-10-18T14:26:19+05:30",
"deletedby": null,
"deletedon": null,
"id": "01HD1000YJV0BQDEYT0TKAMQ9V",
"images": [
"01HD1000YAN48D6H1XFEEJJSY2"
],
"patientname": "jorge",
"updatedby": "[email protected]",
"updatedon": "2023-10-18T14:26:19+05:30"
}
}
}

POST /content/app/:contentapp/type/:contenttype (content type create entry json )

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp
contenttypephotosstringname of contenttype

request:

{
"patientname": "Michkel",
"carername": "ravi"
}

response:

{
"assets": {},
"data": {
"photos": {
"carername": "ravi",
"createdby": "[email protected]",
"createdon": "2023-10-18T14:43:09+05:30",
"deletedby": null,
"deletedon": null,
"id": "01HD10YVFZMY2AXXBWGSZQZV17",
"images": null,
"patientname": "Michkel",
"updatedby": "[email protected]",
"updatedon": "2023-10-18T14:43:09+05:30"
}
}
}

PUT /content/app/:contentapp/type/:contenttype (content type update entry with json body )

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp
contenttypephotosstringname of contenttype

request:

{
"id": "01HD10YVFZMY2AXXBWGSZQZV17",
"carername": "Abhi"
}

response:

{
"assets": {},
"data": {
"photos": {
"carername": "Abhi",
"createdby": "[email protected]",
"createdon": "2023-10-18T14:43:09+05:30",
"deletedby": null,
"deletedon": null,
"id": "01HD10YVFZMY2AXXBWGSZQZV17",
"images": null,
"patientname": "Michkel",
"updatedby": "[email protected]",
"updatedon": "2023-10-18T14:51:33+05:30"
}
}
}

PUT /content/app/:contentapp/type/:contenttype (content type update entry )

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp
contenttypephotosstringname of contenttype

request:

keyvalue
data{"id": "01HD1000YJV0BQDEYT0TKAMQ9V", "carername": "Rathol"}
imagesfile

response:

{
"assets": {
"images": {
"assets": [
{
"content-type": "image/png",
"en-US:1": {
"meta": {
"access": [],
"bytes": 52909,
"createdby": "[email protected]",
"createdon": "2023-10-18T16:35:44+05:30",
"deletedby": null,
"deletedon": null,
"sha": "10bee6c29c865f8c56e22875542c1c93f677720b",
"updatedby": "[email protected]",
"updatedon": "2023-10-18T16:35:44+05:30",
"version": 1
}
},
"id": "01HD17D0BR6DARFEK6Z5S5HB6Y",
"meta": {},
"name": "encryption-algorithms-what-is-cryptography-edurek.png",
"parentid": "01HCYX1Z5CV3DZ17N26BBVZ28P",
"state": null,
"store": "photos",
"tags": null,
"url": "/store/photos/asset?id=01HD17D0BR6DARFEK6Z5S5HB6Y&locale=en-US"
}
]
}
},
"data": {
"photos": {
"carername": "Rathol",
"createdby": "[email protected]",
"createdon": "2023-10-18T14:26:19+05:30",
"deletedby": null,
"deletedon": null,
"id": "01HD1000YJV0BQDEYT0TKAMQ9V",
"images": [
"01HD1000YAN48D6H1XFEEJJSY2",
"01HD17D0BR6DARFEK6Z5S5HB6Y"
],
"patientname": "jorge",
"updatedby": "[email protected]",
"updatedon": "2023-10-18T16:35:44+05:30"
}
}
}

PUT /content/app/:contentapp/type/:contenttype/:contenttypeid/asset/id/:id/upload ( content type download asset file by id )

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp
contenttypephotosstringname of contenttype
contenttypeid01HD1000YJV0BQDEYT0TKAMQ9Vulidid of contenttype row
id01HD1000YAN48D6H1XFEEJJSY2uliddefining id

request:

keyvalue
imagesfile

response:

{
"content-type": "image/png",
"en_US:2": {
"meta": {
"access": [],
"bytes": 48983,
"createdby": "[email protected]",
"createdon": "2023-10-18T11:21:15+05:30",
"deletedby": null,
"deletedon": null,
"sha": "684dbfa513d78c28219133f31064379252492717",
"updatedby": "[email protected]",
"updatedon": "2023-10-18T12:00:51+05:30",
"version": 2
}
},
"id": "01HD0ND5ARFBPJTTH6K0YPNEM6",
"meta": {},
"name": "wallpaper.jpg",
"parentid": "01HCYX1Z5CV3DZ17N26BBVZ28P",
"state": null,
"store": "photos",
"tags": null,
"url": "/store/photos/asset?id=01HD0ND5ARFBPJTTH6K0YPNEM6&locale=en_US"
}

PUT /content/app/:contentapp/type/:contenttype/:contenttypeid/asset/field/:field/id/:id ( Content type update by id )

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp
contenttypephotosstringname of contenttype
contenttypeid01HD1000YJV0BQDEYT0TKAMQ9Vulidid of contenttype row
id01HD1000YAN48D6H1XFEEJJSY2uliddefining id
fieldimagesstringdefining field

request:

keyvalue
imagesfile

response:

{
"content-type": "image/png",
"en_US:2": {
"meta": {
"access": [],
"bytes": 48983,
"createdby": "[email protected]",
"createdon": "2023-10-18T11:21:15+05:30",
"deletedby": null,
"deletedon": null,
"sha": "684dbfa513d78c28219133f31064379252492717",
"updatedby": "[email protected]",
"updatedon": "2023-10-18T12:00:51+05:30",
"version": 2
}
},
"id": "01HD1000YJV0BQDEYT0TKAMQ9V",
"meta": {},
"name": "wallpaper.jpg",
"parentid": "01HCYX1Z5CV3DZ17N26BBVZ28P",
"state": null,
"store": "photos",
"tags": null,
"url": "/store/photos/asset?id=01HD0ND5ARFBPJTTH6K0YPNEM6&locale=en_US"
}

GET /content/app/:contentapp/type/:contenttype/:contenttypeid/asset/:field/download/id/:id ( content type download asset file by id )

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp
contenttypephotosstringname of contenttype
contenttypeid01HD1000YJV0BQDEYT0TKAMQ9Vulidid of contenttype row
fieldimagesstringdefining field name
id01HD1000YAN48D6H1XFEEJJSY2uliddefining id of folder

response: image

GET /content/app/:contentapp/type/:contenttype?limit=1&offset=1 ( content type get entry )

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp
contenttypephotosstringname of contenttype
limit1inthow many to get
offset1intwhere to start

response:

{
"data": {
"photos": {
"carername": "Rathol",
"createdby": "[email protected]",
"createdon": "2023-10-18T14:26:19+05:30",
"deletedby": null,
"deletedon": null,
"id": "01HD1000YJV0BQDEYT0TKAMQ9V",
"images": [
"01HD1000YAN48D6H1XFEEJJSY2",
"01HD17D0BR6DARFEK6Z5S5HB6Y"
],
"patientname": "jorge",
"updatedby": "[email protected]",
"updatedon": "2023-10-18T16:35:44+05:30"
}
}
}

PATCH /content/app/:contentapp/type/:contenttype?limit=1&offset=1 ( content type get entry with body )

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp
contenttypephotosstringname of contenttype
limit1inthow many to get
offset1intwhere to start

request:

{
"filter": "id = '01HD1000YJV0BQDEYT0TKAMQ9V'"
}

response:

{
"data": {
"photos": {
"carername": "Rathol",
"createdby": "[email protected]",
"createdon": "2023-10-18T14:26:19+05:30",
"deletedby": null,
"deletedon": null,
"id": "01HD1000YJV0BQDEYT0TKAMQ9V",
"images": [
"01HD1000YAN48D6H1XFEEJJSY2",
"01HD17D0BR6DARFEK6Z5S5HB6Y"
],
"patientname": "jorge",
"updatedby": "[email protected]",
"updatedon": "2023-10-18T16:35:44+05:30"
}
}
}

GET /content/app/:contentapp/type/:contenttype?limit=1&offset=1&filter=id='01HD1C7XRSN7KE743R0A1GMC4R' ( content type get entry by id)

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp
contenttypephotosstringname of contenttype
limit1inthow many to get
offset1intwhere to start
id01HD1C7XRSN7KE743R0A1GMC4Rulidid of contenttype

response:

{
"data": {
"photos": {
"carername": "ramu",
"createdby": "[email protected]",
"createdon": "2023-10-18T18:00:20+05:30",
"deletedby": null,
"deletedon": null,
"id": "01HD1C7XRSN7KE743R0A1GMC4R",
"images": [
"01HD1C7XR7B7JRET0N5172G36D"
],
"patientname": "jorge",
"updatedby": "[email protected]",
"updatedon": "2023-10-18T18:00:20+05:30"
}
}
}

DELETE /content/app/:contentapp/type/:contenttype/:id (content type delete entry by id)

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp
contenttypephotosstringname of type
id01HE27G5H3YAW1M1BDYRF3A6MTulidid of type

response:

{
"data": {
"photos": {
"carername": "c1",
"createdby": "[email protected]",
"createdon": "2023-10-31T12:12:24+05:30",
"deletedby": "[email protected]",
"deletedon": "2023-10-31T12:23:24+05:30",
"id": "01HE27G5H3YAW1M1BDYRF3A6MT",
"images": null,
"patientname": "p1",
"updatedby": "[email protected]",
"updatedon": "2023-10-31T12:12:24+05:30"
}
}
}

POST /content/app/:contentapp/template (create content app template)

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp

request:

{
"name": "template1",
"content": "carer {{id}}"
}

response:

{
"data": {
"contentapptemplate": {
"content": "carer {{id}}",
"contentapp": "caretakerapp",
"createdby": "[email protected]",
"createdon": "2023-10-19T10:05:43+05:30",
"deletedby": null,
"deletedon": null,
"id": "01HD33FJJ7MFTWFJ5X0RSDVEYZ",
"name": "template1",
"path": "/",
"updatedby": "[email protected]",
"updatedon": "2023-10-19T10:05:43+05:30",
"version": 1
}
}
}

GET /content/app/:contentapp/template/:path (read content app template by path)

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp
pathtemplate1stringpath of contenttype

response:

carer {{id}}

PUT /content/app/:contentapp/template/path/:path (update content app template by path)

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp
pathtemplate1stringpath of contenttype

request:

{
"content": "carer updated {{id}}"
}

response:

{
"data": {
"contentapptemplate": {
"content": "carer updated {{id}}",
"contentapp": "caretakerapp",
"createdby": "[email protected]",
"createdon": "2023-10-19T10:05:43+05:30",
"deletedby": null,
"deletedon": null,
"id": "01HD33FJJ7MFTWFJ5X0RSDVEYZ",
"name": "template1",
"path": "/",
"updatedby": "[email protected]",
"updatedon": "2023-10-19T10:36:37+05:30",
"version": 2
}
}
}

PUT /content/app/:contentapp/template/id/:id (update content app template by id)

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp
id01HD33FJJ7MFTWFJ5X0RSDVEYZulidpath of contenttype

request:

{
"content": "carer updated ver 2 {{id}}"
}

response:

{
"data": {
"contentapptemplate": {
"content": "carer updated ver 2 {{id}}",
"contentapp": "caretakerapp",
"createdby": "[email protected]",
"createdon": "2023-10-19T10:05:43+05:30",
"deletedby": null,
"deletedon": null,
"id": "01HD33FJJ7MFTWFJ5X0RSDVEYZ",
"name": "template1",
"path": "/",
"updatedby": "[email protected]",
"updatedon": "2023-10-19T10:46:46+05:30",
"version": 3
}
}
}

Content app graphql get content type entries

Section titled “Content app graphql get content type entries”

POST /content/app/:contentapp/graphql (update content app template by id)

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp

request:

Query{ photos_folder { id }}

response:

{
"data": {
"photos_folder": {
"id": "01HCYX1Z5CV3DZ17N26BBVZ28P"
}
}
}

PATCH /content/app/:contentapp (content app bulk content entry query)

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp

request:

{
"queries":[
{
"query": "photos(id:\"01HD1000YAN48D6H1XFEEJJSY2\"){}"
}
]
}

response:

{
"data": {
"photos": null
}
}

DELETE /content/app/:contentapp/template/path/:path (delete content app template by path)

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp
pathtemplate1stringpath of template

response:

{
"data": {
"contentapptemplate": {
"content": "carer updated ver 2 {{id}}",
"contentapp": "caretakerapp",
"contentapptemplate_history": null,
"createdby": "[email protected]",
"createdon": "2023-10-19T10:05:43+05:30",
"deletedby": "[email protected]",
"deletedon": "2023-10-19T10:56:06+05:30",
"id": "01HD33FJJ7MFTWFJ5X0RSDVEYZ",
"name": "template1",
"path": "/",
"updatedby": "[email protected]",
"updatedon": "2023-10-19T10:46:46+05:30",
"version": 3
}
}
}

DELETE /content/app/:contentapp/template/id/:id (delete content app template by id)

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp
id01HD33FJJ7MFTWFJ5X0RSDVEYZulidid of template

response:

{
"data": {
"contentapptemplate": {
"content": "carer updated ver 2 {{id}}",
"contentapp": "caretakerapp",
"contentapptemplate_history": null,
"createdby": "[email protected]",
"createdon": "2023-10-19T10:05:43+05:30",
"deletedby": "[email protected]",
"deletedon": "2023-10-19T10:56:06+05:30",
"id": "01HD33FJJ7MFTWFJ5X0RSDVEYZ",
"name": "template1",
"path": "/",
"updatedby": "[email protected]",
"updatedon": "2023-10-19T10:46:46+05:30",
"version": 3
}
}
}

POST /content/app/:contentapp/template/:template (render template by path with graphql)

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp
templatetemplate1stringname of template

request:

{ photos{ id }}

response:

carer

Render content app template by path with data

Section titled “Render content app template by path with data”

PATCH /content/app/:contentapp/template/:template (render content app template by path with data)

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp
templatetemplate1stringname of template

request:

{
"queries":[
{
"query": "photos(id:\"01HD1000YAN48D6H1XFEEJJSY2\"){}"
}
]
}

response:

carer

Render content app template by path with custom data

Section titled “Render content app template by path with custom data”

PATCH /content/app/:contentapp/template/:template (render content app template by path with custom data)

keyvaluedata typedescription
contentappcaretakerappstringname of contentapp
templatetemplate1stringname of template

request:

{
"data":{
"photos.id": "Custom example"
}
}

response:

carer Custom example