API Error Codes

The Frame.io API may return the following common errors:

401Unauthorized -- Invalid API token. Check to make sure you're using Bearer Token authentication, and passing your token via the Authorization header.
402Usage exceeded -- You have gone over your Frame.io plan limits.
403Forbidden -- You do not have access to that resource. Returned for both user access and token scope.
404Not Found -- Resource not found.Resource has been moved or deleted.
422Invalid arguments -- One or more parameters supplied were invalid.
429Rate Limited -- You have hit the rate limit for the API.
500Server Error -- Our server doesn't know how to interpret your request, or was unable to complete your request within the available timeframe (30 seconds).Malformed request URL, body, or unable to complete for some other reason.

Troubleshooting common errors

When using a valid API token to perform common tasks, the most common errors are 403, 404 and 500.

A 403 error will usually indicate one of three scenarios:

  1. The token used in the request, and/or the User to which the token belongs, does not have sufficient access to the area of the Frame.io Account where the resource was requested.
  2. The token does not have sufficient Scopes for the resource requested. For example: calling GET /comments/ without the comments.read scope.
  3. A network traffic problem is preventing the Frame.io API from processing the request. If you suspect your requests are being blocked by a network traffic problem, please contact Customer Support.

A 404 error will usually indicate a resource no longer exists -- it has been moved or deleted.

A 500 error usually indicates a malformed request URL or body, but could also happen when we're unable to complete the request within the available timeframe (30s).


The Frame.io API applies rate limits per token. The default limit for a token is 50 calls per second. Some methods have lower limits (e.g. POST /assets/:id/children is rate limited to 5 assets per second).

All limits are subject to change, and when hit, will return a 429 HTTP error. We suggest using an exponential back-off approach to handling rate-limiting.

Check out our guide on rate-limits to learn more.