Bulk jobImport
Import Products Upload URL
Get a presigned S3 POST for uploading a large product spreadsheet directly to storage.
Authorization
default AuthorizationBearer <token>
You can retrieve your token by logging in.
In: header
Header Parameters
X-API-Version*string
API contract version to target. See the Changelog for what changed in each version.
Default
"2.0.0"Value in
"2.3.0" | "2.2.0" | "2.1.0" | "2.0.0"Request Body
application/json
filename?string
This field is required when extension is not present. Must not be greater than 255 characters.
content_type?|
Must not be greater than 255 characters.
size?|
Must be at least 1. Must not be greater than 20971520.
extension*string
Value in
"csv" | "xls" | "xlsx"market_id?|
Must match an existing stored value.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://api.flavours.sa/dev/api/v2/bulk/products/import/upload-url" \ -H "X-API-Version: 2.3.0" \ -H "Content-Type: application/json" \ -d '{ "extension": "xlsx" }'{
"meta": {
"code": 200,
"status": "success",
"message": "Product import upload URL generated successfully."
},
"data": {
"strategy": "presigned",
"url": "https://flavours-docs-bucket.s3.amazonaws.com",
"attributes": {
"action": "https://flavours-docs-bucket.s3.amazonaws.com",
"method": "POST",
"enctype": "multipart/form-data"
},
"fields": {
"acl": "private",
"key": "imports/quarantine/848aa3f5-fc3d-42d3-8cc9-4c6edd0140d0/e0c8a2ba-0bda-4476-bc83-bc035d3e5c96/source.csv",
"X-Amz-Credential": "AKIAEXAMPLE/20260823/us-east-1/s3/aws4_request",
"X-Amz-Algorithm": "AWS4-HMAC-SHA256",
"X-Amz-Date": "20260823T005812Z",
"Policy": "eyJleHBpcmF0aW9uIjoiMjAyNi0wOC0yM1QwMToxMzoxMloiLCJjb25kaXRpb25zIjpbeyJhY2wiOiJwcml2YXRlIn0seyJidWNrZXQiOiJmbGF2b3Vycy1kb2NzLWJ1Y2tldCJ9LFsiZXEiLCIka2V5IiwiaW1wb3J0c1wvcXVhcmFudGluZVwvODQ4YWEzZjUtZmMzZC00MmQzLThjYzktNGM2ZWRkMDE0MGQwXC9lMGM4YTJiYS0wYmRhLTQ0NzYtYmM4My1iYzAzNWQzZTVjOTZcL3NvdXJjZS5jc3YiXSxbImNvbnRlbnQtbGVuZ3RoLXJhbmdlIiwwLDIwOTcxNTIwXSx7IlgtQW16LURhdGUiOiIyMDI2MDgyM1QwMDU4MTJaIn0seyJYLUFtei1DcmVkZW50aWFsIjoiQUtJQUVYQU1QTEVcLzIwMjYwODIzXC91cy1lYXN0LTFcL3MzXC9hd3M0X3JlcXVlc3QifSx7IlgtQW16LUFsZ29yaXRobSI6IkFXUzQtSE1BQy1TSEEyNTYifV19",
"X-Amz-Signature": "9969ffb2e5b978d09f13213fa626f7d29bc6ac32823a9901b28763297958bec2"
},
"key": "imports/quarantine/848aa3f5-fc3d-42d3-8cc9-4c6edd0140d0/e0c8a2ba-0bda-4476-bc83-bc035d3e5c96/source.csv",
"max_bytes": 20971520
}
}{
"meta": {
"code": 401,
"status": "error",
"message": "Unauthenticated."
},
"data": null
}{
"meta": {
"code": 403,
"status": "error",
"message": "Unauthorized."
},
"data": null
}{
"meta": {
"code": 404,
"status": "error",
"message": "Resource not found."
},
"data": null
}{
"meta": {
"code": 500,
"status": "error",
"message": "Internal server error."
},
"data": null
}