Research
Continue question research
Service-only, idempotent transition of a candidate job into ordinary bounded research. Send no body or an empty JSON object; client routing, counters, permissions and source overrides are rejected. The same job ID, original neutral request, activity, quota lane, created time and model/provider counters are preserved. A candidate job transitions atomically once under the artist/job lock, subject to current claim, original lifetime and the one-active-question limit. Repeated calls return the current job status. Clients must fence an in-flight candidate answer lease before continuing, retain answer registration, and retry the checked answer against the new current references. This operation does not extend budgets, expiry or reset answer retry limits. It never decides that candidate evidence is sufficient. New-budget continuation preserves the single global saved admission and does not charge outside allowance; that is reserved only if validated external collection becomes necessary.
Path Parameters
idstringrequiredjobIdstringrequiredResponse
application/jsonPersisted acknowledgement
statusanyrequiredjobIdstringrequiredformat: uuid
stagestring · enumrequiredValues: "checking_saved", "searching", "reading", "transcribing", "waiting_provider", "complete", "unresolved", "failed", "cancelled"
messagestringrequiredproviderstring | nullupdatedAtstringrequiredformat: date-time
reusedbooleanreferencesarray<Reference>requiredmaxItems: 6
Item properties for references
sourceIdstringrequiredStable current source reference, including latest:<spotify|deezer|inprocess>:<64hex> provider snapshot originals. Removing/changing the connected account or successfully refreshing away a hidden/removed item makes its old reference unavailable; changed originals have a different revision.
revisionstringrequiredstartintegerrequiredminimum: 0
endintegerrequiredminimum: 0
textstringrequiredurlstringrequiredcurationstring · enumrequiredValues: "approved", "pending"
evidenceKindstring · enumValues: "original_text", "caption", "provider_transcript"
speakerstring · enumValues: "not_applicable", "unverified"
publishedAtstring | nullretrievedAtstring | nulltruncatedboolean | nullactivityDatestringOptional provider activity date. Preserves YYYY, YYYY-MM or full date/time precision. Never substitutes for source publication time.
activityDateKindstring · enumMeaning of activityDate. Exact catalog release-date claims require original catalog text, not publishedAt.
Values: "release", "moment"
limitationsarray<string>requiredItem properties for limitations
string
outsideResearchReasonstring · enumOutside collection was not admitted. Saved sources may still provide a bounded answer. New quota-blocked jobs include a shared quota scope and reset time; retry from a new question after reset, without restarting this terminal job. Older saved-only jobs can omit reset metadata.
Values: "quota"
selectionstring · enumOptional for legacy jobs. candidates is an unassessed evidence selection, not an answer or a sufficiency finding. If the checked answer is insufficient, continue this same job. research means the normal bounded research path.
Values: "candidates", "research"
quotaScopestring · enumShared operational budget that blocked this work, never a personal visitor limit.
Values: "saved_global", "outside_artist", "outside_global"
retryAfterSecondsintegerSeconds until resetAt, rounded up. A current status read recomputes this duration; new traffic can consume later capacity.
minimum: 0
resetAtstringActual rolling-window boundary calculated when the quota was checked.
format: date-time