logo logo
  • Home
  • Distro
  • Max
  • PRO
VerseOne Login

API Docs

  • Introduction Introduction
    • API Workflow Guide
    • Royalties API Walkthrough
  • Auth Requests Auth Requests
  • Authentication Authentication
    • Login
  • Distribution Distribution
    • Get All Releases
    • Show a Release Detail
    • Create a Release and Tracks
    • Upload an Artwork Image
    • Upload a Track File
    • Get Genres
    • Get Subgenres
    • Get Moods
    • Get Languages
    • Get Release Pricing
    • Update Release or Tracks metadata
    • Delete Release or Track
  • Royalties Royalties
    • Payouts list
    • Create Payout Request
    • Set Threshold
    • Get Pending Payouts for The User
    • Set Monthly Type
    • Income List
    • Get Invoice
  • Analytics Analytics
    • Get Product by UPC
    • Get Artist by Name
    • Get Territories
    • Get DSPs
    • Trends Total
    • Trends List
    • Trends Chart
    • Get Artist ID
    • Get Artist ID from Identifiers
    • Get Artist Social Stats
    • Get Artist Stats
    • Get Artist URLs
    • Get Instagram Audience Stats
    • Get Tiktok Audience Stats
    • Get Youtube Audience Stats
    • Get Youtube Market Coverage
    • Get Editorial Playlists
    • Get Curator Playlists
    • Get Radio Airplays
    • Get Radio
    • Get Charts
    • Get Social Audience Stats

VerseOne API Docs

Royalties

Payouts list

GET /api/v1/payouts requires authentication
                            GET /api/v1/payouts
                        

Headers

Authorization

Example: Bearer {YOUR_AUTH_KEY}

Content Type

Example: application/json

Accept

Example: application/json

Example Request

  • JavaScript
  • Python
  • PHP
  • cURL

                                                const url = new URL(
                                            "http://verseone.test/api/v1/payouts"
                                        );

                                        const headers = {
                                            "Authorization": "Bearer {YOUR_AUTH_KEY}",
                                            "Content-Type": "application/json",
                                            "Accept": "application/json",
                                        };

                                        fetch(url, {
                                            method: "GET",
                                            headers,
                                        }).then(response => response.json());
                                            

                                                import requests
                                        import json

                                        url = 'http://verseone.test/api/v1/payouts'
                                        headers = {
                                        'Authorization': 'Bearer {YOUR_AUTH_KEY}',
                                        'Content-Type': 'application/json',
                                        'Accept': 'application/json'
                                        }

                                        response = requests.request('GET', url, headers=headers)
                                        response.json()
                                            

                                                <?php
                                    $client = new \GuzzleHttp\Client();
                                    $url = 'http://verseone.test/api/v1/payouts';
                                    $response = $client->get(
                                        $url,
                                        [
                                            'headers' => [
                                                'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
                                                'Content-Type' => 'application/json',
                                                'Accept' => 'application/json',
                                            ],
                                        ]
                                    );
                                    $body = $response->getBody();
                                    print_r(json_decode((string) $body));
                                ?>
                                            

                                                curl --request GET \
                                            --get "http://verseone.test/api/v1/payouts" \
                                            --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
                                            --header "Content-Type: application/json" \
                                            --header "Accept: application/json"
                                            

Example Response

  • 401

                                                        {
    "error": "Invalid token"
}
                                                    

Create Payout Request

POST /api/v1/payouts requires authentication
                            POST /api/v1/payouts
                        

Headers

Authorization

Example: Bearer {YOUR_AUTH_KEY}

Content Type

Example: application/json

Accept

Example: application/json

Body Parameters

amount number required

amount cannot exceed available/withdrawable balance.

Notes:Use a period . as decimal separator. Must be at least 100.

Example: 250

