Contensis HTTP Management API
Introduction
The Management API allows you to create and manage entries within Contensis. Our primary aim with this version of the API is to enable you to easily import/integrate content from other systems.
The API is a RESTful service to ensure maximum compatibility, delivering content as JSON and resource files (assets) as text or binary files. The life-cycle of content is controlled by workflow which can be controlled by invoking permissiod events. We currently provide a .NET client API wrapper to simplify using the API.
Key concepts
Projects
Get a project | GET /api/management/projects/{projectId}/ |
Create a project | POST /api/management/projects/ |
Update a project | PUT /api/management/projects/{projectId}/ |
List projects | GET /api/management/projects/ |
Delete a project | DELETE /api/management/projects/{projectId}/ |
Content Types
Get a content type | GET /api/management/projects/{projectId}/contenttypes/{contentTypeId} |
Create a content type | POST /api/management/projects/{projectId}/contenttypes/ |
Update a content type | PUT /api/management/projects/{projectId}/contenttypes/{contentTypeId} |
List content types | GET /api/management/projects/{projectId}/contenttypes/ |
Delete a content type | DELETE /api/management/projects/{projectId}/contenttypes/{contentTypeId} |
Publish a content type | POST /api/management/projects/{projectId}/contenttypes/{contentTypeId}/workflow/events/ |
Components
Get a component | GET /api/management/projects/{projectId}/components/{componentId} |
Create a component | POST /api/management/projects/{projectId}/components/ |
Update a component | PUT /api/management/projects/{projectId}/components/{componentId} |
Add a component to a content type | PUT /api/management/projects/{projectId}/contenttypes/{contentTypeId} |
List components | GET /api/management/projects/{projectId}/components/ |
Delete a component | DELETE /api/management/projects/{projectId}/components/{componentId} |
Publish a component | POST /api/management/projects/{projectId}/components/{componentId}/workflow/events/ |
Entries
Get an entry | GET /api/management/projects/{projectId}/entries/{entryId} |
Create an entry | POST /api/management/projects/{projectId}/entries/ |
Update an entry variation | PUT /api/management/projects/{projectId}/entries/{entryId} |
List entries | GET /api/management/projects/{projectId}/entries/ |
List entries by content type | GET /api/management/projects/{projectId}/contenttypes/{contentTypeId}/entries/ |
Delete an entry | DELETE /api/management/projects/{projectId}/entries/{entryId} |
Delete an entry variation | DELETE /api/management/projects/{projectId}/entries/{entryId}?language=comma separated list of languages |
Invoke a workflow event Unpublish an entry |
POST /api/management/projects/{projectId}/entries/{entryId}/workflow/events/ |
Nodes
Get the root node | GET /api/management/projects/{projectId}/nodes/root/ |
Get a node | GET /api/management/projects/{projectId}/nodes/{nodeId} |
Get nodes by entry id | GET /api/management/projects/{projectId}/nodes/?entryId={entryId} |
Get a node's children | GET /api/management/projects/{projectId}/nodes/{parentNodeId}/children |
Create a node | POST /api/management/projects/{projectId}/nodes/{parentNodeId}/children |
Update a node | PUT /api/management/projects/{projectId}/nodes/{nodeId}/ |
Move a node | PUT /api/management/projects/{projectId}/nodes/{nodeId}/ |
Delete a node | DELETE /api/management/projects/{projectId}/nodes/{nodeId}/ |
Order nodes | PUT /api/management/projects/{projectId}/nodes/{parentNodeId}/children/order |
Roles
Get a role | GET /api/management/projects/{projectId}/security/roles/{roleId} |
Create a role | POST /api/management/projects/{projectId}/security/roles/ |
Update a role | PUT /api/management/projects/{projectId}/security/roles/{roleId} |
List roles | GET /api/management/projects/{projectId}/security/roles/ |
Delete a role | DELETE /api/management/projects/{projectId}/security/roles/{roleId} |
Permissions
Overview | |
Get permissions for a resource | GET /api/management/projects/{projectId}/security/permissions/{resourceType}/{resourceId?}?userId={userId} |
Get authorization for a resource action | GET /api/management/projects/{projectId}/security/permissions/{resourceType}/{resourceId?}/actions/{action}?userId={userId} |
Get permissions for webhook subscriptions | GET /api/management/projects/{projectId}/security/permissions/webhookSubscriptions?userId={userId} |
Get authorization for a webhook subscription action | GET /api/management/projects/{projectId}/security/permissions/webhookSubscriptions/actions/{action}?userId={userId} |
Workflow definitions
Get a workflow definition | GET /api/management/projects/{projectId}/workflow/definitions/{workflowDefinitionId} |
Create a workflow definition | POST /api/management/projects/{projectId}/workflow/definitions/ |
Update a workflow definition | PUT /api/management/projects/{projectId}/workflow/definitions/{workflowDefinitionId} |
List workflow definitions | GET /api/management/projects/{projectId}/workflow/definitions/ |
Delete a workflow definition | DELETE /api/management/projects/{projectId}/workflow/definitions/{workflowDefinitionId} |
Publish a workflow definition | POST /api/management/projects/{projectId}/workflow/definitions/{workflowDefinitionId}/workflow/events |