Skip to main content
POST
/
product
/
{id}
/
deliveries
Add Product Delivery
curl --request POST \
  --url https://api.royalti.io/product/{id}/deliveries \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "providers": [
    "spotify-ddex-sftp",
    "apple-ddex-api"
  ],
  "autoDeliver": true,
  "settings": {
    "releaseType": "Album"
  }
}
'
{
  "status": "success",
  "message": "Deliveries initiated successfully",
  "data": {
    "productId": "<string>",
    "upc": "<string>",
    "deliveries": [
      {
        "provider": "<string>",
        "status": "<string>",
        "deliveryId": "<string>"
      }
    ]
  }
}
This endpoint requires authentication. Include your Bearer token in the Authorization header.

Description

/product//deliveries Description: Initiate delivery of a product to one or more DSP providers. This endpoint validates the product, generates necessary DDEX messages (ERN/MEAD), and queues the delivery. Method: POST Path Parameter:
ParameterTypeDescription
idstringThe unique identifier of the product
Request Payload:
ParameterTypeDescription
providersarray/stringProvider ID(s) to deliver to
autoDeliverbooleanWhether to automatically deliver (default: true)
settingsobjectOptional DDEX settings override
Validation:
  • Product must have a UPC
  • Product must meet provider-specific requirements
  • Assets must have required metadata (ISRC, etc.)

Code Examples

const response = await fetch('https://api.royalti.io/product/example-id/deliveries', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${token}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    "autoDeliver": true,
    "settings": {}
  })
});

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

Authorizations

Authorization
string
header
required

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

Path Parameters

id
string
required

Product ID

Body

application/json
providers
required

Single provider ID or array of provider IDs

autoDeliver
boolean
default:true

Whether to automatically deliver or just validate

settings
object

Optional DDEX settings override

Response

Deliveries initiated successfully

status
string
Example:

"success"

message
string
Example:

"Deliveries initiated successfully"

data
object