Skip to main content

Endpoint

Approves a job held at a review gate, authenticated with your API key. No review link, no browser, no visit to lyrcs.ai — for when the artist reviews the lyrics inside your own product. This is one of two doors into the same held job. The other is our review page, reached through review_url. Both converge on the same approval and the same outputs. See Running Review In Your Own Product.

Request

Both fields are optional. Omit them to approve the lyrics unchanged.

The two scripts move together

Index 3 of transliterated_lines is the romanisation of index 3 of lines, and alignment inherits each transliteration’s timing from its original by index. When you add or remove a line, send both arrays — sending one alone with a different length is refused with 409 APR_005. The refusal exists because the alternative is silent: an uneven pair does not fail alignment, it produces a blank transliterated line, and a deletion shifts every remaining pair onto the wrong original for the rest of the song.

Text only, no timestamps

Timings are taken from the job, not from you. You have not run the aligner, so you have no measured timings to send, and anything an edit invalidates is re-derived from the audio on approval. Read the current lyrics from the review block on GET /jobs/{id} while the job is held.

Responses

Approved at the transcript gate — 200. The job is not finished; alignment now runs on the text you approved.
Approved at the aligned gate — 200. The job is finished.
alignment reports what happened to the timings, and is absent when no edit landed: Already approved — 200. Not an error.
The first approval wins, whichever door it came through. Retrying after a timeout is safe: nothing is applied twice, nothing is re-aligned, nothing is charged.

Errors

Rate limiting

Counted against your read limit, not your submission limit. A reviewed job draws one submission when you create it, and approving it is the second half of that same submission rather than a new one.