Complete a model upload
Finalize a prepared model after uploading its images to the presigned URLs.
PUT-ing each file to the URLs from
POST /models/prepare, call this endpoint
with the uploaded_keys (the R2 keys you uploaded, in order — first = cover). Samsa
validates the keys and starts processing, returning 202 Accepted. Poll
GET /models/{id}/status until completed.
Requires the models.write scope.
webhook_url here to be notified when the model reaches a terminal status
instead of polling. See Webhooks.Authorizations
Organization API key as a bearer token: Authorization: Bearer samsa_sk_....
Headers
Path Parameters
Body
POST /models/{id}/complete body — finalize after uploading to presigned URLs.
The R2 keys you uploaded, in order (first = cover).
1 - 10 elementsOptional https webhook notified once on terminal status (signed per the webhook signature scheme; see the webhooks docs).
"https://example.com/webhooks/samsa"
Response
Successful Response
202 body for POST /models and POST /models/{id}/complete (ADR §7.1).
The created model's id — poll GET /models/{id}/status.
Initial status: pending (create) or processing (complete).
pending, processing, completed, failed "pending"
Credits the finished job will cost (model creation is free = 0).
0

