Import a recording

Start a recording import. Returns an import_id and a single pre-signed
S3 url. Upload the file to url with PUT; that upload alone drives the
rest — the meeting is created and transcription starts automatically. There
is no separate "complete" call.

Flow:

  1. POST /import (all fields optional: title, language, size, duration) → { import_id, url, expires_at }. If size is given and won't fit your remaining storage, the request fails fast with 403.
  2. PUT {url} → upload the file bytes directly to S3. The Content-Type header is optional and need not match — the recording's type is detected from the file's contents, so a missing or generic Content-Type works fine.
  3. Poll GET /import/{import_id}/status until status is ready, then use meeting_id

Concurrency: only one import start per user may be in flight at a time. Start
imports sequentially (await each before the next); there is no fixed cooldown —
once a call returns you may start the next immediately. A start that overlaps another
in-flight one returns 400 with error_code: ACTION_IN_PROCESS — retry that request.

Rate limit: 5 req/s (25 per 5s), enforced per account — shared across all your API keys. Exceeding returns 429.

Required scope: write

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

All fields optional. The recording type is taken from the Content-Type of the file you PUT to url, not declared here; unsupported or empty/invalid files are rejected (status failed).

string

Optional meeting title

string

Transcription language code, or auto to detect

integer

Declared file size in bytes (must be ≤ 1 GB). If provided, it is checked up front against your remaining storage and rejected with 403 when it will not fit (the real size is re-checked on the server regardless).

number

Advisory only; the meeting duration is derived from the transcription.

Responses

Language
Credentials
Bearer
krsp_u_*
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json