music nerd

Artist knowledgeList artist sources

Artist knowledge

List artist sources

Metadata for approved vault sources and own social captions/transcripts. Approval is not public publication. Unknown legacy readiness is explicit.

GET/api/artist/{id}/knowledge/sources
GET/api/artist/{id}/knowledge/sources

Metadata for approved vault sources and own social captions/transcripts. Approval is not public publication. Unknown legacy readiness is explicit.

Authorization

Authorizationstringrequired

Existing authenticated Music Nerd user, approved artist claimant or admin. Credentials remain outside model arguments. Kept in this tab only.

Path

idstringrequired

Artist ID in this deployment environment. Authorize claimant/admin on each call.

Query

limitinteger

Maximum records; response character/byte budgets may require an earlier continuation.

cursorstring

Opaque artist/filter-bound continuation. A changed ordered corpus returns 409.

kindstring

Optional source-kind filter.

cURL
curl --request GET \
  --url 'https://musicnerd-api.vercel.app/api/artist/{id}/knowledge/sources?limit=20'

Send the request to see the live response here.

Authorizations

Authorizationstringheaderrequired

Bearer authentication header of the form Bearer <token>. Existing authenticated Music Nerd user, approved artist claimant or admin. Credentials remain outside model arguments.

Path Parameters

idstringrequired

Artist ID in this deployment environment. Authorize claimant/admin on each call.

Query Parameters

limitinteger

Maximum records; response character/byte budgets may require an earlier continuation.

Default: 20

cursorstring

Opaque artist/filter-bound continuation. A changed ordered corpus returns 409.

kindstring · enum

Optional source-kind filter.

Values: "vault", "social_caption", "reel_transcript"

Response

application/json

Bounded stored evidence; Cache-Control: private, no-store.

statusstring · enumrequired

Values: "ok"

sourcesarray<Source>required

maxItems: 50

Item properties for sources
sourceIdstringrequired

pattern: ^(vault:[0-9a-f-]{36}|social:[0-9a-f-]{36}:(caption|transcript))$

kindstring · enumrequired

Values: "vault", "social_caption", "reel_transcript"

titlestring | nullrequired

maxLength: 300

titleTruncatedbooleanrequired
urlstring | nullrequired

format: uri

revisionstringrequired

Includes empty stored evidence, so unreadable/unknown sources remain identifiable without claiming readable content.

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

publishedAtany ofrequired

Preserve available precision; do not invent a time for a date-only publication.

Properties for publishedAt
anyOf · string 1

string

anyOf · string 2

string

anyOf · null 3

null

ingestedAtstring | nullrequired

format: date-time

provenanceobjectrequired
Properties for provenance
originstring · enumrequired

Values: "vault_link", "vault_upload", "social_caption", "provider_transcript"

providerstring | nullrequired
methodstring | nullrequired
speakerstring · enumrequired

Values: "not_applicable", "unverified", "verified"

publisherstring | nullrequired

Stored social account username, not a verified speaker identity; null for unestablished publisher.

speakerNamenullrequired
relationshipstringrequired
extractionobjectrequired
Properties for extraction
readinessstring · enumrequired

Values: "ready", "queued", "running", "failed", "unknown"

storedCharsintegerrequired

minimum: 0

truncatedboolean | nullrequired
limitationsarray<string>required
Item properties for limitations

string

descriptionstring | nullrequired

Publisher metadata; not original body text and never sufficient support for a premise.

maxLength: 600

descriptionTruncatedbooleanrequired
uploadedAtstring | nullrequired

format: date-time

eventDatenullrequired

Unknown in the current schema; never inferred from upload/publication time.

originalSourceUrlnullrequired

No verified original/repost relationship is available in legacy storage.

coverageobjectrequired

Coverage of stored eligible records, not a claim that all external material or PDF pages were extracted. For non-search reads, searchedSources is zero. Legacy extraction limits must be explicit.

Properties for coverage
eligibleSourcesintegerrequired

minimum: 0

readableSourcesintegerrequired

minimum: 0

searchedSourcesintegerrequired

minimum: 0

completebooleanrequired
limitationsarray<string>required
Item properties for limitations

string

budgetobjectrequired
Properties for budget
returnedCharsintegerrequired

minimum: 0

truncatedbooleanrequired
nextCursorstring | nullrequired