Key Principles
Project Scoping
Each API key is scoped to a specific project and cannot access resources across projects. This provides a simplified permission model for client applications.Read-Only Access
API keys provide read-only access to published content only:- Draft content requires JWT authentication with appropriate user roles
- Keys can be revoked at any time
- Designed specifically for production content delivery
Client Integration
API keys are designed for client-side applications:- Easily integrates with mobile and web applications
- Used as header parameter (
x-api-key) in API requests - No token refresh or expiration management required
Security
- Cannot create or modify resources
- Access limited to deployed/published content
- No access to administrative functions
- Activity is logged and monitored
The API Key Object
Unique identifier (UUID)
ID of the project this key belongs to
Descriptive name for the key (e.g., “iOS App Production”)
The actual API key value (only shown at creation time)
Status:
active or revokedLast time the key was used (ISO 8601 format)
ID of the user who created the key
Creation timestamp (ISO 8601 format)
Last update timestamp (ISO 8601 format)
Example Object
Accessible APIs
API Keys provide access to the following read-only endpoints for published content:Content Discovery
| Endpoint | Description |
|---|---|
GET /saved-searches | List and execute saved searches |
GET /saved-searches/:id | Get specific saved search |
POST /saved-searches/:id/execute | Execute saved search (returns published content only) |
GET /tags | List all tags for content categorization |
GET /tags/:id | Get specific tag information |
GET /content-types | List published content types |
GET /content-types/:id | Get specific published content type |
Content Access
| Endpoint | Description |
|---|---|
GET /components | Access published components |
GET /components/:id | Access published component versions |
GET /packages | Access published package information |
GET /packages/:version/resolved | Access resolved package with compiled components |
GET /content | Access published content |
GET /content/:id/resolved | Get content with compiled code and dependencies |
GET /assets | Access published media assets |
Real-time Updates
| Endpoint | Description |
|---|---|
GET /events | Subscribe to published resource updates |
GET /:resourceType/events | Subscribe to specific resource type updates |
GET /:resourceType/:resourceId/events | Subscribe to specific resource updates |
All endpoints automatically filter to show only published/active content when accessed with API keys.
Using API Keys
Include the API key in thex-api-key header:
