API voor certificaten voor commercieel muziekgebruik

Bijgewerkt op 2026-09-18 · Suno-API-team

Beschrijving van het endpoint

De endpoints voor certificaten voor commercieel muziekgebruik laten u de nummers opvragen die de gebruiker van de huidige API-sleutel mag licentiëren, een PDF-certificaat genereren, de certificaathistorie opvragen en uitgegeven bestanden downloaden.

Alle endpoints gebruiken uniform de New API Key:

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Basisadres:

https://www.suno-api.io

Vereisten

0. Licentiegeschiktheid en identiteit

Vóór het uitgeven van een certificaat moet u de geschiktheid opvragen en de identiteit koppelen. Beide endpoints zijn gratis.

0.1 Geschiktheid en identiteit opvragen

Endpoint: GET /api/music/authorization/context

{
  "code": 200,
  "message": "success",
  "data": {
    "identity": {
      "exists": false
    },
    "eligibility": {
      "current_amount": 216.3,
      "personal_required_amount": 200,
      "company_required_amount": 500,
      "personal_eligible": true,
      "company_eligible": false
    },
    "stats": {
      "authorized_song_count": 0,
      "certificate_count": 0
    }
  }
}
Veld Type Opmerkingen
identity.exists boolean Of de licentie-identiteit al is gekoppeld; bij true komt er gemaskeerde identiteitsinformatie mee
eligibility.current_amount number Huidig cumulatief opwaarderingsbedrag (yuan)
eligibility.personal_required_amount number Drempel voor cumulatieve opwaardering voor een particuliere licentie
eligibility.company_required_amount number Drempel voor cumulatieve opwaardering voor een bedrijfslicentie
eligibility.personal_eligible / company_eligible boolean Of aan de betreffende geschiktheid wordt voldaan
stats.authorized_song_count / certificate_count number Aantal gelicentieerde nummers en uitgegeven certificaten

0.2 Licentie-identiteit koppelen

Endpoint: POST /api/music/authorization/identity

{
  "identity_type": "personal",
  "legal_name": "Jan Jansen",
  "id_number": "110101199001010000",
  "contact_name": "Jan Jansen",
  "phone": "13800000000",
  "email": "user@example.com",
  "address": "Dorpsstraat 12, Amsterdam",
  "confirm_locked": true
}
Parameter Type Verplicht Opmerkingen
identity_type string ja personal of company
legal_name string ja Naam van de persoon
id_number string ja Id-nummer (versleuteld opgeslagen op de server; gewone endpoints geven alleen het gemaskeerde resultaat terug)
company_name string verplicht voor bedrijven Bedrijfsnaam
credit_code string verplicht voor bedrijven Uniforme sociale kredietcode
contact_name string ja Contactpersoon
phone string ja Contacttelefoon
email string ja Contact-e-mail
address string nee Contactadres
confirm_locked boolean ja Bevestigt dat de identiteitsinformatie wordt vergrendeld; true betekent dat u accepteert dat die na het koppelen niet zelf kan worden gewijzigd

Het antwoord geeft de gemaskeerde identiteitsinformatie terug: {"identity": {...}}. Controleer na een geslaagde koppeling met het context-endpoint dat identity.exists true is geworden en roep daarna de nummerlijst en de uitgifte-endpoints aan. Moet de identiteitsinformatie worden gewijzigd, neem dan contact op met de klantenservice.

1. Licentieerbare nummers opvragen

Endpoint: GET /api/music/authorization/songs

Query-parameters

Parameter Type Verplicht Standaard Opmerkingen
p number nee 1 Paginanummer
page_size number nee systeemstandaard Items per pagina, maximaal 100
q string nee - Zoek op titel, prompt of exacte Suno Song ID
status string nee all all, selectable, authorized of unavailable

Voorbeeldverzoek

curl "https://www.suno-api.io/api/music/authorization/songs?p=1&page_size=20&status=selectable" \
  -H "Authorization: Bearer YOUR_API_KEY"

Voorbeeldantwoord

{
  "success": true,
  "message": "",
  "data": {
    "page": 1,
    "page_size": 20,
    "total": 1,
    "items": [
      {
        "task_id": 10001,
        "suno_song_id": "suno-song-id-1",
        "title": "Voorbeeldnummer",
        "generation_type": "generate",
        "completed_at": 1784000000,
        "created_at": 1783999000,
        "audio_url": "https://example.com/audio.mp3",
        "model_name": "suno-v6",
        "authorization": {
          "selectable": true
        }
      }
    ]
  }
}

Bij authorization.selectable=false legt het antwoord de reden uit via reason_code en reason. Nummers die al een certificaat hebben, geven ook certificate_id en certificate_no terug.

2. Een certificaat genereren

