Dashboard

List Videos

Returns every video owned by the account that the API key belongs to. No filtering or pagination — the current v1 endpoint returns the full set. Pagination will be added before any account can exceed ~500 items.

Endpoint

GET /v1/video

Authentication

MethodRequired scope
API Keyvideo:read

Parameters

None.

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"
    }
  ]
}

Video object

FieldTypeNotes
idstringOpaque ID, format vid_…
titlestringUser-provided title
descriptionstring | nullOptional
statusenumPENDING · PROCESSING · COMPLETED · FAILED
durationSecintegerVideo length in seconds
targetQualitystringHighest rendition produced
qualitiesstring[]All renditions available
createdAttimestampWhen the upload finished
completedAttimestamp | nullWhen transcoding finished

⚠️ No URLs in this response

Video URLs are never included in metadata responses. To play a video, generate a short-lived Playback Token and pass it to the Player SDK or the Playback Manifest endpoint.

Errors

StatusCodeWhen
401API_KEY_REQUIREDHeader missing
401INVALID_API_KEYKey revoked or unknown
403INSUFFICIENT_SCOPEKey lacks video:read

Examples

cURL

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

JavaScript

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

const { success, data } = await res.json();
if (!success) throw new Error('List failed');

for (const video of data) {
  console.log(video.id, video.title, video.status);
}