Current endpoints
GET /api/v1/certificatesPOST /api/v1/certificatesGET /api/v1/certificates/{certificateId}POST /api/v1/verifyGET /api/v1/works/{isrc}GET /api/v1/search?q={query}GET /api/v1/anchorsGET /api/v1/ledger/eventsACC API
ACC API is the product surface for distributors, DSPs, labels, catalog owners and licensing teams that need certificate category, status, hashes, declaration version and verification URL inside their own workflows.
Prices, allowances and technical limitsHUMAN, SEMI_MIX and AI_GEN are declaration-based certificates. HUMAN_LEGACY is an ACC-initiated historical metadata certificate, not a creator or rights-holder declaration.
ACC-issued historical metadata certificate. No artist or rights-holder endorsement implied.
ISRC lookup and search return historical records in legacyCertificates, separate from certificates. Read certificateType, certificationBasis, status, boundary and mark.label. Never map HUMAN_LEGACY to HUMAN or infer an audio-file match, authorship, copyright clearance or blockchain confirmation from the category alone.
ACC signs the historical metadata snapshot and its chronology assessment using Ed25519 (JWS, EdDSA). The published key set is available at /.well-known/acc-issuer-keys.json. Pin a trusted ACC key before independent verification. A signature identifies ACC as the issuer; it does not establish the truth of third-party metadata.
For an ID, download /api/v1/legacy-certificates/ID/document.jws, /timestamp.ots, /proof and /history. The OTS file covers the exact JWS file bytes, not the audio. Before submission the OTS endpoint returns 409 with Retry-After. The detail response separates signature verification from timestampProof: pending, submitted or confirmed. List responses use not_loaded; fetch the detail for the current proof.
Background processing runs every two minutes with retry backoff. Confirmation requires a matching Bitcoin commitment, locally checked block-header hashes and agreement of two independent explorer services, with at least six confirmations. This is not a full validating Bitcoin node. The standard downloaded OTS proof supports independent verification. Its date concerns the ACC statement, not the historical recording.
The signed chronology policy accepts source release years 1950-1990 and preserves year, month or day precision without inventing missing dates. The status history records public reasons for disputes, restoration and permanent revocation. A downloaded issuance proof must always be checked against the current online status. Listing is paginated at 20 items using the returned nextCursor as the after parameter.
Historical records use the HUMAN LEGACY mark. Public reading: GET /api/v1/legacy-certificates/{certificateId}. Normal declaration issuance remains unchanged.
Historical issuance is reserved for ACC operators through a separately enabled endpoint and dedicated issuer key. Partner credentials and creator credentials do not grant this permission.
GET /api/v1/certificatesPOST /api/v1/certificatesGET /api/v1/certificates/{certificateId}POST /api/v1/verifyGET /api/v1/works/{isrc}GET /api/v1/search?q={query}GET /api/v1/anchorsGET /api/v1/ledger/eventsPilot authentication is designed around bearer partner keys. Public review endpoints remain open for validation; partner access requests can already identify the calling partner and appear in audit logs.
Request API pilotPublic review endpoints work without auth for partner validation.
Partner access requests can send Authorization: Bearer acc_partner_review.
Production pilots receive partner-specific bearer keys, audit partnerId and agreed rate limits.
ACC_REQUIRE_PARTNER_AUTH=true can gate the API without changing client paths.
Authorization: Bearer acc_partner_reviewExisting pilot access uses individually provisioned limits. Published commercial allowances do not automatically change credentials, permissions or enforced quotas. Paid plans require separate activation.
Recommended pilot start: one workflow, one catalog subset, one integration owner and one expected decision that ACC status should improve.
Partner commercial terms
Labels, catalog owners and managers
$299 net / month + $0.99 net / certificateNo certificate allowance included.
DSPs and collective management organizations (CMOs)
$1,999 net / monthNo certificate allowance included.
Aggregators, distributors and creator platforms
$3,299 net / month250,000 certificates included per month.
$0.15 net / extra certificate; 1,000 / $150 net.
All limits apply together, per person or organization. Limits are not free credits. Team seats cover operators, not invited artists, co-authors or certificate viewers.
| Plan | Per day (UTC) | Per month | Import batch | Concurrent issuance | Team seats |
|---|---|---|---|---|---|
| Professional | 1,000 | 10,000 | 1,000 | 2 | 5 |
| Data API | 0 | 0 | 0 | 0 | 10 |
| Partner | 25,000 | 500,000 | 1,000 | 4 | 10 |
Data API does not include issuance. Professional and Partner API submissions are capped at 60 records/minute per organization, within the daily and monthly ceilings. Catalog batches are queued, not processed all at once.
One read checks one identifier or retrieves one certificate. A batch counts every checked item. Allowances are shared across every user, key and device in the organization.
| Plan | Per month | Per day (UTC) | Per second | Concurrent reads |
|---|---|---|---|---|
| Professional | 1,000,000 | 100,000 | 5 | 10 |
| Data API | 100,000,000 | 4,000,000 | 60 | 64 |
| Partner | 10,000,000 | 500,000 | 10 | 20 |
1 production integration project and up to 2 active keys per API plan, sharing the same allowance. Separate sandbox: 1,000 test operations/month, up to 1/s. No production certificates, payments or anchors are created by sandbox operations. Production credentials and limits require separate activation.
All prices are in USD. Gross prices include applicable taxes. Net prices exclude applicable taxes; the total must be shown before payment. Organization single certificates are priced net, while its pack is priced gross. Account registration is free and does not grant free certificate credits.
Subscriptions run for one paid monthly period from activation. Daily limits use UTC; non-subscription plans use UTC calendar months. Unused subscription allowances do not roll over. Separate certificate packs have a proposed 12-month validity, subject to final terms approval. Use the current subscription allowance first, then the pack expiring soonest. A pack does not extend API access after a subscription ends.
Each plan covers one contracting entity. Do not share logins. Limits are shared across the organization, users, keys, devices and submission channels. Team seats are for employees and operators, not invited artists, co-authors or public certificate viewers. A certificate paid for by a partner is not charged again to the artist. Creating extra accounts or keys does not increase the allowance.
One certificate binds a declaration to an identified audio file or content hash. Invalid submissions do not consume a credit. Retrying an issuance with the same idempotency key must not create a second certificate or charge. After a timeout, recover the original result before submitting again. Declared categories HUMAN, SEMI-MIX and AI GEN follow the same pricing and certification rules.
One unit is one identifier check or one certificate retrieval, not an unlimited report or database scan. A valid not-certified result and a valid cached result both count. Technical 5xx failures, authentication rejections and 429 responses do not consume paid read units, but all attempts are subject to abuse controls. A new successful read counts again. Job-status and billing-panel access are not extra certificate purchases.
Partner extra credits require a separate purchase. They do not increase daily, monthly-ceiling or concurrency limits. Read overages are not sold in this offer: new commercial reads pause when the allowance runs out until the next paid period. Usage warnings are specified at 80%, 90% and 100%. These controls must pass acceptance before paid activation; existing provisioned limits remain in force meanwhile.
Split larger catalogs into the permitted batch size. A batch of 1,000 records is not 1,000 simultaneous issuances, and batch reads count each checked item. Progress, validation errors and remaining allowance must stay visible. A monthly volume is not a promise of instant processing. Standard certification receives hashes, metadata and declarations, not uploaded raw audio.
A declaration record, the applicable ACC mark, a public verification URL and QR, available certificate downloads and timestamp-proof status. Bitcoin confirmation follows its own pending lifecycle and is not immediate. Standard co-author confirmations, status and metadata updates preserve history without another certificate purchase. A new file requiring a new certificate consumes a new credit. ACC is not an AI detector or a guarantee of copyright ownership or truthful authorship.
Opening a certificate link or QR and manual public verification do not require a subscription. Abuse protection still applies; the public form is not a free bulk commercial API. Ending a subscription does not delete or invalidate existing certificates. Certificate status may change under the certification policy, independently of billing.
Self-service only. No manual catalog processing, bespoke implementation, legal review, guaranteed 24/7 support or availability SLA. Contact is through the form or email with no promised response time. API allowances cover ACC data, not unlimited external metadata searches, raw registry resale or identifier issuance by ISRC, ISWC or IPI authorities. Advanced reports are not a separate purchasable product until their scope and delivery are approved.
Cancellation stops the next renewal; access continues through the paid period, subject to a lawful security restriction under the terms. Refunds and buyer rights are governed by the accepted terms. Interruptions must be communicated and accepted jobs retain a status, retry or appropriate settlement. Temporarily stopping new issuance must not misrepresent existing certificate status.
Certificate issuance requires explicit user acceptance of ACC terms, privacy notice, creator declaration, public verification, partner API access and ACC work/provenance data use.
The app must hash the final audio/work file before sending the request.
The app must show ACC legal, public-proof and work-data acceptance before issuance.
The app must send declaration.acceptance with all required accepted statements.
The app must not issue certificates for unclear third-party rights unless ACC enables a reviewed workflow.
The app must preserve the returned certificateId, verificationUrl, category, hashes, QR and status fields.
{
"valid": true,
"status": "anchored",
"matchedCertificateId": "ACC-EXAMPLE-HUMAN-001",
"certificate": {
"category": "HUMAN",
"identityAssuranceLevel": "LEVEL_2_SIGNED_DECLARATION",
"work": {
"declaredProducerName": "Mira Nowak",
"isrc": "PL2O52600001",
"isrcDisplay": "PL-2O5-26-00001",
"isrcSource": "acc_assigned",
"isrcAssignedBy": {
"name": "Art Clearance Certification Sp. z o.o."
}
},
"anchorBatch": { "status": "anchored" }
},
"auth": {
"partnerId": "public-partner-review",
"mode": "partner_key",
"authenticated": true
}
}{
"isrc": "USRC17607839",
"accStatus": "not_certified",
"certificates": [],
"externalLookup": {
"source": "MusicBrainz",
"found": true
}
}HTTP 401. Invalid partner API key when auth is required.
HTTP 400. Required certificate, hash or declaration field is missing or malformed.
HTTP 404. Certificate or anchor batch does not exist.
HTTP 429. Request volume exceeded the controlled-access safety limit.
HTTP 503. ACC Core could not answer and no local fallback was available.
Integration path
A pilot can start with a small ISRC list, upload workflow, catalog subset or licensing scenario. The output is a certificate status object, public proof URL and ledger/anchor state that your system can read.
ACC API response field.
ACC API response field.
ACC API response field.
ACC API response field.
ACC API response field.
ACC API response field.
ACC API response field.
ACC API response field.
ACC API response field.
ACC API response field.
ACC API response field.
ACC API response field.
ACC API response field.