Inventory
Create a CSV upload slot
Creates an upload slot for a CSV ingestion by generating a short-lived, PUT-only presigned URL. Returns 202 Accepted with a job in the awaiting_upload state carrying an upload_url and a start link.
Upload the file directly to upload_url (it never transits the API), then call the start operation to begin processing.
Requires the agentic:inventory scope.
post/inventory/ingestions/uploads
Request
- Base URLhttps://{prefix}.api.sandbox.checkout.com
- AuthOAuth 2Client credentialsToken URLstringScopesagentic:inventory
- TypeScripthttps://skmtc.dev/checkout/apis/checkout-com-api-reference/docs/inventory/ingestions/uploads/post.tsA function with typed inputs. Its response is checked against the schema.
Request body
Example request
{
"mode": "upsert",
"format": "csv"
}Response
The upload slot was created. Upload the file to upload_url, then call start.
Example response
{
"id": "ing_01hzy8q2m4n6p8r0s2t4v6w8x0",
"state": "accepted",
"mode": "upsert",
"counts": {
"received": 500,
"accepted": 498,
"rejected": 2
},
"failure_reason": {
"code": "file_unreadable",
"message": "The uploaded file could not be read as CSV."
},
"upload_url": "https://inventory-ingestions.s3.eu-west-1.amazonaws.com/ingestions/mer_1/ing_.../payload.csv?X-Amz-Signature=...",
"created_on": "2026-09-24T15:04:05.0000000+00:00",
"modified_on": "2026-09-24T15:04:11.0000000+00:00",
"_links": {
"self": {
"href": "https://api.checkout.com/inventory/var_123",
"actions": [
"GET"
],
"types": [
"application/json"
]
},
"results": {
"href": "https://api.checkout.com/inventory/var_123",
"actions": [
"GET"
],
"types": [
"application/json"
]
},
"start": {
"href": "https://api.checkout.com/inventory/var_123",
"actions": [
"GET"
],
"types": [
"application/json"
]
}
}
}Changes
No recorded changes to this operation across all 1 revision of this API.