Skip to main content
POST
/
product
/
batch-delivery
Create batch deliveries for multiple products
curl --request POST \
  --url https://api.royalti.io/product/batch-delivery \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "productIds": [
    "prod_abc123",
    "prod_def456",
    "prod_ghi789"
  ],
  "provider": "fuga-csv-ftp",
  "priority": "normal",
  "settings": {}
}'
{
"status": "success",
"message": "Batch delivery created successfully",
"data": {
"batchId": "batch_abc123xyz",
"totalProducts": 10,
"foundProducts": 10,
"successfulDeliveries": 10,
"failedDeliveries": 0,
"invalidProducts": 0,
"provider": "fuga-csv-ftp",
"priority": "normal",
"deliveries": [
{
"productId": "<string>",
"upc": "<string>",
"title": "<string>",
"status": "queued",
"deliveryId": "<string>",
"messageId": "<string>"
}
],
"createdAt": "2023-11-07T05:31:56Z"
}
}
This endpoint requires authentication. Include your Bearer token in the Authorization header.

Description

POST /product/batch-delivery Create deliveries for multiple products in a single request. Features:
  • Process up to 100 products per request
  • Returns detailed status for each product
  • Supports partial success (some products succeed, others fail)
  • Asynchronous queue-based processing
Validation Rules:
  • All products must have UPC codes
  • Provider must be active and configured
  • “DDEX & Deliveries” addon must be enabled
  • Products must have required DDEX metadata
Rate Limits:
  • Counts as 1 request per product towards plan limits
  • Maximum 100 products per batch

Code Examples

const response = await fetch('https://api.royalti.io/product/batch-delivery', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${token}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    "productIds": [
      "prod_abc123",
      "prod_def456",
      "prod_ghi789"
    ],
    "provider": "fuga-csv-ftp",
    "priority": "normal",
    "settings": {}
  })
});

const data = await response.json();
console.log(data);

Authorizations

Authorization
string
header
required

JWT Authorization header using the Bearer scheme. Format: "Bearer {token}"

Body

application/json
productIds
string[]
required

Array of product IDs to deliver (max 100)

Required array length: 1 - 100 elements
Example:
["prod_abc123", "prod_def456", "prod_ghi789"]
provider
string
required

Provider identifier

Example:

"fuga-csv-ftp"

priority
enum<string>
default:normal

Delivery priority

Available options:
low,
normal,
high
Example:

"normal"

settings
object

Optional delivery settings override

Response

Batch delivery created successfully (all products succeeded)

status
string
Example:

"success"

message
string
Example:

"Batch delivery created successfully"

data
object