Skip to main content
POST
/
defaultsettings
/
clone
Clone Default Settings
curl --request POST \
  --url https://api.royalti.io/defaultsettings/clone \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "sourceEntityType": "artist",
  "sourceEntityId": "660e8400-e29b-41d4-a716-446655440001",
  "targetEntityType": "artist",
  "targetEntityId": "770e8400-e29b-41d4-a716-446655440002"
}'
{
  "success": true,
  "message": "Default settings cloned successfully",
  "data": {
    "cloned": [
      {
        "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "TenantId": 123,
        "entityType": "tenant",
        "entityId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "category": "content",
        "settings": {
          "content": {
            "type": "Audio",
            "format": "Single",
            "version": "<string>",
            "explicit": "explicit",
            "language": "<string>",
            "mainGenre": [
              "<string>"
            ],
            "subGenre": [
              "<string>"
            ],
            "contributors": {}
          },
          "business": {
            "label": "<string>",
            "copyright": "<string>",
            "publisher": "<string>",
            "copyrightOwner": "<string>",
            "distribution": "<string>",
            "status": "Live"
          },
          "ddex": {
            "enableDDEX": true,
            "labelName": "<string>",
            "resourceReference": "<string>",
            "grid": "<string>",
            "icpn": "<string>"
          },
          "validation": {
            "requireGenre": true,
            "requireLyrics": true,
            "requireDescription": true,
            "minimumTrackCount": 1,
            "maximumTrackCount": 2
          }
        },
        "isActive": true,
        "priority": 0,
        "createdAt": "2023-11-07T05:31:56Z",
        "updatedAt": "2023-11-07T05:31:56Z"
      }
    ],
    "skipped": 123
  }
}

Description

POST /defaultsettings/clone Description: Clone all active default settings from one entity to another. This is useful for duplicating configurations when creating similar entities (e.g., copying artist defaults to a new artist in the same label). Method: POST Request Body:
ParameterTypeDescriptionRequired
sourceEntityTypestringSource entity typeYes
sourceEntityIduuidSource entity ID (optional for tenant/catalog)Conditional
targetEntityTypestringTarget entity typeYes
targetEntityIduuidTarget entity ID (optional for tenant/catalog)Conditional

Code Examples

const response = await fetch('https://api.royalti.io/defaultsettings/clone', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    "sourceEntityType": "sample-sourceEntityType",
    "sourceEntityId": "sample-sourceEntityId",
    "targetEntityType": "sample-targetEntityType",
    "targetEntityId": "sample-targetEntityId"
  })
});

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
sourceEntityType
enum<string>
required
Available options:
tenant,
label,
artist,
user,
catalog
targetEntityType
enum<string>
required
Available options:
tenant,
label,
artist,
user,
catalog
sourceEntityId
string<uuid>
targetEntityId
string<uuid>

Response

Settings cloned successfully

success
boolean
Example:

true

message
string
Example:

"Default settings cloned successfully"

data
object