Appearance
Finish an upload
POST /api/v1/uploads/{id}/complete uploads:write
Finishes an upload, step 3 of 3 (see POST /uploads). Call it after the PUT to uploadUrl has succeeded. Protoki finds the file itself, so you send no path. It checks that the file is there, not empty and within the limits, stores the recording and starts the transcription and the minutes in the background.
Repeating the call does not store the recording twice.
If you never call it, Protoki waits 3 hours after step 1. A file that arrived by then is finished as if you had called it. Otherwise the meeting is deleted, without an error mail.
A meeting that does not exist or belongs to someone else answers 404, not 403.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | uuid | yes | The meeting, by the meetingId from POST /uploads. |
Body
Example
json
{
"durationS": 312
}| Field | Type | Required | Description |
|---|---|---|---|
durationS | number | — | Length of the recording in seconds, if you know it. It is stored and never used as a limit; leave it out if you do not have it. |
Response 200
The file is there and processing has started.
Example response
json
{
"ok": true,
"meetingId": "c4d9f0a1-72be-4e35-8f10-6d2a5b8c9e04"
}| Field | Type | Required | Description |
|---|---|---|---|
ok | true | yes | The file is there and processing has started. |
meetingId | uuid | yes | The meeting the upload belongs to. |
Other answers
| Code | Meaning |
|---|---|
400 | The file is not there yet (fileNotFound), is empty (fileEmpty) or too large (fileTooLarge), or the meeting is not an upload. grund.code says which. |
401 | No key, or a key that is not valid. |
403 | The key lacks uploads:write, or is an account key (accountKeyNoOwner). |
404 | No such meeting, or it is not yours or not in the workspace of the key (meetingNotFoundOrNoAccess). |