Skip to main content

list()

Returns a paginated list of compositions for a project.

Signature

royaltyport.compositions.list(projectId, options?)

Parameters

ParameterTypeRequiredDefaultDescription
projectIdstringYesThe project ID
options.pagenumberNo1Page number
options.perPagenumberNo20Items per page (max: 100)
options.includeProductsbooleanNofalseInclude product (release) data for each composition

Example

import { Royaltyport } from '@royaltyport/sdk';

const royaltyport = new Royaltyport({
  apiKey: 'rp_your_token_here',
});

const { data } = await royaltyport.compositions.list('project-id', {
  perPage: 50,
  includeProducts: true,
});

for (const composition of data.items) {
  console.log(`${composition.name} (${composition.iswc ?? 'no ISWC'})`);
  console.log('  Writers:', composition.writers.map(w => w.name).join(', '));
}

get()

Returns a single composition by ID.

Signature

royaltyport.compositions.get(projectId, compositionId, options?)

Parameters

ParameterTypeRequiredDefaultDescription
projectIdstringYesThe project ID
compositionIdnumberYesThe composition ID
options.includeProductsbooleanNofalseInclude product (release) data

Example

import { Royaltyport } from '@royaltyport/sdk';

const royaltyport = new Royaltyport({
  apiKey: 'rp_your_token_here',
});

const { data: composition } = await royaltyport.compositions.get('project-id', 77);

console.log(composition.name);
console.log('ISWC:', composition.iswc);
The products array only appears when includeProducts is set to true.