Skip to main content
POST
/
split
/
default
curl --request POST \
--url https://server26-dot-royalti-project.uc.r.appspot.com/split/default \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"assetId": "d1c5b49e-95fa-4aed-930e-cf314c16a53d",
"type": "Publishing",
"split": [
{
"user": "cf960b5a-37cd-484a-b461-0b191b09bed1",
"share": 60
},
{
"user": "4e39b347-7db0-417d-a5bc-3d8493c9ce19",
"share": 40
}
]
}'
{
"message": "Split created successfully",
"split": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Default Split - Song Title (ISRC12345678)",
"type": "Publishing",
"AssetId": "d1c5b49e-95fa-4aed-930e-cf314c16a53d",
"ProductId": null,
"createdAt": "2023-06-01T12:00:00.000Z",
"updatedAt": "2023-06-01T12:00:00.000Z"
},
"source": "manual"
}
/split/default Description:
The /split/default endpoint creates splits using either provided shares or an artist’s default splits. It automatically associates the split with an asset or product and validates that the total share equals 100%.
Method:
POST
Request Body: The request body should be a JSON object with the following properties. Either assetId or productId is required.
ParameterTypeRequiredDescription
splitarrayNoArray of split share objects (if not provided, uses artist’s default splits)
assetIdstringConditionalUUID of the asset to create splits for (required if productId not provided)
productIdstringConditionalUUID of the product to create splits for (required if assetId not provided)
typestringNoType of split (defaults to ‘default’ if not provided)
Split Share Object:
ParameterTypeRequiredDescription
userstringYesUUID of the user
sharenumberYesPercentage share (must total 100% across all shares)

Authentication

This endpoint requires authentication. Include your bearer token in the Authorization header.

Request Body

Request Schema

FieldTypeRequiredDescription
splitarrayArray of split share objects
assetIdstringUUID of the asset to create splits for (required if productId not provided)
productIdstringUUID of the product to create splits for (required if assetId not provided)
typestringType of split (defaults to ‘default’ if not provided)

Responses

✅ 201 - Created

⚠️ 400 - Bad Request

Missing required field

{
  "status": "error",
  "message": "Either assetId or productId is required"
}

Invalid split total

{
  "status": "error",
  "message": "Split must equal 100. Current total: 90"
}

No artist found

{
  "status": "error",
  "message": "Asset not found or has no associated artists"
}

No default splits

{
  "status": "error",
  "message": "No default splits found for artist. Please provide splits in request body."
}

Split exists

{
  "status": "error",
  "message": "Default split already exists for this asset"
}

⚠️ 401 - Unauthorized

❌ 500 - Internal Server Error

Tags

Splits

Authorizations

Authorization
string
header
required

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

Body

application/json
  • Option 1
  • Option 2
assetId
string<uuid>
required

UUID of the asset to create splits for (required if productId not provided)

split
object[]

Array of split share objects

productId
string<uuid>

UUID of the product to create splits for (required if assetId not provided)

type
string
default:default

Type of split (defaults to 'default' if not provided)

Response

Created

message
string
Example:

"Split created successfully"

split
object
source
enum<string>

Indicates whether the split was created from manual input or artist defaults

Available options:
manual,
artist_default
I