Skip to main content

Create an Upload

Endpoint

POST /upload

Description

This endpoint allows you to create a new upload task for processing video content from various sources.

Authentication

Authentication is required for this endpoint. Include an API key in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Request Body

The request body should be a JSON object with the following properties:

PropertyTypeRequiredDescription
urlstringYesThe URL of the video to be uploaded. Supported sources include YouTube, Vimeo, Dropbox, Google Drive, or direct file resource URLs.
webhookUrlstringNoThe URL to make POST requests to when the upload has finished processing or errors.
completionActionsstring[]NoAction Templates to be executed upon completion of the upload.
startnumberNoThe start time of the video segment to process (in seconds).
durationnumberNoThe duration of the video segment to process (in seconds).

Response

Success Response

Code: 200 OK

Content example:

{
"id": "00000000-0000-0000-0000-000000000000",
"status": "QUEUED",
"message": "Upload created successfully and has been queued for processing."
}

Error Responses

Unauthorized Error

Code: 401 Unauthorized

Content example:

{
"error": "Unauthorized"
}

Missing URL Error

Code: 400 Bad Request

Content example:

{
"error": "Missing Upload URL. Must be either a YouTube, Vimeo, Dropbox, Google Drive, or file resource URL."
}

Unsupported URL Error

Code: 400 Bad Request

Content example:

{
"error": "Unsupported URL. Must be either a YouTube, Vimeo, Dropbox, Google Drive, or file resource URL. If you believe we should be able to handle this URL, please contact matt@church.tech."
}

Notes

  • The API will automatically parse and clean the provided URL.
  • Supported video sources include YouTube, Vimeo, Dropbox, Google Drive, and direct file resource URLs.
  • Upon successful creation of the upload task, it will be queued for processing.
  • If you believe a URL should be supported but is not, please contact matt@church.tech.