Every change to the Songbrain API, newest first. Changes inside /v1 are always backwards compatible; see the versioning policy below.
provenance on every song document: which fields are measured, transcribed, model_estimate or generated, plus the list of confidence_fields. Docsscores.*.basis: "model_estimate" and a one-sentence scores.basis_note. An AI model's listening judgement, good for comparing songs, not a measurement or a view forecast.lyrics (plain text, up to 20,000 characters) on POST /v1/songs and the MCP tool analyze_song. Your exact words are placed on the transcription's timing; words the singer can't be heard on are left out, never guessed. New lyrics.source (transcribed · provided_lyrics · suno_lyrics), lyrics.note, lyrics.alignment and lyrics.lines[].confidence (0–1, null when not transcribed). Docstagline and sounds_like are now written from the final song_dna.genre, so they no longer contradict it.Songbrain-Request-Id, and every error body includes request_id. Docsinvalid_request with an errors[] list of { field, message }. Unknown routes return not_found.X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.Idempotency-Key on POST /v1/songs: a retry with the same key within 24 h returns the original song and is not charged again. Docs"test": true returns a finished example analysis for free, including the song.done webhook. Docsid for de-duplication, Songbrain-Event-Id and Songbrain-Event-Type headers, up to 10 attempts over about 3 days, POST /v1/webhooks/test and GET /v1/webhooks/deliveries. DocsGET /v1/songs (starting_after, has_more, next_cursor).livemode on songs, list items and webhook events.GET /v1/status and the status page with 90-day uptime history. New security page with the sub-processor list, and a self-serve DPA.best_moments[].reason (one sentence) and signals[] (the measured audio signals) replace why, explanation and judge_note.platform_fit, caption_ideas and hashtags were removed. This cleanup happened before the first customer integration, so no live integration was affected.POST /v1/songs, GET, DELETE), keyless examples, the beat-synced shot plan, signed webhooks, the MCP server and the Python and TypeScript SDKs./v1 is stable. We only add: fields, endpoints, headers, webhook events and enum values. Your client must ignore fields it doesn't know./v2), with at least 6 months in which both versions run, and an email to every key owner.Songbrain-Deprecation response header on the affected calls.songbrain.song/1 changes only with a major version.Watching for changes? This page is the source of truth; the SDK release notes on GitHub follow it.