Confirm Upload
Confirms that the file has been successfully uploaded to the presigned URL. This transitions the asset from pending to confirmed status, making it available for use.
POST
/v1/assets/{asset_id}/confirm assets:write Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
asset_id | string | Yes | The asset ID returned by the presign upload endpoint. |
Request Examples
curl -X POST https://xqr.co/api/v1/assets/presign/a1b2c3d4-e5f6-7890-abcd-ef1234567890/confirm \ -H "Authorization: Bearer xqr_pk_a1b2c3d4.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"const assetId = "a1b2c3d4-e5f6-7890-abcd-ef1234567890";
const response = await fetch( `https://xqr.co/api/v1/assets/presign/${assetId}/confirm`, { method: "POST", headers: { Authorization: "Bearer xqr_pk_a1b2c3d4.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", }, },);
const { data } = await response.json();console.log(data.status); // "confirmed"import httpx
asset_id = "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
response = httpx.post( f"https://xqr.co/api/v1/assets/presign/{asset_id}/confirm", headers={ "Authorization": "Bearer xqr_pk_a1b2c3d4.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", },)
data = response.json()["data"]print(data["status"]) # "confirmed"Response
200 OK
The confirmed asset object.
{ "data": { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "filename": "logo.png", "mime_type": "image/png", "file_size": 48210, "status": "confirmed", "is_public": false, "public_url": null, "tags": [], "created_at": "2026-03-21T14:30:00Z", "updated_at": "2026-03-21T14:30:45Z" }, "meta": { "request_id": "req_3c4d5e6f7a8b9c01", "rate_limit": { "limit": 600, "remaining": 595, "reset": 1742572800 } }}Was this page helpful?
Thanks for your feedback!