Error Reference

Common API errors, what they mean, and how to fix them

A quick reference guide to help you understand and resolve errors when using the Orshot API.


Authentication Errors

Authorization Header Missing

Code403
MessageAccess Forbidden: Authorization header is missing in the request

Why it happens: Your API request doesn't include the required Authorization header.

Fix: Add the header to your request:

headers: {
  "Authorization": "Bearer YOUR_API_KEY"
}

Get your API key from Workspace Settings → API Keys. See Get API Key for setup instructions.


API Key Missing

Code403
MessageAccess Forbidden: API Key is missing in the request

Why it happens: The Authorization header exists but doesn't contain a valid API key after "Bearer ".

Fix: Ensure the format is Bearer YOUR_API_KEY (with a space after "Bearer").


Invalid API Key

Code400
MessageAccess Forbidden: Invalid API Key

Why it happens: The API key doesn't exist or has been revoked.

Fix: Generate a new API key from Workspace Settings → API Keys.


Invalid API Key or User ID

Code400
MessageAccess Forbidden: The API Key or User ID do not exist

Why it happens: Your API key isn't linked to a valid user account.

Fix: Double-check your API key or generate a new one from your dashboard.


OAuth Token Errors

OAuth Token Expired

Code401
MessageAccess Forbidden: OAuth token expired

Why it happens: Your OAuth access token has expired (tokens are valid for 15 minutes).

Fix: Use the refresh token to obtain a new access token, or re-authenticate via the OAuth device flow.


Invalid OAuth Token

Code401
MessageAccess Forbidden: Invalid OAuth token

Why it happens: The OAuth token doesn't exist, has been revoked, or is malformed.

Fix: Re-authenticate via the OAuth device flow to obtain a new token.


Subscription & Usage Errors

Subscription Inactive

Code403
MessageSubscription inactive or you've consumed all requests

Why it happens: Your subscription has expired, or you've used all your renders for the billing period.

Fix:

  • Check your usage at Billing & Usage (see Render Usage to understand consumption)
  • Upgrade your plan or wait for the billing cycle to reset
  • Enable Overage Renders to keep rendering beyond limits

Video on Free Plan

Code403
MessageVideo generation is available only on paid plans

Why it happens: You're trying to generate video output (MP4, WebM, GIF) on a Free plan.

Fix: Upgrade to a paid plan to unlock video generation.


Partner Limit Reached

Code429
MessagePartner monthly render limit reached (X/Y). Limit resets next month.

Why it happens: Your partner sandbox workspace has exceeded its monthly allocation.

Fix: Wait for the monthly reset or contact your partner account manager.


Invalid Partner Account

Code403
MessageThis sandbox workspace is not associated with a valid partner account

Why it happens: The sandbox workspace isn't properly linked to a partner.

Fix: Contact Orshot support to verify your partner account setup.


Template Errors

Template ID Missing

Code400
Message'templateId' is missing in the request body

Why it happens: Your request doesn't include a templateId.

Fix: Add the template ID to your request body:

body: JSON.stringify({
  templateId: "your-template-id",
  modifications: { ... }
})

Find your template ID in the Template Playground or when viewing a template. Learn more about Template IDs.


Template Not Found

Code403
MessageStudio template with ID 'X' not found

Why it happens: The template ID doesn't exist in your workspace.

Fix:

  • Verify the template ID is correct
  • Make sure the template belongs to your workspace
  • Check your templates

Library Template Not Found

Code400
MessagetemplateId not found. Please double check the 'templateId' value

Why it happens: The library template ID doesn't match any available template.

Fix: Check the Templates Library for valid template IDs.


Modifications Missing

Code400
MessageModifications for 'X' is missing in the request

Why it happens: The modifications object is missing from your request.

Fix: Include modifications in your request body:

body: JSON.stringify({
  templateId: "your-template-id",
  modifications: {
    title: "My Title",
    // ... other modifications
  },
});

Learn more about Modifications.


Response Format Errors

Unsupported Response Format

Code400
MessageResponse format not supported. Supported formats: png, jpeg, jpg, webp, pdf, mp4, webm, gif

Why it happens: You specified an invalid response.format value.

Fix: Use one of the supported formats:

  • Images: png, jpeg, jpg, webp
  • Documents: pdf
  • Videos: mp4, webm, gif

See Response Format for details.


Unsupported Response Type

Code400
MessageResponse type not supported. Supported types: binary, url, base64

Why it happens: You specified an invalid response.type value.

Fix: Use one of:

  • binary - Raw file data (best for direct downloads)
  • url - Hosted URL to the rendered file
  • base64 - Base64-encoded string

See Response Type for details.


Binary Not Supported for Multi-Page

Code400
MessageBinary response type is not supported for multi-page templates unless format is PDF

Why it happens: You can't get binary output for multi-page templates (except PDFs).

Fix: Either:

  • Use response.type: "url" or "base64" for multi-page templates
  • Use response.format: "pdf" to get a single binary PDF
  • Add response.includePages: [1] to render only one page as binary

Page Errors

Invalid Page Numbers

Code400
MessageInvalid page numbers in includePages: X. Valid range is 1-Y.

Why it happens: You specified page numbers that don't exist in the template.

Fix: Check your template's page count and use valid page numbers (1-based).

response: {
  includePages: [1, 2, 3]; // Only existing page numbers
}

Invalid Page Number (Dynamic URL)

Code400
MessageInvalid page number 'X'. Page number must be a positive integer.

Why it happens: The page query parameter isn't a valid positive integer.

