Skip to Content
API ReferenceAuthentication

Authentication

Getting an API key

You can create an API key on the API Integrations  page in the Ignite Admin UI. You need an admin role to access this page.

When you create a key, choose its permissions and an optional category scope.

Permissions

API key permissions are granted per resource. Enable only the actions that your integration needs.

ResourceAvailable actions
Videosread, create, update, delete, publish
Live Eventsread, create, update, delete, publish
Tagscreate, update, delete
Categoriescreate, update, delete
Analyticsread

Read access to categories, tags, and player presets is always granted. You do not need to enable it. API keys cannot create, update, or delete player presets.

publish is separate from create and update. visibility: public is stored only when the key has videos.publish. Without it, create stores private. A PATCH that sets visibility is accepted, the field stays unchanged, and the response stays 200. Neither case returns 403.

Analytics endpoints require analytics.read. Video read alone is not enough. See Analytics.

API keys cannot manage members, webhooks, other API integrations, or account settings.

Category scope

You can limit an API key to one or more categories. The scope includes those categories and their subcategories. It filters video reads and writes, and category reads, updates, and deletes. A scoped key cannot delete a category that is one of its scope anchors. If you create a video and send no categories, the scope categories are assigned, up to 10. If you leave the field empty, the key can access every category in the workspace.

Category scope does not limit tags or live events. It does apply to per-video analytics calls.

Using an API key

Pass your API key as a Bearer token in the Authorization header of your request.

curl -X GET https://app.ignitevideo.cloud/api/videos \ -H "Authorization: Bearer YOUR_API_KEY"

Missing or invalid API key

A missing or invalid API key returns 403:

{ "errors": [ { "message": "You are not allowed to perform this action" } ] }

Error response shapes

Collection endpoints (videos, categories, tags, and player presets) return Payload errors as { errors: [{ message }] }.

Custom endpoints (upload, replace, thumbnails, text tracks, multipart upload, and AI routes) return { error, message? }. message is left off on some errors. A permission failure on those routes returns 403.

{ "error": "not_found" }
{ "error": "invalid_video_id" }

A field that fails validation on a collection endpoint returns 400 with the Payload error shape.

GET of a missing video, category, or tag returns 404 { errors: [{ message: "Not Found" }] }. PATCH or DELETE of a missing id returns 403 with the Payload error above. The response is the same when the document is missing and when the key is not allowed to see it.