Endpoint: POST /api/music/authorization/certificates

Body-parameters

Parameter Type Verplicht Opmerkingen
song_ids string[] ja Lijst met echte Suno Song ID's om te licentiëren
confirm_risk_terms boolean ja Moet true zijn: bevestiging van de licentiescope en de risicovoorwaarden

Voorbeeldverzoek

curl -X POST https://www.suno-api.io/api/music/authorization/certificates \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "song_ids": ["suno-song-id-1", "suno-song-id-2"],
    "confirm_risk_terms": true
  }'

Voorbeeldantwoord

{
  "success": true,
  "message": "",
  "data": {
    "certificate": {
      "id": 101,
      "certificate_no": "CERTIFICATE-NO",
      "verification_code": "VERIFY-CODE",
      "status": "issued",
      "song_count": 2,
      "identity_type_snapshot": "personal",
      "licensee_name_masked": "J*",
      "document_no_masked_snapshot": "11**************34",
      "phone_masked_snapshot": "138****0000",
      "pdf_sha256": "PDF_SHA256",
      "issued_at": 1784000100,
      "created_at": 1784000000,
      "updated_at": 1784000100,
      "download_url": "/api/music/authorization/certificates/101/download",
      "songs": []
    }
  }
}

In een geslaagd antwoord is status gelijk aan issued. Mislukt het renderen van de PDF, dan wordt het certificaat gemarkeerd als failed en kunnen de betreffende nummers na het oplossen van het probleem opnieuw worden ingediend.

3. Certificaathistorie opvragen

Endpoint: GET /api/music/authorization/certificates

Query-parameters

Parameter Type Verplicht Standaard Opmerkingen
p number nee 1 Paginanummer
page_size number nee systeemstandaard Items per pagina, maximaal 100
q string nee - Zoek op certificaatnummer of gemaskeerde naam van de licentienemer

Voorbeeldverzoek

curl "https://www.suno-api.io/api/music/authorization/certificates?p=1&page_size=20" \
  -H "Authorization: Bearer YOUR_API_KEY"

Antwoordstructuur

De data van het antwoord is een gepagineerd object met page, page_size, total en items. Elk item in items is een certificaatsamenvatting en bevat de nummersnapshot van dat certificaat.

4. Certificaatdetails opvragen

Endpoint: GET /api/music/authorization/certificates/:id

De padparameter id is het numerieke ID van het certificaat. Het endpoint geeft alleen toegang tot certificaten van de gebruiker van de huidige API-sleutel.

Voorbeeldverzoek

curl https://www.suno-api.io/api/music/authorization/certificates/101 \
  -H "Authorization: Bearer YOUR_API_KEY"

Antwoordstructuur

Bij succes wordt data.certificate teruggegeven, met velden als certificaatnummer, status, gemaskeerde licentienemerinformatie, uitgiftetijd, PDF-controlesom, downloadadres en de snapshot van gelicentieerde nummers.

5. Certificaat-PDF downloaden

Endpoint: GET /api/music/authorization/certificates/:id/download

Alleen certificaten met status issued kunnen worden gedownload. Het downloadverzoek vereist nog steeds een geldige API-sleutel en u kunt alleen uw eigen certificaten downloaden.

Voorbeeldverzoek

curl https://www.suno-api.io/api/music/authorization/certificates/101/download \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --output authorization-certificate.pdf

Een geslaagd antwoord is een application/pdf-bestandsstream; de bestandsnaam volgt de Content-Disposition van de backend.

Veelvoorkomende oorzaken van mislukking

Situatie Voorgestelde aanpak
De API-sleutel is ongeldig of ontbreekt Controleer de header Authorization: Bearer YOUR_API_KEY
De licentie-identiteit is nog niet gekoppeld Rond eerst de identiteitskoppeling af op de certificaatpagina in de Create UI
Cumulatieve opwaardering is onvoldoende Probeer opnieuw nadat de eis voor particulier of bedrijf is bereikt
De risicovoorwaarden zijn niet bevestigd Zet confirm_risk_terms op true
Het nummer kan niet worden gelicentieerd Bekijk reason_code en reason uit de nummerlijst
Het nummer heeft al een certificaat Gebruik het teruggegeven certificate_id om het bestaande certificaat op te vragen
De PDF kan nu niet worden gegenereerd Probeer het later opnieuw; een mislukte registratie verbruikt de licentiegeschiktheid van het nummer niet

Opmerkingen

Een API-sleutel aanvragen

Maak na je registratie een API-sleutel aan in de console. Elke generatie kost ¥0,6 en levert 2 nummers op, downloads zijn onbeperkt en een telefoonnummer is niet nodig.

API-sleutel ophalen Terug naar overzicht