Browse documentation
API keys & integrations
Create a site-scoped CMS API key, make a first request, and understand the other integration controls.
Where to find it
- Project overview
- Project areas
- Integrations
In this guide
A CMS credential with the required scope and a reproducible authenticated request.
Before you start: Use an account with integration-management permission. Keep API credentials in a trusted server-side environment.
Create a CMS API key
Open Integrations from Project areas. The API key form creates a key for the current site; the CMS read and write permissions are selected separately.
- 1Recognizable name. Identify the integration using this key.
- 2Minimum scope. Read access is enough for fetching content.
- 1
Name the integration
Enter a descriptive Key name, such as Editorial sync, so the credential is recognizable later.
- 2
Choose scopes
Enable CMS read for reading content. Add CMS write only if the integration must change content.
- 3
Create and store the key
Choose Create key and copy the secret when it is shown. Store it in your server’s secret configuration. Do not put it in browser code or a page embed.
Make your first request
Use the site ID from the project URL: in /app/WORKSPACE/sites/SITE_ID/..., copy the SITE_ID segment. Replace SITE_ID below and set DEVASSISTANT_API_KEY in your server environment.
| Response | Check next |
|---|---|
| 401 Unauthorized | Check the Bearer header, the copied secret, and whether the key was revoked. |
| 403 Forbidden | Check the credential’s scope and access to the requested site. |
| 429 Too Many Requests | Respect the response’s retry guidance and reduce request frequency. |
| Temporary server failure | Use bounded retries for safe requests and retain the request identifier for support. |
curl "https://devassistant.io/api/v1/cms/sites/SITE_ID/collections" \
-H "Authorization: Bearer $DEVASSISTANT_API_KEY" \
-H "Accept: application/json"Choose the right integration type
The same screen contains other controls with different purposes and access boundaries.
- 1
Configure the destination and events
For a webhook, enter the receiving endpoint, select only the events it needs, and choose Add webhook.
- 2
Check deliveries
Trigger a relevant test event and inspect delivery results in Integrations. Correct the receiving endpoint before replaying a failed delivery.
| Integration | Use it for |
|---|---|
| Webhook endpoint | Send selected events, such as Form submitted or CMS entry published, to an external HTTPS endpoint. |
| OAuth client | Create workspace-wide machine credentials for the offered site and analytics read scopes. This is broader than a site-scoped CMS API key. |
| Deploy hook | Trigger the selected site environment through a secret URL. Production gates and publishing permissions still apply. |
| Analytics pixel | Configure the supported analytics or tracking integration for the site. |
Screenshots use a local sample workspace.
