The CreativeOps API lets you programmatically create jobs, manage pipelines, browse assets, and integrate with external tools. All endpoints use JSON and require an API key.
Include your API key in the Authorization header:
Authorization: Bearer co_live_xxxxxxxxxxxxx100 requests/minute per API key. Exceeded requests return 429 with a Retry-After header.
Success
{
"success": true,
"data": { ... },
"meta": { "page": 1, "limit": 20, "total": 45 }
}Error
{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or expired API key"
}
}Webhooks are signed with HMAC-SHA256. Verify the X-CreativeOps-Signature header.
job.created— New job submittedjob.started— Job execution beganjob.completed— Job finished successfullyjob.failed— Job execution failedjob.approved— Job approvedpipeline.created— Pipeline startedpipeline.milestone— Pipeline reached 25/50/75/100%pipeline.completed— All pipeline jobs doneasset.created— New asset generatedrequest.submitted— Client request submitted// Verify webhook signature (Node.js)
const crypto = require('crypto');
const signature = req.headers['x-creativeops-signature'];
const expected = 'sha256=' + crypto
.createHmac('sha256', WEBHOOK_SECRET)
.update(JSON.stringify(req.body))
.digest('hex');
const valid = crypto.timingSafeEqual(
Buffer.from(signature), Buffer.from(expected)
);