music nerd

ResearchRead question research

Research

Read question research

Safe resumable progress and bounded original references; no raw request, provider payload or private interview memory.

GET/api/artist/{id}/research/questions/{jobId}
GET/api/artist/{id}/research/questions/{jobId}

Safe resumable progress and bounded original references; no raw request, provider payload or private interview memory.

Authorization

Authorizationstringrequired

Current artist claimant or administrator Privy access token. Kept in this tab only.

Path

idstringrequired

jobIdstringrequired

cURL
curl --request GET \
  --url 'https://musicnerd-api.vercel.app/api/artist/{id}/research/questions/{jobId}'

Send the request to see the live response here.

Authorizations

Authorizationstringheaderrequired

Bearer authentication header of the form Bearer <token>. Current artist claimant or administrator Privy access token.

X-MusicNerd-Research-Keystringheaderrequired

Server-only MUSICNERD_RESEARCH_API_KEY. Public evidence research only; never grants review or interview-history access.

Path Parameters

idstringrequired
jobIdstringrequired

Response

application/json

Success

statusanyrequired
jobIdstringrequired

format: uuid

stagestring · enumrequired

Values: "checking_saved", "searching", "reading", "transcribing", "waiting_provider", "complete", "unresolved", "failed", "cancelled"

messagestringrequired
providerstring | null
updatedAtstringrequired

format: date-time

reusedboolean
referencesarray<Reference>required

maxItems: 6

Item properties for references
sourceIdstringrequired

Stable 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.

revisionstringrequired
startintegerrequired

minimum: 0

endintegerrequired

minimum: 0

textstringrequired
urlstringrequired
curationstring · enumrequired

Values: "approved", "pending"

evidenceKindstring · enum

Values: "original_text", "caption", "provider_transcript"

speakerstring · enum

Values: "not_applicable", "unverified"

publishedAtstring | null
retrievedAtstring | null
truncatedboolean | null
activityDatestring

Optional provider activity date. Preserves YYYY, YYYY-MM or full date/time precision. Never substitutes for source publication time.

activityDateKindstring · enum

Meaning of activityDate. Exact catalog release-date claims require original catalog text, not publishedAt.

Values: "release", "moment"

limitationsarray<string>required
Item properties for limitations

string

outsideResearchReasonstring · enum

Outside 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 · enum

Optional 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 · enum

Shared operational budget that blocked this work, never a personal visitor limit.

Values: "saved_global", "outside_artist", "outside_global"

retryAfterSecondsinteger

Seconds until resetAt, rounded up. A current status read recomputes this duration; new traffic can consume later capacity.

minimum: 0

resetAtstring

Actual rolling-window boundary calculated when the quota was checked.

format: date-time