/api/v1Capabilities, conventions, and discovery links.
Try it ↗Give any channel-production AI one stable way to discover public-domain music, evaluate channel fit, reuse canonical assets, and prepare a reviewable package when the archive is missing something.
No API key is required for public reads. Owner-authorized production agents also receive a separate key for the private reusable library. A caller declares its channel and intended music role, searches both permitted catalogs, and submits the same structured contribution format only when a needed asset is absent. Responses use American English, stable identifiers, UTC timestamps, explicit review states, absolute links, and JSON problem details.
https://openscorearchive.project-pioneer.com/api/v1application/jsontext/markdown/api/v1/openapi.json# Read the agent workflow first
curl "https://openscorearchive.project-pioneer.com/api/v1/music/workflow"
# Then resolve music for the current channel role
curl -X POST "https://openscorearchive.project-pioneer.com/api/v1/music/resolve" \
-H "Content-Type: application/json" \
-d '{
"title":"Silent Night",
"channel":{"channelKey":"channel-01","musicAllowed":true,
"intendedRole":"music-bed","narrationPresent":true},
"requirements":{"style":"gentle","requireMusicXml":true,
"requiredFormats":["musicxml","mp3"]}
}'
The protected library preserves original masters, MP3 deliveries, candidate takes, WAV sources, MIDI, MusicXML, score files, manifests, production cards, QA results, and registered instrument assets. Every file carries its original logical path, byte length, SHA-256, rights state, review state, and a protected download URL.
technical-pass is not human listening approval. rights-review-required is not permission to publish.X-OpenScore-Import-Key or a Bearer header—never in a URL, prompt, repository, or video description.curl "https://openscorearchive.project-pioneer.com/api/v1/library/tracks?channel=quiet-window-atelier&intendedUse=music-bed" \
-H "X-OpenScore-Import-Key: $OPEN_SCORE_LIBRARY_KEY"
# Download one selected file. Keep the key out of the URL.
curl "https://openscorearchive.project-pioneer.com/api/v1/library/files/{fileId}" \
-H "Authorization: Bearer $OPEN_SCORE_LIBRARY_KEY" \
--output selected-master.wav
Every production agent follows the same seven-stage decision: declare the channel boundary, resolve, reuse, verify rights, package missing material, submit, and track human review. The workflow document is machine-readable and may be placed directly in an agent's task context.
channelKey, musicAllowed, role, profile, and narration context.Start with the catalog, follow canonical links, and fetch raw MusicXML only when notation is part of the task.
/api/v1Capabilities, conventions, and discovery links.
Try it ↗/api/v1/worksPaginated catalog. Combine query, genre, composer, instrument, style, page, and pageSize.
Try it ↗/api/v1/works/{slug}Full provenance, source assets, editorial media, ranked arrangements, approved targeted comments, videos, access rules, and canonical links.
Try it ↗/api/v1/works/{slug}/index.mdA compact Markdown record intended for language-model context and citation workflows.
Try it ↗/api/v1/instrumentsDiscover normalized instruments, families, registered profiles, readiness, and catalog filter links.
Try it ↗/api/v1/profilesSearch versioned performance-style and instrument profiles by type, status, renderer readiness, instrument, or text.
Try it ↗/api/v1/profiles/{slug}Profile metadata, approval boundary, catalog usage, fingerprint, and links to its canonical JSON contract.
Try it ↗/api/v1/profiles/{slug}/definitionThe preserved profile JSON intended for future profile + score render requests.
Try it ↗/api/v1/music/workflowMachine-readable find-or-prepare instructions, channel contract, rights checklist, review states, and cooperation request.
Try it ↗/api/v1/music/resolveEvaluate canonical works and ranked arrangements against a caller-supplied channel role and format requirements.
View the request flow ↑/api/v1/library/tracksSearch the protected reusable production archive. Requires an owner-issued AI library key.
Authentication and safety ↑/api/v1/library/tracks/{stableKey}Read one complete private package with rights, QA, reproducibility, original path, length, hash, and download descriptors.
View the private workflow ↑/api/v1/library/files/{id}Range-enabled protected download for masters, MP3, MIDI, MusicXML, source scores, manifests, and instrument assets.
View the private workflow ↑/api/v1/music/contributions/schemaVersioned osa.music-contribution.v1 contract, operations, controlled values, and safety rules.
/api/v1/music/contributions/templateA complete arrangement example ready for an agent to copy and replace with verified facts.
Try it ↗/api/v1/music/contributionsSubmit a new work, source score, score revision, arrangement, performance, rendering profile, or metadata revision for review.
View the contract ↓/api/v1/music/contributions/{code}Track review state and learn whether the proposal has actually changed canonical data.
Review states ↓/api/v1/correction-reportsSubmit an evidence-backed correction. Returns HTTP 202 and a public tracking code.
View request body ↓/api/v1/correction-reports/{code}Check pending, accepted, applied, declined, or needs-information status.
How review works ↓Submit one operation per package. Files remain at contributor-controlled HTTPS URLs during review; the JSON contains descriptors, rights evidence, and SHA-256 digests rather than binary payloads. The same idempotency key may safely retry an identical request, but changed content needs a new key.
new-work, metadata-revision, source-score, score-revision, arrangement, performance, and rendering-profile.applied plus appearance in the canonical work response makes an archive asset reusable.curl -X POST "https://openscorearchive.project-pioneer.com/api/v1/music/contributions" \
-H "Content-Type: application/json" \
-d '{
"schemaVersion":"osa.music-contribution.v1",
"operation":"source-score",
"idempotencyKey":"agent.2026-10-02.score.0001",
"submittedBy":{"name":"Archive Agent",
"kind":"AutomatedAgent","agentVersion":"1.0"},
"target":{"workSlug":"silent-night"},
"rights":{"compositionStatus":"public-domain",
"editionStatus":"public-domain",
"recordingStatus":"not-applicable",
"territory":"worldwide",
"checkedAtUtc":"2026-10-02T12:00:00Z",
"evidenceUrls":["https://example.org/source-record"]},
"assets":[{"kind":"musicxml","title":"Verified transcription",
"downloadUrl":"https://example.org/score.musicxml",
"sourcePageUrl":"https://example.org/source-record",
"sha256":"0000000000000000000000000000000000000000000000000000000000000000",
"rightsStatus":"public-domain","reviewState":"manual-review-pending"}],
"quality":{"technicalValidationPassed":true,
"humanListeningApproved":false},
"changeSummary":"Add a source-linked MusicXML transcription."
}'
Each work record separates bibliographic fields, archive editorial narratives, rights statements, source assets, new arrangements, and moderated community comments. Comment targets distinguish the original description, a source score, an arrangement recording, an arrangement score, or the whole work. Asset links state whether they are public, require a signed-in user, or are temporarily administrator-only.
{
"apiVersion": "v1",
"generatedAtUtc": "...Z",
"data": {
"slug": "silent-night",
"rightsNote": "...",
"sourceAssets": [
{
"id": 15,
"reviewStatus": "Manual review pending",
"links": { "rawMusicXml": "https://..." }
}
]
}
}
A report never edits the catalog automatically. It enters a moderation queue, receives a tracking code, and is reviewed by an administrator. Supported work fields can then be applied directly to the canonical database; asset-level fixes are verified and recorded before the report is closed.
curl -X POST "https://openscorearchive.project-pioneer.com/api/v1/correction-reports" \
-H "Content-Type: application/json" \
-d '{
"workSlug": "deck-the-halls",
"targetType": "work",
"fieldName": "year",
"currentValue": "Traditional",
"proposedValue": "First published in 1784",
"rationale": "The cited source edition supplies a dated witness.",
"evidenceUrl": "https://example.org/authoritative-record",
"reporterName": "Archive Research Agent",
"reporterKind": "AutomatedAgent"
}'
We want AI participation to leave the archive more traceable than it found it.
Public JSON, Markdown, source images, and raw MusicXML are available for discovery and analysis.
Cite the archive record and its underlying source. Do not present editorial text as a historical primary source.
One precise field, one proposed value, and supporting evidence are more useful than a general objection.
AI can detect and propose. A responsible person reviews the evidence before canonical data changes.