Dashboard

Get Video

Returns metadata for a single video. The video must be owned by the account that the API key belongs to — otherwise the response is 404 Not Found (we don't distinguish "doesn't exist" from "not yours" to avoid ID enumeration).

Endpoint

GET /v1/video/{videoId}

Authentication

MethodRequired scope
API Keyvideo:read

Parameters

NameInTypeRequiredDescription
videoIdpathstringyesOpaque video ID, format vid_…

Response

200 OK

{
  "success": true,
  "data": {
    "id": "vid_abc123def456",
    "title": "Product Demo",
    "description": "Q2 launch demo",
    "status": "COMPLETED",
    "durationSec": 120,
    "targetQuality": "1080p",
    "qualities": ["1080p", "720p", "480p"],
    "createdAt": "2026-05-20T10:00:00Z",
    "completedAt": "2026-05-20T10:03:45Z"
  }
}

Field semantics are identical to List Videos.

Errors

StatusCodeWhen
401INVALID_API_KEYKey revoked or unknown
403INSUFFICIENT_SCOPEKey lacks video:read
404VIDEO_NOT_FOUNDID doesn't exist, or isn't owned by this key

Examples

cURL

curl -H "x-ansdev-key: ak_live_8f3a9b2c1d4e5f6a7b8c9d0e1f2a3b4c" \
  https://api.ansdev.cloud/v1/video/vid_abc123def456

JavaScript

async function getVideo(videoId) {
  const res = await fetch(
    `https://api.ansdev.cloud/v1/video/${videoId}`,
    { headers: { 'x-ansdev-key': process.env.ANSDEV_API_KEY } },
  );

  if (res.status === 404) return null;
  if (!res.ok) throw new Error(`HTTP ${res.status}`);

  const { data } = await res.json();
  return data;
}