REST API ReferenceEndpointsProjects

Get timeline interchange job

Returns the current status of a timeline interchange job started via `POST /v1/projects/{projectId}/timeline-interchange`, and, once `status` is `succeeded`, the signed download URL and the hydrated interchange `file`. Poll this endpoint until `status` is `succeeded`, `failed`, or `cancelled`. The signed URL is private and valid for 7 days; this endpoint automatically re-signs it when it is within an hour of expiring. Use `interchangeFileId` with `POST /v1/files/{fileId}/hydrate` if you need to re-sign the file directly later.

Authentication

AuthorizationBearer
API key from [app.videogen.io/api](https://app.videogen.io/api). The full key is only shown once when you create it.

Path parameters

interchangeJobIdstringRequired

The timeline interchange job id (e.g. vg_inte_...) returned by POST /v1/projects/{projectId}/timeline-interchange.

Response

Timeline interchange status.
interchangeJobIdstring

Opaque timeline interchange job id (e.g. vg_inte_...) matching the original request.

projectIdstring

Id of the source project (e.g. vg_proj_...).

formatenum

Editor interchange document format. FCPXML is Final Cut Pro (also imported by DaVinci Resolve and others). PREMIERE_XML is the Final Cut 7 xmeml XML that Adobe Premiere Pro imports natively. OTIO is OpenTimelineIO, the vendor-neutral format. SRT is a SubRip caption sidecar.

Allowed values:
mediaDeliveryenum

How the interchange document references media. REMOTE_URLS produces a single document that links to signed media URLs. BUNDLE produces a zip containing the document plus every referenced media file, referenced by relative path, for durable offline relinking.

Allowed values:
statusenum

Lifecycle status shared by every asynchronous job (tool executions, workflow runs, remix actions, project exports, and timeline interchange jobs). pending and running are in-progress; succeeded, failed, and cancelled are terminal.

Allowed values:
progressPercentagedouble0-100

Completion progress for the current attempt (0-100). Always 100 when status is succeeded.

attemptIndexinteger>=0

Zero-based index of the current or most recent job attempt.

downloadUrlstring or nullformat: "uri"

Private signed download URL for the interchange document (or the media bundle zip when mediaDelivery is BUNDLE), valid for 7 days from when it was signed. Always present as a field; null until status is succeeded. This endpoint automatically re-signs the URL when it is within an hour of expiring. To fetch a fresh URL directly from the underlying file at any time, use interchangeFileId with the hydrate-file endpoint.

downloadUrlExpiresAtinteger or null

Seconds since epoch (Unix timestamp) when downloadUrl expires. null while downloadUrl is null.

interchangeFileIdstring or null

File id (e.g. vg_file_...) of the interchange document or bundle zip. Always present as a field; null until status is succeeded. Pass it to POST /v1/files/{fileId}/hydrate to fetch fresh signed URLs directly from the file at any time.

fileobject or null

Hydrated interchange file metadata with a signed download URL. Always present as a field; null until status is succeeded. Its signed URL follows the same 24-hour validity and automatic re-signing as downloadUrl.

errorobject or null

Error details. Always present as a field; null unless status is failed.