Complete Presigned Upload
const url = 'https://example.com/ingest/upload/presigned/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/complete';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"parts":[]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/ingest/upload/presigned/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/complete \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "parts": [] }'Notify that direct-to-S3 upload is complete.
Authorizations
Section titled “ Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “ Path Parameters ”Request Body required
Section titled “ Request Body required ”object
Ordered list of uploaded parts (etag + part_number) used to complete a multipart upload.
object
ETag returned by S3 for an uploaded multipart part.
1-indexed part number of the uploaded part.
Responses
Section titled “ Responses ”Successful Response
object
Unique identifier for the ingestion job. Use this to poll status and to commit the upload.
Initial job status. ‘pending’ means the file is staged and ready to preview; ‘running’ means the server is still fetching it, as it is for a URL import.
Human-readable message describing the upload result.
Example
{ "status": "pending"}Bad request — invalid payload
Unauthorized — missing or invalid credentials
Forbidden — caller lacks write access
Not found
Conflict — resource state prevents the operation
Payload too large
Validation error
Too many requests — retry after the advertised interval
Headers
Section titled “ Headers ”Seconds until the request may be retried
Internal server error
Bad gateway — an upstream provider failed
Service unavailable — the database could not serve the request