music nerd

Interview memory and sessionsFinish interview sitting

Interview memory and sessions

Finish interview sitting

Explicitly closes a sitting, skips an unanswered offer and queues an existing durable Lore refresh for its answers in the same transaction. Repeated finish is idempotent. It never runs a detached model call. Current claimant or administrator only. Private/no-store. Requires staging-verified migrations 0041 and 0042 before deployment. Draft; not released.

POST/api/artist/{id}/interview/session/{sessionId}/finish
POST/api/artist/{id}/interview/session/{sessionId}/finish

Explicitly closes a sitting, skips an unanswered offer and queues an existing durable Lore refresh for its answers in the same transaction. Repeated finish is idempotent. It never runs a detached model call. Current claimant or administrator only. Private/no-store. Requires staging-verified migrations 0041 and 0042 before deployment. Draft; not released.

Authorization

Authorizationstringrequired

Kept in this tab only.

Path

idstringrequired

sessionIdstringrequired

Body
cURL
curl --request POST \
  --url 'https://musicnerd-api.vercel.app/api/artist/{id}/interview/session/{sessionId}/finish' \
  --header 'Content-Type: application/json' \
  --data '{}'

Send the request to see the live response here.

Authorizations

Authorizationstringheaderrequired

Bearer authentication header of the form Bearer <token>.

Path Parameters

idstringrequired
sessionIdstringrequired

Body

application/jsonrequired

object

Response

application/json

Exact saved state.

statusany
sessionobject | null
Properties for session
idstring

format: uuid

sittinginteger
statestring · enum

Values: "active", "finished"

createdAtstring

format: date-time

closedAtstring | null

format: date-time

questionsarray<object>

maxItems: 3

Item properties for questions
idstring

format: uuid

questionKeystring
questionstring
answerstring | null
statestring · enum

Values: "offered", "answered", "skipped"

revisionstring

pattern: ^[a-f0-9]{64}$

sittinginteger
offeredAtstring

format: date-time

answerUpdatedAtstring

format: date-time

ordinalinteger | null
referencesarray<object>
Item properties for references
kindstring · enumrequired

Values: "original", "answer"

sourceIdstring

Required for original evidence: full vault/social source identity.

entryIdstring

Required for answer evidence: full answer identity.

revisionstringrequired

pattern: ^[a-f0-9]{64}$

startintegerrequired

UTF-16 offset.

minimum: 0

endintegerrequired

minimum: 1

quotestringrequired

minLength: 8 · maxLength: 1600

legacyOffersarray<object>

maxItems: 3

Item properties for legacyOffers
idstring

format: uuid

questionKeystring
questionstring
answerstring | null
statestring · enum

Values: "offered", "answered", "skipped"

revisionstring

pattern: ^[a-f0-9]{64}$

sittinginteger
offeredAtstring

format: date-time

answerUpdatedAtstring

format: date-time

ordinalinteger | null
referencesarray<object>
Item properties for references
kindstring · enumrequired

Values: "original", "answer"

sourceIdstring

Required for original evidence: full vault/social source identity.

entryIdstring

Required for answer evidence: full answer identity.

revisionstringrequired

pattern: ^[a-f0-9]{64}$

startintegerrequired

UTF-16 offset.

minimum: 0

endintegerrequired

minimum: 1

quotestringrequired

minLength: 8 · maxLength: 1600