Example Request

  • JavaScript
  • Python
  • PHP
  • cURL

                                                const url = new URL(
                                            "http://verseone.test/api/v1/payouts"
                                        );

                                        const headers = {
                                            "Authorization": "Bearer {YOUR_AUTH_KEY}",
                                            "Content-Type": "application/json",
                                            "Accept": "application/json",
                                        };

                                        let body = {
                                            "amount": 250
                                        };

                                        fetch(url, {
                                            method: "POST",
                                            headers,
                                            body: JSON.stringify(body),
                                        }).then(response => response.json());
                                            

                                                import requests
                                        import json

                                        url = 'http://verseone.test/api/v1/payouts'
                                        payload = {
                                            "amount": 250
                                        }
                                        headers = {
                                        'Authorization': 'Bearer {YOUR_AUTH_KEY}',
                                        'Content-Type': 'application/json',
                                        'Accept': 'application/json'
                                        }

                                        response = requests.request('POST', url, headers=headers, json=payload)
                                        response.json()
                                            

                                                <?php
                                    $client = new \GuzzleHttp\Client();
                                    $url = 'http://verseone.test/api/v1/payouts';
                                    $response = $client->post(
                                        $url,
                                        [
                                            'headers' => [
                                                'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
                                                'Content-Type' => 'application/json',
                                                'Accept' => 'application/json',
                                            ],
                                            'json' => [
                                                'amount' => 250.0,
                                            ],
                                        ]
                                    );
                                    $body = $response->getBody();
                                    print_r(json_decode((string) $body));
                                ?>
                                            

                                                curl --request POST \
                                            "http://verseone.test/api/v1/payouts" \
                                            --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
                                            --header "Content-Type: application/json" \
                                            --header "Accept: application/json" \
                                            --data "{
                                            \"amount\": 250
                                        }"
                                            

Example Response

  • 201
  • 409
  • 422

                                                        {
    "status": true,
    "payout": {
        "id": "pout_98765",
        "user_id": "usr_123",
        "amount": "250.00",
        "currency": "USD",
        "fees": "5.00",
        "net_amount": "245.00",
        "wallet": 238.468,
        "status": "pending",
        "method": null,
        "reference": null,
        "created_at": "2025-10-30T21:35:18Z",
        "processed_at": null,
        "notes": null,
        "metadata": {
            "idempotency_key": "7b8b8c4f-2a0f-4b17-82a1-8e5b9f7e0f56"
        }
    },
    "withdrawal_type": 1,
    "message": "Payout saved successfully"
}
                                                    

                                                        {
    "status": false,
    "message": "Payout request failed due to insufficient funds",
    "type": 1
}
                                                    

                                                        {
    "status": false,
    "message": "You cannot change the withdrawal type to request at this time",
    "type": 0
}
                                                    

Set Threshold

POST /api/v1/setThreshold requires authentication
                            POST /api/v1/setThreshold
                        

Headers

Authorization

Example: Bearer {YOUR_AUTH_KEY}

Content Type

Example: application/json

Accept

Example: application/json

Body Parameters

amount number required

amount Must be at least 100.

Example: 99

Example Request

  • JavaScript
  • Python
  • PHP
  • cURL

                                                const url = new URL(
                                            "http://verseone.test/api/v1/setThreshold"
                                        );

                                        const headers = {
                                            "Authorization": "Bearer {YOUR_AUTH_KEY}",
                                            "Content-Type": "application/json",
                                            "Accept": "application/json",
                                        };

                                        let body = {
                                            "amount": 99
                                        };

                                        fetch(url, {
                                            method: "POST",
                                            headers,
                                            body: JSON.stringify(body),
                                        }).then(response => response.json());
                                            

                                                import requests
                                        import json

                                        url = 'http://verseone.test/api/v1/setThreshold'
                                        payload = {
                                            "amount": 99
                                        }
                                        headers = {
                                        'Authorization': 'Bearer {YOUR_AUTH_KEY}',
                                        'Content-Type': 'application/json',
                                        'Accept': 'application/json'
                                        }

                                        response = requests.request('POST', url, headers=headers, json=payload)
                                        response.json()
                                            

                                                <?php
                                    $client = new \GuzzleHttp\Client();
                                    $url = 'http://verseone.test/api/v1/setThreshold';
                                    $response = $client->post(
                                        $url,
                                        [
                                            'headers' => [
                                                'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
                                                'Content-Type' => 'application/json',
                                                'Accept' => 'application/json',
                                            ],
                                            'json' => [
                                                'amount' => 99,
                                            ],
                                        ]
                                    );
                                    $body = $response->getBody();
                                    print_r(json_decode((string) $body));
                                ?>
                                            

                                                curl --request POST \
                                            "http://verseone.test/api/v1/setThreshold" \
                                            --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
                                            --header "Content-Type: application/json" \
                                            --header "Accept: application/json" \
                                            --data "{
                                            \"amount\": 99
                                        }"
                                            

Get Pending Payouts for The User

