curl --request POST \
--url https://api.royalti.io/revenue/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "Streaming Revenue - January 2024",
"amount": 2500.5,
"currency": "USD",
"source": "streaming",
"transactionDate": "2024-01-15T10:30:00Z",
"artist": "artist-uuid-123",
"asset": "asset-uuid-456",
"splits": [
{
"user": "user-uuid-1",
"percentage": 60,
"amount": 1500.3
},
{
"user": "user-uuid-2",
"percentage": 40,
"amount": 1000.2
}
],
"metadata": {
"platform": "Spotify",
"region": "US",
"period": "2024-01"
},
"memo": "Monthly streaming revenue distribution"
}
'{
"message": "Revenue recorded with splits",
"revenue": {
"id": "revenue-uuid-123",
"title": "Streaming Revenue - January 2024",
"amount": 2500.5,
"currency": "USD",
"source": "streaming",
"transactionDate": "2024-01-15T10:30:00Z",
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
}Create Revenue
curl --request POST \
--url https://api.royalti.io/revenue/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "Streaming Revenue - January 2024",
"amount": 2500.5,
"currency": "USD",
"source": "streaming",
"transactionDate": "2024-01-15T10:30:00Z",
"artist": "artist-uuid-123",
"asset": "asset-uuid-456",
"splits": [
{
"user": "user-uuid-1",
"percentage": 60,
"amount": 1500.3
},
{
"user": "user-uuid-2",
"percentage": 40,
"amount": 1000.2
}
],
"metadata": {
"platform": "Spotify",
"region": "US",
"period": "2024-01"
},
"memo": "Monthly streaming revenue distribution"
}
'{
"message": "Revenue recorded with splits",
"revenue": {
"id": "revenue-uuid-123",
"title": "Streaming Revenue - January 2024",
"amount": 2500.5,
"currency": "USD",
"source": "streaming",
"transactionDate": "2024-01-15T10:30:00Z",
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
}/revenue/ endpoint allows creation of revenue records with detailed information including source, amount, splits, and associated metadata.
Method:POST
Request Payload:
| Parameter | Type | Description |
|---|---|---|
| title | string | Title/description of the revenue |
| amount | number | Revenue amount |
| currency | string | Currency code (e.g., USD, EUR) |
| source | string | Source of the revenue (e.g., streaming, sales) |
| transactionDate | string | Date of the revenue transaction |
| artist | string | Associated artist ID |
| asset | string | Associated asset ID |
| product | string | Associated product ID |
| splits | array | Revenue split information |
| metadata | object | Additional metadata |
| memo | string | Additional notes |
const response = await fetch('https://api.royalti.io/revenue/', {
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
"title": "sample-title",
"amount": 1,
"currency": "sample-currency",
"source": "sample-source",
"transactionDate": "2024-01-21T12:00:00Z",
"artist": "sample-artist",
"asset": "sample-asset",
"product": "sample-product",
"splits": [
{
"user": "sample-user",
"percentage": 1,
"amount": 1
}
],
"metadata": {},
"memo": "sample-memo"
})
});
const data = await response.json();
console.log(data);
JWT Authorization header using the Bearer scheme. Format: "Bearer {token}"
Title/description of the revenue
Revenue amount
Currency code (e.g., USD, EUR)
Source of the revenue
streaming, sales, licensing, sync, merchandise, live_performance, other Date of the revenue transaction
Associated artist ID
Associated asset ID
Associated product ID
Revenue split information
Show child attributes
Additional metadata
Additional notes