Skip to main content
Home/Developers

Tesla Lock Sound Developer & Agent API

A read-only JSON API over the Tesla lock sound catalog. No key, no account, no OAuth: every endpoint is an anonymous GET.

Version 1 is the current surface: pin /api/v1/. Rate limit is 60 requests per minute per client, reported on every response.

Authentication

There is none, and that is deliberate. The catalog is public, the downloads are free, and an API key would only add a step between a Tesla owner and a lock chime. Send no credentials; none are checked and none are stored.

The endpoints listed here are the whole public contract. Submission, moderation, voting, cron, and webhook routes exist but are internal to the site. They are not documented, not supported, and may change without notice.

Endpoints

GET /api/v1/sounds

List and search the catalog

Paginated. Accepts page, per_page (max 100), search (or q), category (one name, or a comma-separated union of up to 10), sort (created_at, downloads, title) and order (asc, desc). Returns sounds, total, page, per_page. Ordering carries a stable id tiebreaker, so paging never repeats or skips a row.

curl 'https://teslalocksound.com/api/v1/sounds?q=vine+boom&per_page=5'

GET /api/v1/sounds/{id}

Read one sound

Accepts the sound's UUID or its URL slug. Returns full metadata plus a pre-resolved playable audioUrl. A sound removed for content moderation returns 404, exactly like one that never existed.

curl 'https://teslalocksound.com/api/v1/sounds/vine-boom'

GET /api/v1/sounds/{uuid}/download-file

Download the Tesla-ready WAV

Streams the audio with a Content-Disposition filename of LockChime.wav. This endpoint takes the UUID only; a slug returns 400. The file is already the right name and format. Write it to the drive at Boombox/LockChime.wav.

curl -OJ 'https://teslalocksound.com/api/v1/sounds/6a65a18b-c746-453e-aece-979c3955a9d4/download-file'

GET /api/v1/categories

List categories

Every category name the category parameter of /api/v1/sounds accepts, sorted by name, each with a short description.

curl 'https://teslalocksound.com/api/v1/categories'

GET /api/v1/health

Service health

Liveness plus dependency status and the deployed commit SHA. 200 when healthy, 503 when a dependency is down.

curl 'https://teslalocksound.com/api/v1/health'

Versioning and deprecation

The version is in the path. Pin /api/v1/: that is the surface documented here and the one that keeps its shape. The unversioned /api/paths reach the same handlers and are what this site's own pages call, but they carry no version guarantee, so an integration should not use them.

A breaking change ships as a new major version alongside the current one, at /api/v2/. Version 1 is never changed in place.

When a version is scheduled for retirement, its responses start carrying Deprecation: true and a Sunset header (RFC 8594) with the retirement date, at least six months ahead. Additive changes, such as a new optional field or a new endpoint, can land in v1 without notice: parse defensively and ignore fields you do not recognize.

Errors

Every failure is JSON, never an HTML error page, including for a path under /api/ that does not exist. Branch on code, which is stable; message is for humans and may be reworded.

{
  "error": "Sound not found",
  "code": "not_found",
  "message": "Sound not found",
  "hint": "The id or slug does not match an active sound. Search for one with GET /api/v1/sounds?q=<term>.",
  "docs": "https://teslalocksound.com/developers",
  "status": 404
}

The codes are invalid_request, not_found, rate_limited, service_unavailable, and internal_error. New codes may be added; treat an unrecognized one as retryable only if the status says so.

Rate limits

Sixty requests per minute per client, across all endpoints. Every response carries RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset (in seconds), plus the older X-RateLimit-* names. A 429 adds Retry-After.

One caveat: the list endpoints are shared-cached at the CDN, so on a cached response RateLimit-Remaining can reflect a different client's budget. RateLimit-Limit and RateLimit-Reset always describe the policy. Treat Remaining as advisory and trust Retry-After when you are actually refused.

Markdown instead of HTML

Any page on this site will answer in Markdown if you ask for it. Send Accept: text/markdown and you get Content-Type: text/markdown; charset=utf-8 with Vary: Accept, per acceptmarkdown.com. A path that does not exist answers 404 with a Markdown body that points at the indexes below, so a wrong guess is recoverable in one request.

curl -H 'Accept: text/markdown' https://teslalocksound.com/

Machine-readable files

  • OpenAPI 3.1 at /openapi.json. The full machine-readable description of the endpoints below.
  • Agent instructions at /agents.md. What this site is for, what it is not for, and how to call it.
  • llms.txt at /llms.txt. Short site summary, category index, and when-to-use guidance.
  • llms-full.txt at /llms-full.txt. Long-form summary with install steps and FAQ answers.
  • Sitemap at /sitemap.xml. Every indexable URL.
  • security.txt at /.well-known/security.txt. Where to report a vulnerability.

When an agent should use this API

  • A user wants to change, replace, or turn off the lock/unlock chime on a Tesla (the sound the car plays when it locks).
  • A user needs a ready-to-use `LockChime.wav` file: already WAV, already named correctly, no conversion step.
  • A user asks how to install a custom lock sound over USB, which USB port to use, or how the drive must be formatted.
  • A user asks whether their specific Tesla model or model year supports a custom lock sound.
  • A user is troubleshooting a lock sound that is silent, too quiet, cut off, or was reset by a software update.
  • A user wants to browse lock sounds by theme (games, movies, memes, sports, music) or find one specific named sound.

Not a fit for:

  • Horn sounds, turn-signal sounds, or Boombox external-speaker sounds other than the lock chime. The site covers those only in explanatory articles, not as downloads.
  • Non-Tesla vehicles. Nothing here installs on another make.
  • Buying, licensing, or clearing rights to commercial audio. Everything on the site is free to download and takedown requests are honored.
  • Tesla account, service, or vehicle-software support. The site is not affiliated with Tesla, Inc.

Terms of use

Sounds are free to download and install on your own vehicle. They are not licensed for redistribution or commercial use, and mirroring the catalog is not what this API is for. Rights holders can have anything removed. See the DMCA policy.

Questions about the API go to support@teslalocksound.com. The other contact addresses are on the contact page.