curl --request POST \
--url https://api.heify.com/submit \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"configuration_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"url": "https://s3.amazonaws.com/my-public-bucket/recordings/quarterly-review.mp3",
"name": "Quarterly Sales Review",
"evaluator_id": "2abb5563-1234-5678-abcd-ef1234567890"
}
'{
"data": {
"message": "Transcription created successfully",
"transcription_id": "1a2b3c4d-e5f6-7890-1234-567890abcdef"
}
}Submit from public URL
Submit an audio or video file for transcription using a publicly accessible URL.
curl --request POST \
--url https://api.heify.com/submit \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"configuration_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"url": "https://s3.amazonaws.com/my-public-bucket/recordings/quarterly-review.mp3",
"name": "Quarterly Sales Review",
"evaluator_id": "2abb5563-1234-5678-abcd-ef1234567890"
}
'{
"data": {
"message": "Transcription created successfully",
"transcription_id": "1a2b3c4d-e5f6-7890-1234-567890abcdef"
}
}transcription_id immediately. Use Get Transcription Details or webhooks to track completion.url must be publicly accessible with no authentication required. The download has a 60-second timeout — use a fast, stable URL.participant_id and evaluator_id are optional. If provided, they must exist and belong to your account.period_date field sets when the recording was made — a date (YYYY-MM-DD) or an ISO 8601 datetime, time optional — and overwrites the transcription’s created_at, which all time-based analytics are derived from. It behaves identically to the same field on Submit from local file — see the accepted formats and gotchas there. There is no way to correct the date afterwards: delete and resubmit with the right period_date.period_date is validated before the audio is downloaded from url — a malformed date fails fast with a 400 and does not consume the 60-second download.Authorizations
Body
The unique identifier of the configuration to use for processing.
A publicly accessible URL to the audio or video file to transcribe. Must require no authentication. Subject to a 60-second download timeout.
Optional custom name for the transcription job.
Optional. Link this transcription to a participant. Must exist and belong to your account.
Optional. Link this transcription to an evaluator. Must exist and belong to your account.
Optional. When the recording was made — a date (YYYY-MM-DD) or an ISO 8601 datetime; the time is optional. Same behaviour as on /request-upload-url: overwrites the transcription's created_at. Validated before the audio is downloaded from url — a malformed value fails fast with 400 without consuming the 60-second download.
^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}(:\d{2}(\.\d+)?)?(Z|[+-]\d{2}:?\d{2})?)?$"2026-04-15T14:30:00Z"
Response
Transcription job created successfully. Processing has started asynchronously.
Show child attributes
Show child attributes