Before uploading
- Get the current minute balance:
GET /api/spaces/{space_id}/, fieldsubscribe.available_usage_count. - Make sure the balance covers the whole recording.
- In a team space, check
write_accessinmy_rights/.
Unique titles
Add a marker totitle that lets you find the recording: a date, a time, an ID from your system.
Lost response to recording creation
If the response toPOST …/audio/ (or by_url/, by_youtube/) did not arrive because of a timeout or a dropped connection, the recording may have been created. Do not blindly retry the request:
- Find the recording by title:
GET /api/spaces/{space_id}/audio/?search=<tag>&ordering=-created_at. Search works as a case-insensitive regular expression, so search by a tag without special characters, for examplecrm-48213, not by the full title with dots and brackets. - Found it with
is_uploaded: false: create the recording again and delete the empty one you found. - Did not find it: create the recording again.
Timeouts
Upload links live for 5 hours
Create the recording right before uploading. If more than 5 hours have passed between creation and upload, create the recording again and delete the old one.Token
Get a new token with email and password when less than a day is left beforeaccess expires, or the API responds with 401. Learn more: Authentication.
Non-JSON responses
Occasionally the API responds with an HTML error page instead of JSON. CheckContent-Type before parsing. For safe requests (GET, sign-in), retry the request after 1–2 seconds.
Waiting for the result
Pollresult/ every 10–15 seconds, no more often. Treat processing as failed if 500 persists for more than 3 minutes in a row. Learn more: Status and polling.