Introduction
The Content Management API (CMA) is a part of the Penzle platform that enables developers to manage and deliver content to their applications and websites. The CMA provides an HTTP-based API that can be used to create, read, update, and delete content in a Penzle project. The API allows developers to access their content in a structured and organized manner, making it easy to retrieve and display the content in their applications.
The API also provides tools and features that enable developers to manage their content securely and efficiently, including versioning, webhooks, and access control. With the Penzle CMA, developers can integrate their content into any platform, regardless of the programming language or framework used.
An overview of the API
The Content Management API (CMA) is a RESTful API that follows the architectural constraints of the Representational State Transfer (REST) architectural style. The API allows you to create, retrieve, update, and delete content stored in Penzle using standard HTTP requests, such as GET, POST, PUT, and DELETE.
The base URL for the CMA is:
https://api.penzle.com
Authentication
To manage content stored in Penzle, authentication of your API requests is required. This is achieved by adding an API key to your requests that specifies your Penzle account and the particular project you would like to access.
Content Management API (CMA) Key: This key is used to manage and manipulate content within your Penzle account.
More details about Penzle authentication can be found in our reference guide.
Entries
Entries are the basic building blocks of Penzle's content model and represent individual pieces of content in your project.
An entry can be anything from a blog post to a product description and include various fields, such as text, images, and numbers. Entries can have link fields that point to other entries or assets. You can learn more about links in our concept guide.
Entry
An Entry in Penzle represents a single piece of content in your project.
Create a new entry
/api/project/{PROJECT_CODE_NAME}/environment/{ENVIRONMENT_CODE_NAME}/entries
This endpoint allows you to create a new entry in a specified content type within your Penzle project. The endpoint takes as input a JSON object that defines the fields and values for the new entry.
It is important to note that creating an entry may result in content validation errors if the provided data does not match the defined fields for the specified content type. It is recommended to handle these errors appropriately in your code and validate the input data before making the API request.
Parameters
project |
string Required
A unique identifier of your project.
|
environment |
string Required
A unique identifier of the environment within the project.
|
REQUEST BODY SCHEMA: application/json
language |
string Nullable
The language code of the entry.
|
name |
string Required
The name of the entry.
|
template |
string Required
The data template that is associated with the entry.
|
parentId |
string Nullable
The unique identifier of the parent entry, if applicable.
|
fields |
object Nullable
The fields and their values that define the content of the entry.
|
base |
array of objects Nullable
Data templates from inherited content models, if applicable.
|
slug |
string Nullable
The URL-friendly identifier of the entry.
|
Responses
Delete a single entry
api/project/{PROJECT_CODE_NAME}/environment/{ENVIRONMENT_CODE_NAME}/entries/{ENTRY_ID}
This endpoint for deleting an entry allows you to delete a specific entry from your project by making a DELETE request. The endpoint requires the entry_id of the entry you want to delete.
Parameters
id |
string Required
The unique entry id.
|
project |
string Required
A unique identifier of your project.
|
environment |
string Required
A unique identifier of the environment within the project.
|
Responses
Update a single entry
api/project/{PROJECT_CODE_NAME}/environment/{ENVIRONMENT_CODE_NAME}/entries/{ENTRY_ID}
This endpoint allows you to modify an existing entry in your project by making a PUT request.
It is important to note that you can update a corresponding slug, so make sure to handle any potential impacts to your content URLs if you use slugs in your project.
Parameters
id |
string($uuid) Required
A unique entry id.
|
project |
string Required
A unique identifier of your project.
|
environment |
string Required
A unique identifier of the environment within the project.
|
REQUEST BODY SCHEMA: application/json
language |
string Nullable
The language code of the entry.
|
name |
string Required
The name of the entry.
|
template |
string Required
The data template that is associated with the entry.
|
parentId |
string Nullable
The unique identifier of the parent entry, if applicable.
|
fields |
object Nullable
The fields and their values that define the content of the entry.
|
base |
array of objects Nullable
Data templates from inherited content models, if applicable.
|
slug |
string Nullable
The URL-friendly identifier of the entry.
|
Responses
Assets
Assets in Penzle represent binary files that are stored in your project.
Assets can be of any file type, including images, videos, audio, and documents, and are commonly linked to entries to display media in your content. Each Asset can be localized by providing separate files for different locales. If an Asset is not localized, it will be available as a single file under the default locale.
Asset
An Asset in Penzle represents a single piece of the media item in your project.
Delete a single asset
api/project/{PROJECT_CODE_NAME}/environment/{ENVIRONMENT_CODE_NAME}/assets/{ASSET_ID}
This endpoint for deleting an asset allows you to delete a specific asset from your project by making a DELETE request. The endpoint requires the asset_id of the entry you want to delete.
The deleted asset will be moved to the recycle bin, and it will be possible to restore it.
Parameters
id |
string Required
The unique asset id.
|
project |
string Required
A unique identifier of your project.
|
environment |
string Required
A unique identifier of the environment within the project.
|
Responses
Upload a single asset
api/project/{PROJECT_CODE_NAME}/environment/{ENVIRONMENT_CODE_NAME}/assets/folder/{ASSET_ID}/file
You can upload a single asset by using the multipart/form-data file format to enter the asset's id.
Parameters
id |
string Required
The unique asset id.
|
project |
string Required
A unique identifier of your project.
|
environment |
string Required
A unique identifier of the environment within the project.
|
REQUEST BODY SCHEMA: application/json
parentId |
string($uuid)
Parent folder id.
|
payload |
string($binary)
|
description |
string
Asset description.
|
language |
string
Language code of the asset.
|
Responses
Update a single asset file content
api/project/{PROJECT_CODE_NAME}/environment/{ENVIRONMENT_CODE_NAME}/assets/folder/{ASSET_ID}/file
This endpoint allows you to update the properties of an existing asset in your project. This endpoint requires you to provide the unique identifier of the asset you wish to update, along with the updated values for the asset's properties such as ParentId, Payload, Description, and Language.
Parameters
id |
string Required
The unique asset id.
|
project |
string Required
A unique identifier of your project.
|
environment |
string Required
A unique identifier of the environment within the project.
|
REQUEST BODY SCHEMA: application/json
parentId |
string($uuid)
Parent folder id.
|
payload |
string($binary)
|
description |
string
Asset description.
|
language |
string
Language code of the asset.
|
Responses
Update a single asset parent folder
api/project/{PROJECT_CODE_NAME}/environment/{ENVIRONMENT_CODE_NAME}/assets/folder/{ASSET_ID}
This endpoint allows you to change the parent folder of a specific asset. This can be useful if you want to reorganize your assets within your project's environment.
To update the parent folder, you need to provide the ID of the asset and the ID of the new parent folder. It is important to note that changing the parent folder of an asset will not change the asset's ID or other properties, only its location within the environment.
Parameters
id |
string Required
The unique asset id.
|
project |
string Required
A unique identifier of your project.
|
environment |
string Required
A unique identifier of the environment within the project.
|
REQUEST BODY SCHEMA: application/json
id |
string($uuid)
The folder id.
|
name |
string
The folder asset name.
|
language |
string
Language code of the asset.
|
Responses
Update assets parent folder
api/project/{PROJECT_CODE_NAME}/environment/{ENVIRONMENT_CODE_NAME}/assets/move
This endpoint allows you to move multiple assets to a new parent folder. You can specify the assets to be moved by providing their unique IDs and the target parent folder ID. This operation can be useful for organizing your assets into different folders for better management.
Parameters
project |
string Required
A unique identifier of your project.
|
environment |
string Required
A unique identifier of the environment within the project.
|
REQUEST BODY SCHEMA: application/json
itemIds |
array($uuid)
List of ids.
|
folderId |
string
Target parent folder Id.
|
Responses
Download a single asset
api/project/{PROJECT_CODE_NAME}/environment/{ENVIRONMENT_CODE_NAME}/assets/file/{ASSET_ID}/download
This endpoint allows you to retrieve a specific asset from your environment by its ID. This endpoint returns the binary data of the asset in the response body, which you can then save to your local machine.
Parameters
id |
string($uuid) Required
The unique asset id.
|
project |
string Required
A unique identifier of your project.
|
environment |
string Required
A unique identifier of the environment within the project.
|
Responses
Forms
The Forms module in Penzle is a powerful tool for collecting data from users through online forms. It allows you to create custom forms, manage submissions, and view collected data, all within the Penzle platform.
Whether you need to gather feedback, conduct surveys, or collect information for lead generation, the Forms module has covered you.
Create a new form
api/project/{PROJECT_CODE_NAME}/environment/{ENVIRONMENT_CODE_NAME}/forms
This endpoint allows you to create a new form entry in a specified form type within your Penzle project. The endpoint takes as input a JSON object that defines the fields and values for the new form entry.
It is important to note that creating a form entry may result in form validation errors if the provided data does not match the defined fields for the specified content type. It is recommended to handle these errors appropriately in your code and validate the input data before making the API request.
Parameters
project |
string Required
A unique identifier of your project.
|
environment |
string Required
A unique identifier of the environment within the project.
|
REQUEST BODY SCHEMA: application/json
language |
string Nullable
The language code of the form entry.
|
name |
string Required
The name of the form entry.
|
form |
string Required
The type that is associated with the form entry.
|
fields |
object Nullable
The fields and their values that define the content of the form entry.
|
Responses
Delete an existing form
api/project/{PROJECT_CODE_NAME}/environment/{ENVIRONMENT_CODE_NAME}/forms/{FORM_ID}
This endpoint for deleting an entry allows you to delete a specific form entry from your project by making a DELETE request. The endpoint requires the form_id of the form entry you want to delete.
Parameters
id |
string Required
The unique entry id.
|
project |
string Required
A unique identifier of your project.
|
environment |
string Required
A unique identifier of the environment within the project.
|
Responses
Update an existing form
api/project/{PROJECT_CODE_NAME}/environment/{ENVIRONMENT_CODE_NAME}/forms/{FORM_ID}
This endpoint allows you to modify an existing form entry in your project by making a PUT request.
Parameters
id |
string($uuid) Required
A unique form entry id.
|
project |
string Required
A unique identifier of your project.
|
environment |
string Required
A unique identifier of the environment within the project.
|
REQUEST BODY SCHEMA: application/json
language |
string Nullable
The language code of the form entry.
|
name |
string Required
The name of the form entry.
|
fields |
object Nullable
The fields and their values that define the content of the form entry.
|
Responses
Users
The Users API allows you to manage the users within your project.
You can use this API to create, retrieve, update, and delete users, as well as to retrieve a list of all users in your project. The API also provides functionality for managing the roles and permissions of users, including granting and revoking access to specific resources.
With this API, you have the flexibility to manage user access and permissions for your project in a programmatic way, enabling you to automate user management tasks and integrate them with other systems.
User
A user is an individual who has registered on a system or platform to access its features and services.
Get permissions for a single user
api/users/{USER_ID}/permissions
This endpoint allows you to retrieve the permissions assigned to a specific user within your project. This endpoint returns information about the user's access level and the specific actions they are allowed to perform.
The user's unique identifier is used to make the API request and retrieve the relevant information. This endpoint is useful for managing user access and ensuring that users have the correct permissions for their roles within the project.
Parameters
id |
string($uuid) Required
The user's unique identification
|
Responses
array |
Returns permission collection for a specific user by unique identification.
|
Get roles for a single user
api/users/{USER_ID}/roles
This endpoint returns a list of roles assigned to a specific user. This endpoint is useful for retrieving information about the permissions and access of a single user.
Parameters
id |
string($uuid) Required
The user's unique identification
|
page |
integer($int32) Nullable
The page number of the response. Started from index 1.
|
pageSize |
integer($int32) Nullable
The specific project you are working on.
|
Responses
RESPONSE SCHEMA: application/json
pageIndex |
integer
The current page index of the paginated response.
|
pageSize |
integer
The number of items to be returned per page.
|
totalCount |
integer
The total number of items in the result set.
|
totalPages |
integer
The total number of pages in the result set.
|
items |
array of objects
An array of objects representing the roles.
|
hasPreviousPage |
boolean
Indicates whether there is a previous page in the result set.
|
hasNextPage |
boolean
Indicates whether there is a next page in the result set.
|
The items property of the response contains an array of objects representing the roles. Each role object has the following properties:
id |
string
The unique identifier of the role.
|
name |
string
The name of the role.
|
description |
string
The description of the role.
|
enabled |
boolean
Indicates whether the role is enabled or disabled.
|
Get a single user
api/users/{USER_ID}
This endpoint allows you to retrieve detailed information about a specific user. This endpoint is useful for viewing and managing user information, as well as for auditing and security purposes.
Parameters
id |
string($uuid) Required
The user's unique identification
|
Responses
RESPONSE SCHEMA: application/json
id |
string
The user ID.
|
userName |
string
The username of the user.
|
email |
string
The email address of the user.
|
phoneNumber |
string
The phone number of the user.
|
firstName |
string
The first name of the user.
|
lastName |
string
The last name of the user.
|
status |
bool
The status of the user represents whether the user is enabled or disabled. The default is true.
|
comment |
string
The short comment or note of the user.
|
clientLanguage |
string
The user language code.
|
defaultContentLanguage |
string
The user's default content language. The default is "en-US".
|
streetAddress |
string
The user's street address.
|
stateOrProvince |
string
The user state or province.
|
country |
string
The user country.
|
city |
string
The user city.
|
office |
string
The user office place.
|
postalCode |
string
The user's postal code.
|
officePhone |
string
The user's office phone.
|
Reset password for a single user
api/users/{USER_EMAIL}/reset-password
This endpoint allows you to reset the password of a specific user within your system. Upon successful execution, the user will get an email with detailed instructions for a password reset.
Parameters
email |
string Required
The user's email address.
|
Responses
Assign role to a single user
/api/users/{USER_ID}/roles/{ROLE_NAME}/assign
This endpoint assigns a specific role to a single user in your platform. This endpoint requires a user ID and the role ID to be specified as input parameters.
The role assigned to the user will determine their level of access and privileges within the platform. Using this endpoint, you can grant or revoke access to specific features and functionalities for individual users as needed. This endpoint can be useful for managing user permissions and ensuring proper authorization for different users in your platform.
Parameters
id |
string Required
The user ID.
|
role |
string Required
The role name.
|
Responses
Revoke role for a single user
/api/users/{USER_ID}/roles/{ROLE_NAME}/revoke
This endpoint allows removing a specific role from a user in the system. After revoking a role, the user will no longer have access to any permissions or privileges associated with that role. This endpoint is useful for fine-tuning a user's access and ensuring that only the necessary roles are assigned to a user's account.
Parameters
id |
string Required
The user ID.
|
role |
string Required
The role name.
|
Responses
Update user
/api/users
This endpoint allows you to modify the details of an existing user in your system. This includes updating the user's personal information, such as their name and email address, and any roles or permissions assigned to the user.
Parameters
REQUEST BODY SCHEMA: application/json
id |
string Required
The user ID.
|
userName |
string Required
The username of the user.
|
email |
string Required
The email address of the user.
|
phoneNumber |
string Nullable
The phone number of the user.
|
firstName |
string Required
The first name of the user.
|
lastName |
string Required
The last name of the user.
|
status |
bool Nullable
The status of the user represents whether the user is enabled or disabled. The default is true.
|
comment |
string Nullable
The short comment or note of the user.
|
clientLanguage |
string Nullable
The user language code.
|
defaultContentLanguage |
string Nullable
The user's default content language. The default is "en-US".
|
streetAddress |
string Nullable
The user's street address.
|
stateOrProvince |
string Nullable
The user state or province.
|
country |
string Nullable
The user country.
|
city |
string Nullable
The user city.
|
office |
string Nullable
The user office place.
|
postalCode |
string Nullable
The user's postal code.
|
officePhone |
string Nullable
The user's office phone.
|
Responses
Create a new user
/api/users
This endpoint allows you to create a new user account in your project. After a new user is successfully created, they will receive an email to activate their account. The new user will have no permissions or roles assigned to them until an administrator explicitly grants them.
Parameters
REQUEST BODY SCHEMA: application/json
userName |
string Required
The username of the user.
|
email |
string Required
The email address of the user.
|
phoneNumber |
string Nullable
The phone number of the user.
|
firstName |
string Required
The first name of the user.
|
lastName |
string Required
The last name of the user.
|
status |
bool Nullable
The status of the user represents whether the user is enabled or disabled. The default is true.
|
comment |
string Nullable
The short comment or note of the user.
|
clientLanguage |
string Nullable
The user language code.
|
defaultContentLanguage |
string Nullable
The user's default content language. The default is "en-US".
|
streetAddress |
string Nullable
The user's street address.
|
stateOrProvince |
string Nullable
The user state or province.
|
country |
string Nullable
The user country.
|
city |
string Nullable
The user city.
|
office |
string Nullable
The user office place.
|
postalCode |
string Nullable
The user postal code.
|
officePhone |
string Nullable
The user office phone.
|
Responses
User collection
The User Collection is a comprehensive collection of all the users within a given system. It includes information about each user, such as their name, email address, phone number, and more. The collection also provides methods for managing users, such as creating new users, updating existing users, and deleting users.
Get user collection
/api/users
This endpoint retrieves a list of users.
Parameters
keyword |
string Nullable
The free-text search term is used to search for users by matching it to their username, email, first name, last name, or phone number.
|
page |
integer($int32) Nullable
The page number of the response. Started from index 1.
|
pageSize |
integer($int32) Nullable
The specific project you are working on.
|
Responses
RESPONSE SCHEMA: application/json
pageIndex |
integer
The current page index of the paginated response.
|
pageSize |
integer
The number of items to be returned per page.
|
totalCount |
integer
The total number of items in the result set.
|
totalPages |
integer
The total number of pages in the result set.
|
items |
array of objects
An array of objects representing the users.
|
hasPreviousPage |
boolean
Indicates whether there is a previous page in the result set.
|
hasNextPage |
boolean
Indicates whether there is a next page in the result set.
|
The items property of the response contains an array of objects representing the users. Each role object has the following properties:
id |
string
The user ID.
|
userName |
string
The username of the user.
|
email |
string
The email address of the user.
|
phoneNumber |
string
The phone number of the user.
|
firstName |
string
The first name of the user.
|
lastName |
string
The last name of the user.
|
status |
bool
The status of the user represents whether the user is enabled or disabled. The default is true.
|
comment |
string
The short comment or note of the user.
|
clientLanguage |
string
The user language code.
|
defaultContentLanguage |
string
The user's default content language. The default is "en-US".
|
streetAddress |
string
The user's street address.
|
stateOrProvince |
string
The user state or province.
|
country |
string
The user country.
|
city |
string
The user city.
|
office |
string
The user office place.
|
postalCode |
string
The user's postal code.
|
officePhone |
string
The user's office phone.
|
Roles
Roles are a way of grouping together sets of permissions that can be assigned to users. They allow you to manage user access to specific areas of the Penzle platform in a flexible and scalable way.
Role
A role is a collection of permissions that defines what an individual user or group of users is allowed to do within an organization.
Get permission collection for a single role
api/roles/{ROLE_ID}/permissions
This endpoint returns a collection of permissions associated with a specific role. It can then be used to determine the actions that a user with that role can perform within the application. The response will contain information about each permission, including the permission's unique identifier and description.
Parameters
id |
string($uuid) Required
The user's unique identification
|
Responses
RESPONSE SCHEMA: application/json
array |
Returns permission collection for a specific role by unique identification.
|
Update a single role
api/roles/{ROLE_ID}
Parameters
id |
string Required
The role ID.
|
REQUEST BODY SCHEMA: application/json
name |
string Required
The name of the role.
|
description |
string Required
The short description or note of the role.
|
enabled |
string Nullable
The status of the user represents whether the role is enabled or disabled. The default is disabled.
|
Responses
Delete an existing role
api/roles/{ROLE_ID}
This endpoint allows you to remove a role from the system. When a role is deleted, all associated permissions and user assignments for that role will be removed as well. Once the role is deleted, it cannot be retrieved or restored. Use this endpoint with caution.
Parameters
id |
string Required
The unique role id.
|
Responses
Create a new role
api/roles
This endpoint allows you to create a new role within your system.
Parameters
REQUEST BODY SCHEMA: application/json
name |
string Required
The name of the role.
|
description |
string Required
The short description or note of the role.
|
enabled |
string Nullable
The status of the user represents whether the role is enabled or disabled. The default is disabled.
|
Responses
Get user collection for a single role
api/roles/{ROLE_ID}/users
This endpoint returns a collection of users who have been assigned a specific role.
Parameters
id |
string($uuid) Required
The role's f unique identification
|
keyword |
string Nullable
The free-text search term is used to search for users by matching it to their username, email, first name, last name, or phone number.
|
orderBy |
string Nullable
The filed name for the sort direction.
|
direction |
string($uuid) Nullable
The sort direction of response like ASC or DESC.
|
page |
integer($int32) Nullable
The page number of the response. Started from index 1.
|
pageSize |
integer($int32) Nullable
The specific project you are working on.
|
Responses
RESPONSE SCHEMA: application/json
pageIndex |
integer
The current page index of the paginated response.
|
pageSize |
integer
The number of items to be returned per page.
|
totalCount |
integer
The total number of items in the result set.
|
totalPages |
integer
The total number of pages in the result set.
|
items |
array of objects
An array of objects representing the users.
|
hasPreviousPage |
boolean
Indicates whether there is a previous page in the result set.
|
hasNextPage |
boolean
Indicates whether there is a next page in the result set.
|
The items property of the response contains an array of objects representing the users. Each role object has the following properties:
id |
string
The user ID.
|
userName |
string
The username of the user.
|
email |
string
The email address of the user.
|
phoneNumber |
string
The phone number of the user.
|
firstName |
string
The first name of the user.
|
lastName |
string
The last name of the user.
|
status |
bool
The status of the user represents whether the user is enabled or disabled. The default is true.
|
comment |
string
The short comment or note of the user.
|
clientLanguage |
string
The user language code.
|
defaultContentLanguage |
string
The user's default content language. The default is "en-US".
|
streetAddress |
string
The user's street address.
|
stateOrProvince |
string
The user state or province.
|
country |
string
The user country.
|
city |
string
The user city.
|
office |
string
The user office place.
|
postalCode |
string
The user's postal code.
|
officePhone |
string
The user's office phone.
|
Get a single role
api/roles/{ROLE_ID}
This endpoint allows you to retrieve information about a specific role in your system.
Parameters
id |
string($uuid) Required
The roles' unique identification
|
Responses
RESPONSE SCHEMA: application/json
id |
string
The unique identifier of the role.
|
name |
string
The name of the role.
|
description |
string
The description of the role.
|
enabled |
boolean
Indicates whether the role is enabled or not.
|
Role collection
The Role collections refer to the set of roles that are created in the system and assigned to users.
Get collection of roles
api/roles
This endpoint returns a list of roles available in the system.
Parameters
keyword |
string Nullable
The free-text search term is used to search for roles by matching it to their name or description.
|
orderBy |
string Nullable
The filed name for the sort direction.
|
direction |
string($uuid) Nullable
The sort direction of response like ASC or DESC.
|
page |
integer($int32) Nullable
The page number of the response. Started from index 1.
|
pageSize |
integer($int32) Nullable
The specific project you are working on.
|
Responses
RESPONSE SCHEMA: application/json
pageIndex |
integer
The current page index of the paginated response.
|
pageSize |
integer
The number of items to be returned per page.
|
totalCount |
integer
The total number of items in the result set.
|
totalPages |
integer
The total number of pages in the result set.
|
items |
array of objects
An array of objects representing the roles.
|
hasPreviousPage |
boolean
Indicates whether there is a previous page in the result set.
|
hasNextPage |
boolean
Indicates whether there is a next page in the result set.
|
The items property of the response contains an array of objects representing the roles. Each role object has the following properties:
id |
string
The unique identifier of the role.
|
name |
string
The name of the role.
|
description |
string
The description of the role.
|
enabled |
boolean
Indicates whether the role is enabled or not.
|
API tokens
API tokens are a type of authentication mechanism used to grant access to the content delivery and content management functions of a CMS. CMS API tokens are typically created and managed through an authentication and authorization system, which can provide developers with greater control over who has access to their CMS, and what actions they are allowed to perform.
Content delivery API tokens enable read-only access to the CMS content, while content management API tokens enable read-write access. By using CMS API tokens, developers can create secure, customized workflows for managing and delivering content to their website or application, and can ensure that sensitive data is protected and that only authorized users have access to the CMS.
Revoke token for a project
/api/security/{PROJECT_ID}/token/{TOKEN_ID}/revoke
This endpoint is used to revoke an API token for a specific project.
Parameters
projectId |
string($uuid) Required
The project's unique identification.
|
tokenId |
string($uuid) Required
The token unique identification.
|
Responses
Update an API token
api/security/{PROJECT_ID}/token
The Update API Token endpoint allows for modifying an existing API token.
Parameters
REQUEST BODY SCHEMA: application/json
name |
string Required
The name of the API token.
|
description |
string Required
A brief description of the API token.
|
environments |
array of strings Required
An array of environment identifiers associated with the API token.
|
Responses
Create an API token
api/security/{PROJECT_ID}/token
This endpoint allows you to generate a new API token for your project. This token can be used to authenticate API requests and grant access to specific project resources.
Parameters
id |
string($uuid) Required
The project's unique identification
|
REQUEST BODY SCHEMA: application/json
name |
string Required
The name of the API token.
|
description |
string Required
A brief description of the API token.
|
projectId |
string Required
The unique identifier of the project associated with the API token.
|
environments |
array of strings Required
An array of environment identifiers associated with the API token.
|
now |
string Required
The current date and time in ISO format.
|
expiredAt |
string Required
The date and time when the API token will expire, in ISO format.
|
scope |
object Required
The scope of the API token, including a name and an ID.
|
Responses
Get token collection
api/security/{PROJECT_ID}/token
This endpoint returns a list of API tokens associated with the specified project, identified by its ID.
Parameters
id |
string($uuid) Required
The project's unique identification
|
keyword |
string Nullable
The free-text search term is used to search for tokens by matching it to their name or description.
|
orderBy |
string Nullable
The filed name for the sort direction.
|
direction |
string($uuid) Nullable
The sort direction of response like ASC or DESC.
|
page |
integer($int32) Nullable
The page number of the response. Started from index 1.
|
pageSize |
integer($int32) Nullable
The specific project you are working on.
|
Responses
Environments
Environments can refer to different spaces for content creation, such as development, review, and publishing. Each environment can have its own unique set of content, configurations, and settings, allowing teams to work on and manage content in a controlled and isolated manner before it is published to a production environment.
Environment collection
The Environment collection refers to a group of environments within a project. An environment can be a development, staging, or production environment, and each environment can have its own specific configuration, such as a different set of content models or content.
Get all project environments
api/environments
This endpoint returns a collection of all environments for a specific project.
Responses
codeName |
string Required
The code name of the environment.
|
description |
string Required
The description of the environment.
|
projectId |
string Required
The unique identifier of the project that the environment belongs to.
|
basedOnId |
string Required
The unique identifier of the environment to base the new environment on.
|
Environment
The "Environment" refers to a specific instance or version of a project that is isolated from other environments, such as development, staging, and production.
Delete an environment
api/environments/{ENVIRONMENTS_ID}
This endpoint allows for the deletion of a specific environment within a project. Upon successful execution, the environment will be removed from the project and all its associated data will be deleted. This action is irreversible, so it is important to be cautious when making a request to this endpoint.
Parameters
id |
string Required
The unique ID.
|
Responses
Create a new environment
api/environments
The endpoint for creating a new environment allows the user to create a new environment within a project.
Parameters
REQUEST BODY SCHEMA: application/json
codeName |
string Required
The code name of the environment.
|
description |
string Required
The description of the environment.
|
projectId |
string Required
The unique identifier of the project that the environment belongs to.
|
basedOnId |
string Required
The unique identifier of the environment to base the new environment on.
|
Responses
Projects
A project refers to a set of content, data, and functionality that is organized and managed together. It is a unit of work in a content management system (CMS) that is used to store, manage, and organize data, content, and other digital assets.
Project
A project refers to a set of content, data, and functionality that is organized and managed together. It is a unit of work in a content management system (CMS) that is used to store, manage, and organize data, content, and other digital assets.
Get language collection for a single project
api/projects/{PROJECT_ID}/languages
This endpoint retrieves a collection of supported languages for a single project.
Parameters
PROJECT_ID |
string Required
The unique identifier of the project to retrieve the language collection for.
|
Responses
name |
string
The name of the language.
|
code |
string
The code of the language.
|
Get a single project
/api/projects/{PROJECT_ID}
This endpoint retrieves a single project based on the provided project ID.
Parameters
PROJECT_ID |
string Required
The unique identifier of the project to retrieve.
|
Responses
id |
string
The unique identifier of the project.
|
name |
string
The name of the project.
|
codeName |
string
The code name of the project.
|
description |
string
A description of the project.
|
visitorCultureId |
string
The unique identifier of the visitor culture for the project.
|
defaultContentCultureId |
string
The unique identifier of the default content culture for the project.
|
status |
boolean
The status of the project, indicating whether it is active or inactive.
|
Delete existing culture on a single project
api/projects/{PROJECT_ID}/culture/{CULTURE_ID}
This endpoint allows you to delete an existing culture on a single project. Once deleted, the culture will no longer be available for use in the project.
Parameters
PROJECT_ID |
string Required
The ID of the project in which the culture will be deleted.
|
CULTURE_ID |
string Required
The ID of the culture that will be deleted from the project.
|
Responses
Update culture on a single project
api/projects/{PROJECT_ID}/culture
This endpoint allows you to update the culture of a single project.
Parameters
PROJECT_ID |
string Required
The ID of the project you want to update the culture for.
|
REQUEST BODY SCHEMA: application/json
cultureId |
string Required
The ID of the culture you want to set as the project's culture.
|
fallbackCultureId |
string Required
The ID of the culture you want to set as the project's fallback culture.
|
Responses
Create culture for a single project
api/projects/{PROJECT_ID}/culture
This endpoint allows you to create a new culture for a specific project.
Parameters
PROJECT_ID |
string Required
The unique identifier of the project.
|
REQUEST BODY SCHEMA: application/json
cultureId |
string Required
The identifier of the culture being created.
|
fallbackCultureId |
string Required
The identifier of the fallback culture for the new culture.
|
Responses
Delete an existing project
/api/projects/{PROJECT_ID}
The endpoint is used to delete an existing project by ID.
Parameters
PROJECT_ID |
string Required
The ID of the project to be deleted.
|
Responses
Update a single project
api/projects/{PROJECT_ID}
This endpoint allows you to update an existing project with the specified ID.
Parameters
PROJECT_ID |
string Required
The unique identifier of the project to be updated.
|
REQUEST BODY SCHEMA: application/json
name |
string Nullable
The new name of the project.
|
codeName |
string Nullable
The new code name of the project.
|
description |
string Nullable
The new description of the project.
|
visitorCultureId |
string Nullable
The new visitor culture identifier of the project.
|
defaultContentCultureId |
string Nullable
The new default content culture identifier of the project.
|
status |
boolean Nullable
The new status of the project.
|
Responses
Create a new project
api/projects
This endpoint allows users to create a new project within the system. When a new project is created, the system generates a unique identifier for the project and returns it in the response.
Parameters
REQUEST BODY SCHEMA: application/json
name |
string Required
The name of the project.
|
codeName |
string Required
The code name of the project.
|
description |
string Required
The description of the project.
|
visitorCultureId |
string Required
The unique identifier of the visitor culture associated with the project.
|
defaultContentCultureId |
string Required
The unique identifier of the default content culture associated with the project.
|
status |
boolean Required
The status of the project, representing whether it is enabled or disabled.
|
Responses
Project collection
The Project collection is a set of projects stored in the system.
Get all projects
api/projects
This endpoint returns a list of all projects associated with your account, including relevant information such as the project ID, name, code name, description, status, and default environment information.
Parameters
keyword |
string
The generic keyword to be used for searching.
|
pageSize |
integer($int32)
The page size of response. Default value id 10.
|
page |
integer($int32) Required
The page number of response. Started from index 1.
|
orderBy |
string
The sort direction of response.
|
direction |
string
The sort direction of response like asc or desc
|
Responses
id |
string
A unique identifier for the project.
|
||||||||||||||||||
name |
string
The name of the project.
|
||||||||||||||||||
codeName |
string
The code name of the project.
|
||||||||||||||||||
description |
string
The description of the project.
|
||||||||||||||||||
status |
boolean
The status of the project (active or inactive).
|
||||||||||||||||||
defaultEnvironment |
object
The default environment of the project, including:
|
SMTP
An SMTP (Simple Mail Transfer Protocol) endpoint that provides a way to manage configuration for SMTP.
Get SMTP settings
api/smtp
This endpoint returns the SMTP settings for the system.
Responses
username |
string
The username for the SMTP settings.
|
sender |
string
The sender email for the SMTP settings.
|
senderName |
string
The name associated with the sender email for the SMTP settings.
|
host |
string
The host for the SMTP settings.
|
port |
integer
The port number for the SMTP settings.
|
isSsl |
boolean
Indicates if SSL is enabled for the SMTP settings.
|
isGlobalConfiguration |
boolean
Indicates if the SMTP settings are global or specific to the environment.
|
Update SMTP settings
api/smtp
This endpoint allows you to update the SMTP settings for your account.
Parameters
REQUEST BODY SCHEMA: application/json
username |
string Required
The username for the SMTP account.
|
sender |
string Required
The email address to use as the sender of the messages.
|
senderName |
string Required
The name to display as the sender of the messages.
|
host |
string Required
The hostname or IP address of the SMTP server to use for sending messages.
|
port |
integer Required
The port number of the SMTP server to use for sending messages.
|
isSsl |
boolean Required
Indicates whether to use SSL when connecting to the SMTP server.
|
isGlobalConfiguration |
boolean Required
Indicates whether to apply the SMTP configuration globally or only for specific projects and/or environments.
|
Responses
Tags
Tags are keywords or labels that can be assigned to various resources in your system, such as entries, or assets, to help classify and organize them.
Delete a single tag
api/tags/{TAG_ID}
This endpoint allows you to delete a single tag using the tag's ID.
Parameters
id |
string Required
The unique identifier of the tag to be deleted.
|
Responses
Create a new tag
api/tags
This endpoint allows you to create a new tag.
Parameters
REQUEST BODY SCHEMA: application/json
value |
string Required
The value of the tag you want to create.
|
Responses
Get tags
api/tags
This API endpoint retrieves a collection of tags.
Parameters
Responses
pageIndex |
integer Required
The index of the page in the response.
|
||||
pageSize |
integer Required
The size of the page in the response.
|
||||
totalCount |
integer Required
The total count of items in the response.
|
||||
totalPages |
integer Required
The total number of pages in the response.
|
||||
items |
array Required
The array of items in the response. Each item in the array has the following properties:
|
Cultures
Cultures provide a way for software or web applications to access and manipulate culture-related data. This can include information on languages, regions, time zones, date and time formatting, currency, and other cultural settings that impact how content is displayed and interpreted in different contexts.
Get a single culture
api/cultures/{CULTURE_ID}
This endpoint is used to retrieve a single culture based on its unique identifier.
Parameters
CULTURE_ID |
string Required
The unique identifier of the culture.
|
Responses
id |
string Required
The unique identifier for the culture.
|
name |
string Required
The full name of the culture.
|
shortName |
string Required
The abbreviated name of the culture.
|
code |
string Required
The code for the culture, in the format `{language code}-{country code}`.
|
dictionary |
string Required
The name of the dictionary used by the culture.
|
isUICulture |
boolean Required
Indicates whether the culture is used for the user interface.
|
Deletes a single culture
api/cultures/{CULTURE_ID}
This endpoint allows you to delete a single culture.
Parameters
CULTURE_ID |
string Required
The unique identifier of the culture you want to delete.
|
Responses
Update culture
api/cultures/{CULTURE_ID}
This endpoint allows you to update a culture's information.
Parameters
CULTURE_ID |
string Required
The unique ID of the culture you want to update.
|
REQUEST BODY SCHEMA: application/json
name |
string Required
The name of the culture.
|
shortName |
string Required
The short name of the culture.
|
code |
string Required
The code of the culture.
|
dictionary |
string Required
The dictionary of the culture.
|
isUICulture |
boolean Required
Indicates if the culture is a user interface culture.
|
Responses
Create a new culture
api/cultures
This endpoint allows you to create a new culture.
Parameters
REQUEST BODY SCHEMA: application/json
name |
string Required
The name of the culture.
|
shortName |
string Required
The short name of the culture.
|
code |
string Required
The code of the culture.
|
dictionary |
string Required
The dictionary of the culture.
|
isUICulture |
bool Required
Indicates whether the culture is a UI culture.
|
Responses
Get all cultures
api/cultures
This endpoint returns a list of cultures.
Responses
name |
string
The name of the culture.
|
shortName |
string
The short name of the culture.
|
code |
string
The code of the culture.
|
dictionary |
string
The dictionary of the culture.
|
isUICulture |
boolean
Indicates if the culture is a UI culture.
|
id |
string
The unique identifier of the culture.
|