Error catalogue

Every error is an RFC 9457 problem document whose type points at an entry on this page and whose code is the entry's name. instance carries the request id; quote it to support.

400 invalid_request
The request is malformed: an unknown query parameter, an unreadable body, or a parameter the endpoint does not take. Fix the request; do not retry as-is.
400 invalid_cursor
The cursor is malformed, older than 24 hours, or was issued for different filters. Restart the listing from the first page.
401 unauthenticated
The endpoint needs a key and none was sent. WWW-Authenticate: Bearer realm="api.tuneping.com" is set.
401 invalid_api_key
The key has the wrong shape or is not known. Check for truncation and the tp_live_ / tp_test_ prefix.
401 key_revoked
The key was rotated or revoked; revoked_at says when. Use the current key.
401 token_invalid · token_expired · token_audience
Entitlement tokens (partner apps): the token is malformed or its signature unknown; it is expired beyond the allowed skew (refresh it once); or its audience or issuer is not this API.
403 forbidden_tier
The endpoint or the parameter value needs a higher plan, for example a history from older than your plan's depth or more batch ids than the plan allows. required_tier names the plan, upgrade_url links to pricing.
403 forbidden_scope
The key exists but lacks the scope for this operation; required_scope names it.
403 entitlement_revoked
The entitlement token verifies but its licence was revoked. The pass has lapsed; refreshing will not help.
403 livemode_mismatch
A tp_test_ key was used for a live-only operation.
404 not_found
No such station, track, artist or resource, or no live title has been observed for the station yet.
404 station_opted_out
The station exists in the directory but asked not to be indexed. Tuneping does not say why. Treat it as permanently unavailable.
406 not_acceptable
The Accept header lists none of the supported media types. The body is still application/problem+json.
409 conflict · idempotency_in_progress
Duplicate resource, or an identical request is still being processed.
410 endpoint_sunset
The endpoint was retired after the announced Sunset date; a Link header points at the changelog entry.
413 payload_too_large
Request bodies are limited to 64 KiB.
415 unsupported_media_type
Request bodies must be JSON.
422 validation_failed
One or more parameters have invalid values. errors[] lists field, code and a human message for each.
422 idempotency_key_reused
The same idempotency key was sent with a different body.
429 rate_limited
The per-second token bucket is empty. Wait Retry-After seconds; the RateLimit header names the exhausted policy.
429 quota_exceeded
The daily or monthly quota is spent. Retry-After and quota_resets_at say when it resets; upgrade_url links to pricing.
500 internal_error
Something failed on our side. Retry with backoff and send us the request id if it persists.
503 unavailable
The database is unavailable or the service is in maintenance. Retry after Retry-After seconds.

Back to the API reference