Video APIv1 Home OpenAPI spec

Docs › Errors

Errors

Every error has the same JSON body:

{
  "message": "Daily limit reached (50 videos per 24 hours); try again later",
  "error": "DAILY_LIMIT",
  "requestId": "c0a8f1e2-5b7d-4c2a-8e6f-1b0d9c7a5e3f"
}
  • error: a stable code. Write your code against this. New codes may be added; handle unknown ones by HTTP status.
  • message: human-readable and safe to show to users. Its wording may change.
  • requestId: include it when you report a problem.
  • details (validation errors only): every problem found, as {field, message}. See Validation.
HTTPerrorMeaningWhat to do
400INVALID_REQUESTInvalid body or parameter; the message names the field.Fix the request.
401UNAUTHORIZEDMissing, unknown or revoked API key.Check the Authorization header.
403MISSING_AUTHENTICATIONThe request didn't reach the API with a key, usually because the base URL is missing its /v1 path.Check the base URL.
403FORBIDDENCredentials not allowed.Check your key.
403REQUEST_REJECTEDRejected before reaching the API, almost always a base URL missing /v1.Check the base URL.
404NOT_FOUNDNo such video for you.Check the ID.
404ROUTE_NOT_FOUNDNo such path.Check the URL.
405METHOD_NOT_ALLOWEDWrong HTTP method; the message lists the right one.Use the listed method.
403UPLOAD_TOKEN_SCOPEAn upload token was used for something other than its one upload.Use your API key on your server for everything else.
409UPLOAD_TOKEN_USEDThe upload token already made a video.Make a new token.
403EDIT_TOKEN_SCOPEAn edit token was used for something other than its one edit, or a clip uses a video the token wasn't made for.Use your API key on your server for everything else.
409EDIT_TOKEN_USEDThe edit token already made its edit.Make a new token.
400EDIT_TOO_LONGThe edit is longer than its edit token's maxSeconds.Shorten the edit.
409UPLOAD_INCOMPLETEParts missing or the wrong size.Upload the missing parts, then complete again.
409ALREADY_COMPLETEDThe upload already completed.Use cancel to stop processing.
409ORIGINAL_UNAVAILABLEReprocess: the original is missing or was deleted.Upload again.
409EDIT_SOURCE_NOT_READYAn edit clip's video hasn't finished.Wait for SUCCEEDED.
409NOT_AN_UPLOADAn upload action on an edit.Use cancel or reprocess.
409NOT_READYThumbnails: the video hasn't finished processing.Wait for SUCCEEDED.
409NO_CANDIDATESThumbnails: the video was made before thumbnail choices existed.Upload your own image, or reprocess.
400BILLING_ERRORCheckout or a plan change couldn't be completed; nothing was charged. Details are in our logs under the requestId.Retry in a minute; if it persists, contact us with the requestId.
409ALREADY_SUBSCRIBEDCheckout: this account already has a subscription.Change plans with POST /billing/plan.
409NO_SUBSCRIPTIONPlan change: there is no subscription yet.Subscribe with POST /billing/checkout.
409NO_BILLING_ACCOUNTPortal: the account has never subscribed.Subscribe first.
503BILLING_NOT_CONFIGUREDPaid plans aren't set up on this service yet.Try again later.
503BILLING_UNAVAILABLEThe payment service is busy.Retry shortly.
403OVERAGE_CAP_REACHEDThis month's overage reached your monthly overage cap; new processing is paused until the 1st (UTC).Raise or remove the cap in your account, or wait for the new month.
409IDEMPOTENCY_KEY_REUSEDSame Idempotency-Key, different request.Use a new key.
409IDEMPOTENCY_IN_PROGRESSA request with this Idempotency-Key is still processing.Retry in a moment.
409INVALID_STATENot possible in the video's current state.Read the message.
413TOO_LARGEThe JSON body is too large (or a thumbnail image is over 2 MB).Send less.
429RATE_LIMITEDMore than 5 requests per second.Retry with backoff.
429QUOTA_EXCEEDEDDaily request quota used up.Try again tomorrow.
429DAILY_LIMITDaily new-video limit reached.Wait; it's a rolling 24 hours.
403PLAN_UPGRADE_REQUIREDThe request uses something your plan doesn't include: a higher quality than its maximum (Free 720p, Starter 1080p), redaction, captions, screen recording (camera, streaming uploads). details names the field.Remove it, lower maxHeight, or upgrade.
403PLAN_LIMIT_REACHEDFree plan only: this month's processing minutes or the storage allowance is used up. Nothing is deleted.Delete videos you don't need, wait for the 1st (UTC), or upgrade.
429VIDEOS_PAUSEDNew videos are paused for your account.Contact the service owner.
502UPSTREAM_ERRORAn internal inconsistency.Report it with the requestId.
503UNAVAILABLEA temporary failure.Retry with backoff.
Retry RATE_LIMITED, UNAVAILABLE and network errors with exponential backoff (e.g. 1 s, 2 s, 4 s… with jitter). Don't retry other 4xx errors unchanged.