Fix: Use a positive integer for the page parameter: ?page=1


Dynamic URL Errors

Template ID Missing (Dynamic URL)

Code400
Message"templateId" is missing in the URL

Why it happens: The dynamic URL is missing the required templateId query parameter.

Fix: Include templateId in your URL: ?templateId=your-template-id&sign=...


Sign Parameter Missing

Code400
Message"sign" parameter is missing in the URL

Why it happens: Dynamic URLs require a sign parameter for security.

Fix: Copy the complete dynamic URL from the Template Playground, which includes the sign parameter.


Sign Does Not Match

Code404
MessageSign does not match for this dynamic URL

Why it happens: The signature doesn't match the template, possibly because URL parameters were modified.

Fix: Regenerate the dynamic URL from the Template Playground.


Dynamic URL Not Found

Code404
MessageDynamic URL with ID 'X' not found

Why it happens: The template ID doesn't have a dynamic URL configured.

Fix: Enable dynamic URL for your template in the Template Playground settings.


Dynamic URL Inactive

Code404
MessageDynamic URL for templateID 'X' is inactive. Enable it from Template playground page to start rendering

Why it happens: The dynamic URL has been disabled.

Fix: Go to your template's Playground page and toggle the dynamic URL to active.


Dynamic URL Render Limit Reached

Code403
MessageThis dynamic URL has reached its maximum render limit. Increase Max Renders in the Template Playground for more renders

Why it happens: You've hit the maximum render count set for this dynamic URL.

Fix: Increase the "Max Renders" limit in your template's Playground settings.


Dynamic URL Expired

Code403
MessageDynamic URL has expired. Please update the expiration time in the Template playground to continue rendering

Why it happens: The dynamic URL's validity period has passed.

Fix: Update the expiration date in your template's Playground settings.


Video Not Supported for Dynamic URLs

Code400
MessageVideo generation is not supported for dynamic URLs

Why it happens: Dynamic URLs don't support video output formats.

Fix: Use the POST API endpoint (/v1/studio/render) for video generation instead.


Quality Parameter Errors

Invalid Quality Value

Code400
MessageInvalid quality value 'X'. Quality must be between 1 and 100.

Why it happens: The quality parameter must be an integer from 1-100.

Fix: Use a valid quality value: ?quality=85


Quality Only for JPEG

Code400
MessageQuality parameter is only supported for JPEG/JPG formats. Current format: X

Why it happens: The quality parameter only works with JPEG output.

Fix: Either:

  • Remove the quality parameter, or
  • Set responseFormat=jpg or responseFormat=jpeg

Signed URL Errors

Signed URL Inactive

Code401
MessageThis signed URL is inactive. Please activate it from the dashboard

Why it happens: The signed URL has been deactivated.

Fix: Reactivate the signed URL from your dashboard.


Signed URL Expired

Code401
MessageSigned URL has expired. Please create a new signed URL.

Why it happens: The signed URL's expiration time has passed.

Fix: Generate a new signed URL with a longer expiration time.


Invalid Signature

Code401
MessageInvalid signature. Please create a new signed URL.

Why it happens: The URL signature doesn't match, possibly due to parameter tampering.

Fix: Generate a fresh signed URL from the API or dashboard.


Missing Signed URL Parameters

Code400
Message"templateId", "signature", "modifications" or "id" is missing in the URL

Why it happens: Required query parameters are missing from the signed URL.

Fix: Make sure all required parameters are included when generating the signed URL.


Website Screenshot Errors

Invalid Website URL

Code400
MessageMissing or invalid 'websiteUrl' value. Please provide a valid url for 'websiteUrl' modification

Why it happens: The websiteUrl modification is missing or not a valid URL.

Fix: Provide a valid URL:

modifications: {
  websiteUrl: "https://example.com";
}

Background Removal Errors

Input Image Missing

Code400
MessageMissing 'inputImage' value. Please provide a valid url for 'inputImage' modification

Why it happens: The inputImage modification is required for background removal.

Fix: Provide a valid image URL:

modifications: {
  inputImage: "https://example.com/image.png";
}

AI Generation Errors

AI Credits Exhausted

Code402
MessageInsufficient AI credits or errors containing AI generation

Why it happens: Your workspace has run out of AI credits for AI-powered features.

Fix: Purchase more AI credits from your Billing Settings.


Server Errors

General Server Error

Code500
MessageOrshot Server Error(details). Reach out at orshot.com/contact for support

Why it happens: An unexpected error occurred on our servers.

Fix:

  • Retry the request after a few seconds
  • If it persists, contact us at orshot.com/contact with the error details

Screenshot Generation Failed

Code500
MessageOrshot Server Error: Failed to generate screenshots for multi-page template

Why it happens: The server couldn't generate the requested images.

Fix:

  • Check that your template and modifications are valid
  • Retry the request
  • Contact support if the issue continues

Storage Error

Code500
MessageFailed to store page X: error details

Why it happens: The rendered image couldn't be saved to storage.

Fix: This is usually temporary. Retry the request or contact support.


Need Help?

If you're still stuck:

  1. Check the Quick Start Guide for basic setup
  2. Review API Reference for correct request formats
  3. Reach out at orshot.com/contact

All Set? Let's Start Automating

Get Your API Key →
  • Image, PDF and Video Generation via API
  • Canva like editor with AI and smart features
  • No-Code Integrations (Zapier, Make, n8n etc.)
  • Embed Orshot Studio in your app
  • Start Free. No credit card required. Cancel anytime.