Service identity check. Returns the app name and ok.
Reference
Endpoints
51 client-facing operations from the live OpenAPI document, grouped by task. Public routes need no credentials; Session token routes need Authorization: Bearer <session token> from a signed-in soniccheck.io account.
Service status
Unauthenticated probes for liveness, readiness and deployment identity. Safe to poll.
Minimal liveness probe used by the container host.
Non-secret readiness probe: dependency checks (database, identity, payments, storage, audio runtime, catalogue release) and catalogue record counts.
Immutable, non-secret deployment identity, including the HARRY analyzer label and capability manifest.
Product, pricing and regions
The canonical public contract the web app reads before it shows plans or claims.
Release posture, pricing, supported wording and the decision boundary.
Plans in AUD with their pricing revision.
checkout_enabled is false on every plan while paid public scanning is closed.
Regions a scan can record for context. No legal threshold or jurisdictional conclusion is applied.
Catalogue and sources
What the comparison catalogue contains and where each source stands on licensing.
Versioned coverage and source manifest for the composition reference catalogue.
Reference source programme: acquisition, licensing and active-count status for each source.
Analyzer capabilities
Provider-free descriptions and cached self-tests of what HARRY runs. None of these start a scan.
Cached, sanitised, provider-free V34-V37 runtime exercise.
Preserved historical V34-V36 self-test contract.
Self-test of the beta runtime.
V37's status-neutral summary of eight-channel shadow evidence.
The analytical entries a scan can include, described without provider requests.
Provider-free composition screening probe with aggregate reference coverage.
Describes the bounded administrator opt-in for candidate shadow capture. Does not run a scan.
Privacy attestation of the deployed application root, without exposing file names.
Snapshot of provider and payment gate states.
Describes the relational-specificity diagnostic.
Describes the six-function scoring diagnostic.
Account
The signed-in soniccheck.io account. Requires a session token.
Sync the Clerk profile after sign-in. Returns only server-verified identity.
JSON body · application/json
| Name | Type | Required | Notes |
|---|---|---|---|
| name | string | null | optional | Display name from the Clerk profile. |
The signed-in account: plan, region, access policy, and remaining scan and report credits.
Set the account's default region.
JSON body · application/json
| Name | Type | Required | Notes |
|---|---|---|---|
| region | string | required | Region code from GET /api/regions. |
Scans
Create and manage evidence screens. Results are candidate evidence for human review.
Screen audio, lyrics or both, sent as multipart form data. Reserves one scan entitlement.
Remote audio URLs aren't accepted in the current deployment; upload the file instead.
Form fields · multipart/form-data
| Name | Type | Required | Notes |
|---|---|---|---|
| title | string | required | Working title recorded on the scan. |
| artist_name | string | optional | Artist or project name. |
| lyrics | string | optional | Lyrics to screen. Required if no audio is supplied. |
| reference_lyrics | string | optional | Optional reference lyrics to compare against. |
| reference_lyrics_title | string | optional | Title of the reference lyrics. |
| reference_lyrics_authorized | boolean | optional | Confirms you are authorised to submit the reference lyrics. |
| region | string | optional | Region recorded for context, e.g. AU. See GET /api/regions. |
| progress_id | string | null | optional | Optional client id for server-side progress milestones. |
| file | file | null | optional | Audio file, up to 100 MB. |
Screen lyrics and metadata sent as JSON, without a file upload. Reserves one scan entitlement.
JSON body · application/json
| Name | Type | Required | Notes |
|---|---|---|---|
| title | string | required | Working title recorded on the scan. |
| artist_name | string | null | optional | Artist or project name. |
| lyrics | string | null | optional | Lyrics to screen. Required if no audio is supplied. |
| reference_lyrics | string | optional | Optional reference lyrics to compare against. |
| reference_lyrics_title | string | optional | Title of the reference lyrics. |
| reference_lyrics_authorized | boolean | optional | Confirms you are authorised to submit the reference lyrics. |
| region | string | optional | Region recorded for context, e.g. AU. See GET /api/regions. |
| audio_filename | string | null | optional | Original file name, if audio was uploaded separately. |
| audio_size_bytes | integer | null | optional | Size of that audio in bytes. |
List your scans.
Server-side progress milestones for an upload started with a progress_id.
Path parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| progress_id | string | required | Path parameter. |
A scan you own, with its candidate evidence.
Path parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| scan_id | string | required | Path parameter. |
Re-screen a stored scan. Reserves one scan entitlement.
Path parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| scan_id | string | required | Path parameter. |
JSON body · application/json
| Name | Type | Required | Notes |
|---|---|---|---|
| region | string | optional | Optional region override; defaults to the account region. |
Retained private audio for a scan you own.
Path parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| scan_id | string | required | Path parameter. |
Delete a scan and its stored audio.
Path parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| scan_id | string | required | Path parameter. |
Reports, library and badges
Evidence reports, the media library, and public verification links.
Download the PDF evidence report.
Needs the Single Scan report add-on or Pro and may use a report credit. Integrity headers: X-Integrity-Hash, X-Integrity-Scope, X-Report-SHA256.
Path parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| scan_id | string | required | Path parameter. |
Your media library.
Publish a public verification link for a scan you own.
Path parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| scan_id | string | required | Path parameter. |
Revoke the public verification link without deleting the scan.
Path parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| scan_id | string | required | Path parameter. |
The public record behind a verification badge.
Path parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| badge_id | string | required | Path parameter. |
The verification badge as an SVG image.
Path parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| badge_id | string | required | Path parameter. |
Diagnostics
Research diagnostics over scans you already own. They never consume an entitlement.
Compare V33 projections across stored views you own. Never scans audio, calls a provider or changes a stored record.
JSON body · application/json
| Name | Type | Required | Notes |
|---|---|---|---|
| baseline_view_id | string | required | Stored view used as the baseline. |
| views | array | required | 1-32 stored views you own. |
Whether MDA2 pairwise diagnostics are available to this account.
A sealed pairwise diagnostic.
Path parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| diagnostic_id | string | required | Path parameter. |
Look up a pairwise diagnostic by its request id.
Path parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| request_id | string | required | Path parameter. |
Report for a sealed pairwise diagnostic.
Path parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| diagnostic_id | string | required | Path parameter. |
Billing
Stripe checkout and billing portal sessions for the signed-in account.
Start a Stripe checkout for a plan.
Returns 503 while paid public scanning is closed during the beta.
JSON body · application/json
| Name | Type | Required | Notes |
|---|---|---|---|
| plan_id | string | required | Plan id from GET /api/plans. |
| origin_url | string | required | Must be https://soniccheck.io. |
| include_report | boolean | optional | Add the PDF evidence report to a Single Scan. |
Status of a checkout session.
Path parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| session_id | string | required | Path parameter. |
Open the Stripe billing portal.
JSON body · application/json
| Name | Type | Required | Notes |
|---|---|---|---|
| origin_url | string | required | Must be https://soniccheck.io. |
MetaBrainz catalogue
Read-only lookups in the contract-bound MetaBrainz catalogue replica. Metadata and identity context only; it is not recording recognition.
Coverage contract, configured read mode, tables and source omissions.
Coverage and relations for one table.
Path parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| table | string | required | Path parameter. |
Fetch one row by primary key.
JSON body · application/json
| Name | Type | Required | Notes |
|---|---|---|---|
| table | string | required | Table named in the MetaBrainz coverage contract. |
| key | array | required | Primary-key values for the row. |
Page through rows by a named lookup.
JSON body · application/json
| Name | Type | Required | Notes |
|---|---|---|---|
| table | string | required | Table named in the MetaBrainz coverage contract. |
| lookup | string | null | optional | Named lookup defined by the contract. |
| values | array | null | optional | Lookup values (1-8). |
| cursor | string | null | optional | Opaque cursor from the previous page. |
| limit | integer | optional | Page size, 1-100 (default 25). |
Resolve a row by MusicBrainz identifier.
JSON body · application/json
| Name | Type | Required | Notes |
|---|---|---|---|
| table | string | required | Table named in the MetaBrainz coverage contract. |
| mbid | string | required | MusicBrainz identifier (36-character UUID). |
Resolve a contract relation from a source row.
JSON body · application/json
| Name | Type | Required | Notes |
|---|---|---|---|
| relation | string | required | Relation name defined by the contract. |
| source_key | array | required | Key of the source row. |
No endpoints match that filter.
10 administrator-only operations and the Stripe webhook are intentionally left out of this page. The interactive Swagger UI remains the full machine-generated listing.