GET /api/v1/payouts/pending requires authentication
                            GET /api/v1/payouts/pending
                        

Headers

Authorization

Example: Bearer {YOUR_AUTH_KEY}

Content Type

Example: application/json

Accept

Example: application/json

Example Request

  • JavaScript
  • Python
  • PHP
  • cURL

                                                const url = new URL(
                                            "http://verseone.test/api/v1/payouts/pending"
                                        );

                                        const headers = {
                                            "Authorization": "Bearer {YOUR_AUTH_KEY}",
                                            "Content-Type": "application/json",
                                            "Accept": "application/json",
                                        };

                                        fetch(url, {
                                            method: "GET",
                                            headers,
                                        }).then(response => response.json());
                                            

                                                import requests
                                        import json

                                        url = 'http://verseone.test/api/v1/payouts/pending'
                                        headers = {
                                        'Authorization': 'Bearer {YOUR_AUTH_KEY}',
                                        'Content-Type': 'application/json',
                                        'Accept': 'application/json'
                                        }

                                        response = requests.request('GET', url, headers=headers)
                                        response.json()
                                            

                                                <?php
                                    $client = new \GuzzleHttp\Client();
                                    $url = 'http://verseone.test/api/v1/payouts/pending';
                                    $response = $client->get(
                                        $url,
                                        [
                                            'headers' => [
                                                'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
                                                'Content-Type' => 'application/json',
                                                'Accept' => 'application/json',
                                            ],
                                        ]
                                    );
                                    $body = $response->getBody();
                                    print_r(json_decode((string) $body));
                                ?>
                                            

                                                curl --request GET \
                                            --get "http://verseone.test/api/v1/payouts/pending" \
                                            --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
                                            --header "Content-Type: application/json" \
                                            --header "Accept: application/json"
                                            

Example Response

  • 401

                                                        {
    "error": "Invalid token"
}
                                                    

Set Monthly Type

POST /api/v1/payouts/set-monthly-type requires authentication
                            POST /api/v1/payouts/set-monthly-type
                        

Headers

Authorization

Example: Bearer {YOUR_AUTH_KEY}

Content Type

Example: application/json

Accept

Example: application/json

Example Request

  • JavaScript
  • Python
  • PHP
  • cURL

                                                const url = new URL(
                                            "http://verseone.test/api/v1/payouts/set-monthly-type"
                                        );

                                        const headers = {
                                            "Authorization": "Bearer {YOUR_AUTH_KEY}",
                                            "Content-Type": "application/json",
                                            "Accept": "application/json",
                                        };

                                        fetch(url, {
                                            method: "POST",
                                            headers,
                                        }).then(response => response.json());
                                            

                                                import requests
                                        import json

                                        url = 'http://verseone.test/api/v1/payouts/set-monthly-type'
                                        headers = {
                                        'Authorization': 'Bearer {YOUR_AUTH_KEY}',
                                        'Content-Type': 'application/json',
                                        'Accept': 'application/json'
                                        }

                                        response = requests.request('POST', url, headers=headers)
                                        response.json()
                                            

                                                <?php
                                    $client = new \GuzzleHttp\Client();
                                    $url = 'http://verseone.test/api/v1/payouts/set-monthly-type';
                                    $response = $client->post(
                                        $url,
                                        [
                                            'headers' => [
                                                'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
                                                'Content-Type' => 'application/json',
                                                'Accept' => 'application/json',
                                            ],
                                        ]
                                    );
                                    $body = $response->getBody();
                                    print_r(json_decode((string) $body));
                                ?>
                                            

                                                curl --request POST \
                                            "http://verseone.test/api/v1/payouts/set-monthly-type" \
                                            --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
                                            --header "Content-Type: application/json" \
                                            --header "Accept: application/json"
                                            

Income List

GET /api/v1/incomes requires authentication
                            GET /api/v1/incomes
                        

Headers

Authorization

Example: Bearer {YOUR_AUTH_KEY}

Content Type

Example: application/json

Accept

Example: application/json

