Skip to main content
POST
/
revenue
/
Create Revenue
curl --request POST \
  --url https://server26-dot-royalti-project.uc.r.appspot.com/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"
  }
}
This endpoint requires authentication. Include your Bearer token in the Authorization header.

Code Examples

const response = await fetch('https://server26-dot-royalti-project.uc.r.appspot.com/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);

Authorizations

Authorization
string
header
required

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

Body

application/json
title
string
required

Title/description of the revenue

amount
number
required

Revenue amount

currency
string
default:USD
required

Currency code (e.g., USD, EUR)

source
enum<string>
required

Source of the revenue

Available options:
streaming,
sales,
licensing,
sync,
merchandise,
live_performance,
other
transactionDate
string<date-time>
required

Date of the revenue transaction

artist
string

Associated artist ID

asset
string

Associated asset ID

product
string

Associated product ID

splits
object[]

Revenue split information

metadata
object

Additional metadata

memo
string

Additional notes

Response

Success

message
string
revenue
object