API Errors

It can happen that an API request returns an error. In this article, we'll show you how a response with an error looks like, and the meaning of the most common errors received so you can troubleshoot them easily.

📘

You are reading API v2 documentation

Still using the Legacy API? Access the Legacy API documentation.



All API v2 error responses return a JSON that follows the same standard format:

{
  "error": {
    "code": "RESOURCE_NOT_FOUND",
    "message": "Video with ID 'x1' not found.",
    "correlation_id": "550e8400-e29b-41d4-a716-446655440000",
    "details": {
      "object_id": "x1",
      "reason": "object_not_found",
      "object_type": "Video",
      "param": "id"
    },
    "documentation_url": "https://developers.dailymotion.com/reference/api-errors"
  }
}
FieldDescription
codeStable machine-readable error code (ie. RESOURCE_NOT_FOUND, MISSING_PERMISSIONS).
messageHuman-readable error description intended for developers.
correlation_idRequest correlation ID to share with Support Team when troubleshooting. May be null.
detailsStructured additional context. The shape of this object depends on the code value.
documentation_urlLink to this API error reference page.

Possible reasons:

No Authorization: Bearer header, malformed JWT, expired token, or invalid signature. Identity is not established ( unlike error 403), the caller is not treated as an authenticated subject.

HTTP status codes & error codes

CodeMeaningUsage
200 OKSuccessSuccessful GET or PATCH
201 CreatedResource createdSuccessful POST
204 No ContentNo bodySuccessful DELETE
500 Internal Server ErrorUnexpected errorUnhandled server error
401 - Authentication failed

Possible reasons: No Authorization: Bearer header, malformed JWT, expired token, or invalid signature. Identity is not established ( unlike error 403), the caller is not treated as an authenticated subject.

Typical error.code values: INVALID_AUTHORIZATION, AUTHORIZATION_EXPIRED

Example:

{
  "error": {
    "code": "AUTHORIZATION_EXPIRED",
    "message": "Authorization expired.",
    "correlation_id": "550e8400-e29b-41d4-a716-446655440000",
    "details": { "param": "authorization" },
    "documentation_url": "https://developers.dailymotion.com/reference/api-errors"
  }
}
403 - Authorization failed

The bearer token was accepted, but the caller lacks the required OAuth scopes or permissions, or an upstream service denied access to the resource.

Typical error.code values: MISSING_PERMISSIONS, UPSTREAM_ACCESS_DENIED

Example:

{
  "error": {
    "code": "MISSING_PERMISSIONS",
    "message": "Missing required permissions: playlist:write. Required: playlist:read, playlist:write.",
    "correlation_id": "550e8400-e29b-41d4-a716-446655440000",
    "details": {
      "required_permissions": ["playlist:read", "playlist:write"],
      "missing_permissions": ["playlist:write"]
    },
    "documentation_url": "https://developers.dailymotion.com/reference/api-errors"
  }
}
404 - Resource not found

Possible reasons: The path ID does not exist, a parent resource in a nested URL is missing, or the object is not visible.

Typical error.code value: RESOURCE_NOT_FOUND

Example:

{
  "error": {
    "code": "RESOURCE_NOT_FOUND",
    "message": "Video with ID 'x1' not found.",
    "correlation_id": "550e8400-e29b-41d4-a716-446655440000",
    "details": {
      "object_id": "x1",
      "reason": "object_not_found",
      "object_type": "Video",
      "param": "id"
    },
    "documentation_url": "https://developers.dailymotion.com/reference/api-errors"
  }
}
422 - Unprocessable entity

Possible reasons:

  • Invalid path, query, or body parameters
  • Domain validation errors
  • Missing context (ie. a required parent ID or value is absent)

Typical error.code values: MISSING_PARENT_ID, MISSING_REQUIRED_VALUE


Best Practices

  1. Always check the code field: The HTTP status code tells you the category, but code gives you the precise error for programmatic handling.
  2. Share correlation_id with Support: Include it when contacting Dailymotion Support to help trace your request.
  3. Read the details object: Provides structured context (ie. which permissions are missing, which parameter is invalid) to help you fix the request without guessing.

Video access errors

When requesting access to a video, the API may return a message in the access_error field explaining why the access can't be granted.

Before you contact Support, check the "Type" of the error first:

  • Temporary: Just reload or wait a moment (DM006 DM012).
  • Owner setting: An intentional restriction. If you own the video, adjust it in your Dailymotion Studio (DM007 DM008 DM010 DM014 DM016 DM019 DM020).
  • Integration: Check the request you send (DM001).
  • Technical: Re-upload the video, then contact Support if it persists (DM011 DM013).
  • Permanent: The content has been deleted and can't be restored (DM002 DM003 DM005,DM017).
  • Informational: Not an error, no action needed (DM018).

Always include the video ID (and the correlation_id when available) when you contact Support.

Error codeMeaningTroubleshootingType
DM001No video was specified in the request.

