API reference

Current public endpoint surface.

This page is a human-readable index. Use the OpenAPI document for exact request and response schemas.

Evaluate

POST /v1/demo/analyze/url

Submit a public audio URL without signup and poll a token-gated demo result.

Account and auth

POST /v1/auth/register

Create a free account and generate an API key.

POST /v1/auth/verify-email

Complete email verification when the environment requires it.

GET /v1/auth/keys

List API key metadata for an account.

POST /v1/auth/keys

Create another API key when allowed by plan limits.

POST /v1/auth/keys/{key_id}/rotate

Rotate an existing API key.

DELETE /v1/auth/keys/{key_id}

Revoke an API key.

Analysis jobs

POST /v1/analyze/upload

Upload a local audio file and receive a processing job.

POST /v1/analyze/url

Submit a public audio URL and receive a processing job.

POST /v1/batch

Submit 1 to 10 public URL items in one request.

GET /v1/analysis/{job_id}

Retrieve job status, completed result, or terminal error.

GET /v1/analysis/{job_id}/full

Retrieve the full result payload, including section data when available.

GET /v1/analysis/{job_id}/webhooks

Inspect outbound webhook delivery attempts for a job.

Usage and billing

GET /v1/usage

Return current month, used count, tier limit, and remaining analyses.

GET /v1/billing/status

Return tier, Stripe configuration state, and verification state.

POST /v1/billing/preview

Preview the configured Starter or Pro checkout amount.

POST /v1/billing/checkout

Create a Stripe Checkout session for an existing account.

POST /v1/billing/checkout/email

Create a paid account from email and continue to Stripe.

POST /v1/billing/portal

Create a Stripe billing portal session when configured.

Response lifecycle

Most analysis routes return a job first.

pending

Queued for worker pickup.

processing

Worker is analyzing the audio.

completed

Result JSON is available.

failed

Terminal error returned.