Pellio

API keys and the REST API

Updated September 27, 2026
On this page

Create keys in Settings → Developers (owners and admins). Give the key a name and choose its Access: Read only (like a Viewer), Read & write videos (like a Member) or Admin. The key is shown once; store it somewhere safe. The key list shows each key’s access, when it was last used, and Revoke.

Settings → Developers: API keys and webhooks

Each key shows when it was last used. Revoke stops it at once: anything using it stops working immediately.

Send the key as a bearer token:

curl https://api.pellio.io/v1/videos 
  -H "Authorization: Bearer pk_…"

Uploading

Uploading takes three steps: create the upload, send the file, then tell Pellio it’s complete.

  1. Create the upload. The response has the video and an upload object with a url, method (PUT) and headers. The URL is valid for 6 hours.
    curl https://api.pellio.io/v1/videos/uploads 
      -H "Authorization: Bearer pk_…" 
      -H "Content-Type: application/json" 
      -d '{"title":"Onboarding","filename":"onboarding.mp4","size":48213377,"type":"video/mp4"}'
  2. Send the file to upload.url with PUT and the given headers. It goes straight to storage.
  3. Call POST /v1/videos/{id}/complete. Processing starts then; without this step, it never does. A video.ready webhook tells you when it’s done.

Files must be video or audio, up to 20 GB. For large files, use a resumable upload in 16 MB parts: POST /v1/videos/{id}/multipart, then /multipart/resume to see which parts arrived, and /multipart/complete.

To import from a link instead, POST /v1/videos/import with the file’s URL.

Reference

Every endpoint, with request and response schemas and an interactive console, is in the API reference. The OpenAPI document is at https://api.pellio.io/v1/openapi.json.

Rate limits

Each key can make 600 requests a minute, and 30 imports a minute. A 429 response means slow down and retry.

Was this article helpful?

Still stuck?Send us a message and a person will get back to you.