Up - API Reference - Home
The Unicat API is JSON based for both requests and responses. A JSON Web Token (JWT) is used for authorization.
The base endpoints for the API are:
https://unicat.app/api
https://unicat.app/sync
https://unicat.app/dam
https://unicat.app/media
The api
endpoint is used for user and project management and project data manipulation; the sync
endpoint is used for real-time syncing of that data in a multi-user environment.
The dam
API is used for image information and transforms; the media
endpoint is used to fetch the transformed images and previews.
The global API starts directly from the base endpoint /api
, for example
POST /api/init
Authorization: Bearer <JWT>
/ping
checks if the service is up and running
/login
provide credentials, get token and init data
/init
gets initial user and projects data
/languages/…
all available languages for internationalization and localization
… get
/projects/…
manage a user's projects
… get
, create
, update
, upload_icon
, delete_icon
, delete
, undelete
, permanent_delete
/users/get
get info about a user
/members/get
get info about a user membership
/username
check if a username is available
/reset_password_request
initiate a password reset
/reset_password
complete a password reset
/signup_request
initiate an account signup
/signup
complete an account signup
/account/…
manage a user's account
… update
, update_email_request
, update_email
, upload_avatar
, delete_avatar
, delete
, accept_invite
, decline_invite
, leave_project
/init_invite
gets initial invitee-project data
/decline_invite
decline an invite without auth
The project API starts from the project endpoint /api/p/<project_gid>
, for example
POST /api/p/84a1b5e4-fb5d-4ad6-a497-a3cf7eaf29b1/assets/get
Authorization: Bearer <JWT>
/login
provide credentials, get token and init data
/auth
provide api_key, get token and init data
/init
gets initial user, projects, project, and project members data
/batch
* execute a set of sub-requests as a transaction
/backups/…
database backup and restore
… create
, update
, restore
, delete
/languages/…
project internationalization/localization languages
… add
, move
, remove
/channels/…
filtering of records for output
… create
, update
, move
, delete
/orderings/…
ordering of records for output
… create
, update
, move
, delete
/fieldlists/…
which fields of a record are included in the output
… create
, update
, move
, delete
/definitions/…
define types of records with classes and fields
… get
, create
, modify
, commit
, revert
, save_as_new
, copy
, delete
,
… classes/add
, classes/move
, classes/remove
,
… fields/add
, fields/move
, fields/remove
,
… metadata/set
, metadata/clear
… fieldlists/fields/add
, fieldlists/fields/move
, fieldlists/fields/remove
,
… childdefinitions/add
, childdefinitions/move
, childdefinitions/remove
… layouts/modify
… layouts/components/create
, layouts/components/modify
, layouts/components/move
, layouts/components/delete
/classes/…
group fields into classes
… get
, create
, modify
, commit
, revert
, save_as_new
, copy
, delete
,
… fields/add
, fields/move
, fields/remove
… metadata/set
, metadata/clear
… layouts/modify
… layouts/components/create
, layouts/components/modify
, layouts/components/move
, layouts/components/delete
/fields/…
define types of fields with options and validation
… get
, create
, modify
, commit
, revert
, save_as_new
, copy
, delete
… metadata/set
, metadata/clear
/layouts/get
layout of fields in the worksheets
/records/…
product information
… get
, create
, copy
, shallow_copy
, duplicate
, link
, unlink
, update
, move
, delete
, undelete
, permanent_delete
, root
, children
, tree
, worksheet
,
… excel/children
, excel/update
,
… search
/records/bulk/…
bulk operations on records
… get
, move
, copy
, shallow_copy
, link
, duplicate
, delete
, undelete
, permanent_delete
/records/fields/preview
generate a preview for a record field's value
/records/channels/…
toggle channel availability
… set
, copy_from_parent
, copy_down
, copy_up
/records/orderings/set
set orderings for a single record - you should use /records/move
instead
/records/definition/…
modify a record's definition
… set
, revert
, copy_to_siblings
/records/definition/fields/…
modify a record definition's custom fields
… add
, move
, remove
/records/definition/classes/…
modify a record definition's classes
… add
, move
, remove
/records/definition/fieldlists/fields/…
modify a record definition fieldlist's fields
… add
, move
, remove
/records/definition/layouts/…
modify a record definition layout
… modify
, revert
… components/create
, components/modify
, components/move
, components/delete
/assets/…
images, files, and folders
… get
, create
, update
, upload
, upload_update
, move
, delete
, undelete
, permanent_delete
, root
, children
, tree
, worksheet
,
… search
, search/folders
, search/autocomplete
/assets/bulk/…
bulk operations on assets
… get
, move
, delete
, undelete
, permanent_delete
/schema/…
combined definitions, classes, fields
… search
… bulk/get
, bulk/commit
, bulk/revert
, bulk/save_as_new
, bulk/copy
, bulk/delete
/queries/…
define queries with types, search terms, and filters
… get
, create
, update
, copy
, delete
/members/…
manage project membership
… get
, invite
, resend_invite
, deactivate
, reactivate
, remove
/apikeys/…
manage a project's API keys
… get
, create
, update
, deactivate
, reactivate
, delete
* - to be done
The sync API is a real-time API based on socket.io
. We provide examples using the python library python-socketio
. In addition, we have a /sync/get
endpoint for non-real-time sync.
The DAM API starts from the base endpoint /dam
, for example
GET /dam/p/84a1b5e4-fb5d-4ad6-a497-a3cf7eaf29b1/transform/6e195808-2711-4007-ac41-e59af27cb15c.jpg/fit=869,869/type=jpg/dpr=2/key=-a9a5c9f
Authorization: Bearer <JWT>
/ping
checks if the service is up and running
/p/<project gid>/info
get info for an asset
/p/<project gid>/transform
transform an asset for preview and production
/p/<project gid>/publish
make an original asset available for download
/p/<project gid>/unpublish
make an original asset private again
Get media from the file system. The URLs are returned from the transform
endpoint.
These are public files.
GET /media/p/84a1b5e4-fb5d-4ad6-a497-a3cf7eaf29b1/var/6e195808-2711-4007-ac41-e59af27cb15c@-a9a5c9f.jpg
Found in the data
property of successful requests.
Global
cc.users
User info like name, email, avatar.
cc.projects
Project info like name, icon, owner, channels.
cc.projects_members
Member info per project, like status, roles.
cc.languages
Available languages for internationalization and localization.
Per project
records
Record info with hierarchy, definition, field values.
definitions
Definition info with name, classes, fields.
classes
Class info with name, fields.
fields
Field info with name, type, options.
layouts
Layout info with hierarchy.
assets
Asset info with hierarchy, type, name.
queries
Query info with type, name, q, and filter.
Found in the result
property of unsuccessful requests.
Errors Error codes plus messages.
Found in the result
property of unsuccessful requests that generated a 1001 - Validation error
error.
Validation information Validation error and report information.