Player shows: No video available. Sorry, this content is no longer available.
  1. Check that your embed or API call includes a valid video ID.
  2. Make sure the ID is not empty, null, or a placeholder value.
  3. If the video ID is built dynamically, log the value you send and confirm it matches an existing video.

    Still stuck? If a valid ID still returns DM001, contact Support with the failing video ID and request URL.
Integration
DM002The content has been deleted by the video owner.

Player shows: This content or user profile is no longer available.
  • Remove the reference to this video from your integration or playlist.
  • If you deleted it by mistake, upload the source file again to create a new video.

    Still stuck? If you haven't deleted the video yourself, contact Support with the video ID.

Permanent
DM003The live content has ended and is no longer available.

Player shows: Live stream off air.
This is expected once a live event is over.
  • If the live was recorded, play the recorded ID instead.
Permanent
DM005The content has been deleted due to a report.

Player shows: This content or user profile is no longer available.
  • If you are the video owner, an email has been sent to you. Review the report details to identify the reason why your video has been removed.
  • If you believe the report is incorrect, you can submit an appeal by replying to the email. Check the appeal process.
Permanent
DM006Publishing is in progress. The player shows a reload button.

Player shows: Publication in progress. Video available shortly, please try reloading.
  1. Wait a moment, then reload the player using the reload button. Publishing usually completes within a few minutes.

  2. Check the upload status in your Dailymotion Studio to confirm it finished.

    Still stuck? If the video stays in Uploading or Optimising for an unusually long time, contact Support with the video ID.

Temporary
DM007The video is geo-restricted by its owner.

Player shows: Video not available. This video is not available in your region.
This restriction is intentional and set by the video owner.
  • If you own the video, review its country restrictions in your Dailymotion Studio.

  • If you are a viewer, the content is not available in your location.

    Still stuck? If you own the video and the country settings look correct but playback still fails, contact Support with the video ID.

Owner setting
DM008The content is flagged as explicit and is shown behind a sensitive-content screen.

Player shows: Sensitive content. This content might not be suitable for all audiences.
  • If you own the video and it was flagged by mistake, check the explicit setting in your Dailymotion Studio.
  • If you are a viewer, you must confirm you want to see sensitive content to continue.

    Still stuck? If you believe the content is safe and should not be age-gated, contact Support to request a content review.
Owner setting
DM010The content is private.

Player shows: Private video. The publisher has marked this video as private.
Private videos cannot be played publicly or embedded.
  • If you own the video, change its visibility to public in your Dailymotion Studio.
  • If you are a viewer, this video cannot be played as long as it remains in private.
Owner setting
DM011An error occurred while encoding the video.

Player shows: Video not available. An error occurred while encoding this video.
  1. Confirm the file meets the supported format and codec requirements.

  2. Verify the source file is not corrupted by playing it locally first.

  3. Re-upload the source file to trigger a new encoding.

    Still stuck? If a valid file keeps failing to encode, contact Support with the video file and ID.

Technical
DM012Encoding is in progress. The player shows a reload control.

Player shows: Encoding in progress. Please try reloading.
  • Wait a moment, then reload the player using the reload control. Larger files take longer to encode.

  • Check the encoding status in your Dailymotion Studio.

    Still stuck? If encoding is stuck for an unusually long time, contact Support with the video ID.

Temporary
DM013The video has no preset (no playable video stream).

Player shows: Video not available. This video stream can't be reached right now.
This usually points to a failed or incomplete encoding.
  • Re-upload the video and confirm the source has a valid video track.
Still stuck? If the problem persists after re-uploading, contact Support with the video ID.
Technical
DM016The content is not available on this website and can only be watched on Dailymotion. The Player shows a "Watch on Dailymotion" control that will open the video onsite.

Player shows: Unable to play video. This video cannot be played on this site.
  • If you own the video, check the app and domain restrictions in place in your Dailymotion Studio.

  • If you are a viewer, use the "Watch on Dailymotion" control to open the video on dailymotion.com.

    Still stuck? If you own the video and if it still won't play on your domain, contact Support with the video ID and the embedding domain.

Owner setting
DM017The live has expired and is no longer available.

Player shows: Video no longer available. Sorry, this content is no longer available.
This is expected once a live event has expired.
  • If the live was recorded, play the recorded ID instead.
Permanent
DM018The live has not started yet. The player shows a countdown.

Player shows: Live in xH xM xS
This is informational, not an error. The player shows a countdown and will start automatically when the live begins. No action is required.Informational
DM019The content was uploaded by an inactive channel, so its access is limited.

Player shows: Content is not available. The video you requested is owned by an inactive user. Its access has been limited.
Access is limited because the owning channel is inactive.
  • If it is your channel, check the inactive account policy to see if your account has been permanently deleted.
  • If you are a viewer, the video will remain unavailable if the owning channel has been permanently deleted.
Owner setting
DM020The content is blocked on Dailymotion platforms (dailymotion.com and mobile apps).

Player shows: Private video. The publisher has marked this video as private.
This is set by the video owner.Owner setting