Skip to main content
DELETE
/
videos
/
{video_id}
Delete a video
curl --request DELETE \
  --url https://api.elytron.com/v1/videos/{video_id} \
  --header 'Authorization: Bearer <token>'
{
  "error": "<string>",
  "message": "<string>",
  "details": {}
}
Permanently delete a video and all associated files from your account.

Path Parameters

ParameterTypeRequiredDescription
video_idstringYesUnique identifier for the video (UUID format)

Example Request

curl -X DELETE "https://api.elytron.com/v1/videos/550e8400-e29b-41d4-a716-446655440000" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

Returns a 204 No Content status on successful deletion.

Important Notes

This action cannot be undone. Once a video is deleted, it cannot be recovered. All associated files and metadata will be permanently removed.
  • Only videos that belong to your account can be deleted
  • Videos in processing status cannot be deleted until generation completes or fails
  • Deletion is immediate and cannot be reversed
  • Associated files (video files, thumbnails, etc.) are also removed

Error Responses

404 Not Found

{
  "error": {
    "code": "VIDEO_NOT_FOUND",
    "message": "Video not found"
  }
}

400 Bad Request

{
  "error": {
    "code": "VIDEO_IN_PROCESSING",
    "message": "Cannot delete video while it is being processed"
  }
}

401 Unauthorized

{
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Invalid API key"
  }
}

403 Forbidden

{
  "error": {
    "code": "FORBIDDEN",
    "message": "You do not have permission to delete this video"
  }
}

Bulk Deletion

To delete multiple videos, you’ll need to make separate DELETE requests for each video ID. We recommend implementing client-side logic to handle bulk operations:
const deleteMultipleVideos = async (videoIds, apiKey) => {
  const results = await Promise.allSettled(
    videoIds.map(videoId => 
      fetch(`https://api.elytron.com/v1/videos/${videoId}`, {
        method: 'DELETE',
        headers: { 'Authorization': `Bearer ${apiKey}` }
      })
    )
  );
  
  return results.map((result, index) => ({
    videoId: videoIds[index],
    success: result.status === 'fulfilled',
    error: result.status === 'rejected' ? result.reason : null
  }));
};

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

video_id
string<uuid>
required

Unique identifier for the video

Response

Video deleted successfully