Example Request

  • JavaScript
  • Python
  • PHP
  • cURL

                                                const url = new URL(
                                            "http://verseone.test/api/v1/incomes"
                                        );

                                        const headers = {
                                            "Authorization": "Bearer {YOUR_AUTH_KEY}",
                                            "Content-Type": "application/json",
                                            "Accept": "application/json",
                                        };

                                        fetch(url, {
                                            method: "GET",
                                            headers,
                                        }).then(response => response.json());
                                            

                                                import requests
                                        import json

                                        url = 'http://verseone.test/api/v1/incomes'
                                        headers = {
                                        'Authorization': 'Bearer {YOUR_AUTH_KEY}',
                                        'Content-Type': 'application/json',
                                        'Accept': 'application/json'
                                        }

                                        response = requests.request('GET', url, headers=headers)
                                        response.json()
                                            

                                                <?php
                                    $client = new \GuzzleHttp\Client();
                                    $url = 'http://verseone.test/api/v1/incomes';
                                    $response = $client->get(
                                        $url,
                                        [
                                            'headers' => [
                                                'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
                                                'Content-Type' => 'application/json',
                                                'Accept' => 'application/json',
                                            ],
                                        ]
                                    );
                                    $body = $response->getBody();
                                    print_r(json_decode((string) $body));
                                ?>
                                            

                                                curl --request GET \
                                            --get "http://verseone.test/api/v1/incomes" \
                                            --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
                                            --header "Content-Type: application/json" \
                                            --header "Accept: application/json"
                                            

Example Response

  • 401

                                                        {
    "error": "Invalid token"
}
                                                    

Get Invoice

GET /api/v1/invoice requires authentication
                            GET /api/v1/invoice
                        

Headers

Authorization

Example: Bearer {YOUR_AUTH_KEY}

Content Type

Example: application/json

Accept

Example: application/json

Example Request

  • JavaScript
  • Python
  • PHP
  • cURL

                                                const url = new URL(
                                            "http://verseone.test/api/v1/invoice"
                                        );

                                        const headers = {
                                            "Authorization": "Bearer {YOUR_AUTH_KEY}",
                                            "Content-Type": "application/json",
                                            "Accept": "application/json",
                                        };

                                        fetch(url, {
                                            method: "GET",
                                            headers,
                                        }).then(response => response.json());
                                            

                                                import requests
                                        import json

                                        url = 'http://verseone.test/api/v1/invoice'
                                        headers = {
                                        'Authorization': 'Bearer {YOUR_AUTH_KEY}',
                                        'Content-Type': 'application/json',
                                        'Accept': 'application/json'
                                        }

                                        response = requests.request('GET', url, headers=headers)
                                        response.json()
                                            

                                                <?php
                                    $client = new \GuzzleHttp\Client();
                                    $url = 'http://verseone.test/api/v1/invoice';
                                    $response = $client->get(
                                        $url,
                                        [
                                            'headers' => [
                                                'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
                                                'Content-Type' => 'application/json',
                                                'Accept' => 'application/json',
                                            ],
                                        ]
                                    );
                                    $body = $response->getBody();
                                    print_r(json_decode((string) $body));
                                ?>
                                            

                                                curl --request GET \
                                            --get "http://verseone.test/api/v1/invoice" \
                                            --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
                                            --header "Content-Type: application/json" \
                                            --header "Accept: application/json"
                                            

Example Response

  • 401

                                                        {
    "error": "Invalid token"
}
                                                    
  • Introduction
    • API Workflow Guide
    • Royalties API Walkthrough
  • Auth Requests
  • Authentication
    • Login
  • Distribution
    • Get All Releases
    • Show a Release Detail
    • Create a Release and Tracks
    • Upload an Artwork Image
    • Upload a Track File
    • Get Genres
    • Get Subgenres
    • Get Moods
    • Get Languages
    • Get Release Pricing
    • Update Release or Tracks metadata
    • Delete Release or Track
  • Royalties
    • Payouts list
    • Create Payout Request
    • Set Threshold
    • Get Pending Payouts for The User
    • Set Monthly Type
    • Income List
    • Get Invoice
  • Analytics
    • Get Product by UPC
    • Get Artist by Name
    • Get Territories
    • Get DSPs
    • Trends Total
    • Trends List
    • Trends Chart
    • Get Artist ID
    • Get Artist ID from Identifiers
    • Get Artist Social Stats
    • Get Artist Stats
    • Get Artist URLs
    • Get Instagram Audience Stats
    • Get Tiktok Audience Stats
    • Get Youtube Audience Stats
    • Get Youtube Market Coverage
    • Get Editorial Playlists
    • Get Curator Playlists
    • Get Radio Airplays
    • Get Radio
    • Get Charts
    • Get Social Audience Stats
CONTENT

© 2026 VerseOne Distribution. All Rights Reserved.