API route index
All 271 public operations of the Tune.Toys API 0.1.0, grouped by tag.
This index is generated from openapi.json, the same OpenAPI 3.1 document the API serves at https://tune.toys/v1/openapi.json. For parameters, request bodies and a Try it out console, use the Swagger UI on tune.toys. Operations marked experimental may change without notice before 1.0.
agent
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
POST | /v1/agent/proposals | Generate a revision-bound Toy edit proposal from a recipe brief | session | experimental |
ai
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
POST | /v1/ai/complete | Complete a chat with Anthropic, OpenAI or Gemini using the caller’s own vault key | session | experimental | |
GET | /v1/ai/models | Pinned model suggestions per provider and the caller’s daily allowance | session | experimental | |
POST | /v1/proxy/request | Make one allowlisted HTTPS request, optionally injecting a vault secret server-side | session | experimental |
auth
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
POST | /v1/auth/email | Add or resend verification for a recovery address | session | experimental | |
POST | /v1/auth/login | Create a handle/password session | anonymous session | experimental | |
POST | /v1/auth/logout | Revoke the current session and expire its cookie | session | experimental | |
GET | /v1/auth/me | Read the current account and browser CSRF token | anonymous session native | experimental | |
POST | /v1/auth/oauth/{provider}/start | Start provider sign-in or explicit identity linking | anonymous session | experimental | |
GET | /v1/auth/options | List sign-in providers and email delivery availability | anonymous session | experimental | |
POST | /v1/auth/password | Set or replace the caller's password and end their other browser sessions | session | experimental | |
GET | /v1/auth/profile | Read owner-only email and connected-method metadata | session | experimental | |
PATCH | /v1/auth/profile | Change the caller's display name | session | experimental | |
POST | /v1/auth/recover | Request password recovery email | anonymous session | experimental | |
POST | /v1/auth/register | Create a handle/password account and session | anonymous session | experimental | |
POST | /v1/auth/reset-password | Consume a reset token and replace the password | anonymous session | experimental | |
POST | /v1/auth/verify-email | Consume an email verification token | anonymous session | experimental |
billing
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
POST | /v1/billing/checkout | Start a hosted checkout for an offer | session | experimental | |
GET | /v1/billing/entitlements | List the caller's entitlements | session native | experimental | |
GET | /v1/billing/options | List configured offers | anonymous session | experimental | |
GET | /v1/billing/orders | List the caller's orders | session | experimental | |
POST | /v1/billing/orders/{orderId}/portal | Open the provider billing portal for an order | session | experimental | |
POST | /v1/billing/orders/{orderId}/sync | Reconcile an order with the provider | session | experimental |
catalog
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
GET | /v1/catalog | Search the public catalog | anonymous session native key | read:public | experimental |
GET | /v1/releases/{digest} | Read an immutable release | anonymous session native key | read:public | experimental |
GET | /v1/releases/{digest}/assets/{assetId} | Download a release asset as a sandboxed attachment | anonymous session native key | read:public | experimental |
GET | /v1/releases/{digest}/engine | Download the release engine WebAssembly | anonymous session native key | read:public | experimental |
GET | /v1/releases/{digest}/package | Download the canonical release package | anonymous session native key | read:public | experimental |
GET | /v1/toys/{toyId} | Read a public or authorized Toy listing | anonymous session native key | read:public | experimental |
community
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
GET | /v1/community/activity | List activity from followed accounts | session | experimental | |
PUT | /v1/community/avatar | Set the caller's avatar from owned media | session | experimental | |
GET | /v1/community/avatars/{avatarId} | Read avatar image bytes | anonymous session | experimental | |
GET | /v1/community/blocks | List accounts the caller blocked | session | experimental | |
POST | /v1/community/collections | Create a collection | session | experimental | |
GET | /v1/community/collections/{collectionId} | Read a collection page | anonymous session | experimental | |
PUT | /v1/community/collections/{collectionId} | Update a collection | session | experimental | |
DELETE | /v1/community/collections/{collectionId} | Delete a collection at an expected version | session | experimental | |
PUT | /v1/community/collections/{collectionId}/items | Add, move or remove a Toy or sound in a collection by subject (subjectType project|media) | session | experimental | |
PUT | /v1/community/collections/{collectionId}/toys/{toyId} | Add, move or remove a Toy in a collection | session | experimental | |
GET | /v1/community/invitations | List the caller's pending project invitations | session | experimental | |
PUT | /v1/community/profile | Update the caller's community profile | session | experimental | |
GET | /v1/community/profiles/{handle} | Read a public profile | anonymous session | experimental | |
PUT | /v1/community/profiles/{handle}/block | Block or unblock a profile | session | experimental | |
GET | /v1/community/profiles/{handle}/collections | List a profile's collections | anonymous session | experimental | |
PUT | /v1/community/profiles/{handle}/follow | Follow or unfollow a profile | session | experimental | |
GET | /v1/community/profiles/{handle}/followers | List a profile's followers | anonymous session | experimental | |
GET | /v1/community/profiles/{handle}/following | List a profile's followed accounts | anonymous session | experimental | |
GET | /v1/community/profiles/{handle}/likes | List Toys a profile liked | anonymous session | experimental | |
GET | /v1/community/profiles/{handle}/toys | List a profile's public Toys | anonymous session | experimental | |
GET | /v1/community/projects/{projectId}/assets/{assetId} | Download a shared project media asset | session | experimental | |
POST | /v1/community/projects/{projectId}/edits | Apply a collaborative project edit | session | experimental | |
POST | /v1/community/projects/{projectId}/invitation | Accept or decline a project invitation | session | experimental | |
POST | /v1/community/projects/{projectId}/members | Invite a project member | session | experimental | |
DELETE | /v1/community/projects/{projectId}/members/{accountId} | Remove a project member | session | experimental | |
PUT | /v1/community/projects/{projectId}/presence | Publish collaboration presence | session | experimental | |
DELETE | /v1/community/projects/{projectId}/presence/{sessionId} | End a collaboration presence session | session | experimental | |
GET | /v1/community/projects/{projectId}/state | Read collaboration state since a source version | session | experimental | |
POST | /v1/community/reports | Report content or an account | session | experimental | |
GET | /v1/community/reports | List reports for moderators | session | experimental | |
PATCH | /v1/community/reports/{reportId} | Review a report as a moderator | session | experimental | |
GET | /v1/community/shared | List projects shared with the caller | session | experimental | |
GET | /v1/community/toys/{toyId}/likes | Read like count and caller state for a Toy | anonymous session | experimental | |
PUT | /v1/community/toys/{toyId}/likes | Like or unlike a Toy | session | experimental | |
GET | /v1/creators | Creators with public Toys, sounds or chains: counts, filter by what they publish, sort by followers or newest | anonymous session | experimental |
connections
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
GET | /v1/addons | List the addons this account has enabled | session | experimental | |
PUT | /v1/addons | Replace the set of enabled addons for this account | session | experimental | |
GET | /v1/connections | List connected services (labels and scopes, never tokens) | session | experimental | |
DELETE | /v1/connections/{id} | Disconnect a service and revoke its grant at the provider | session | experimental | |
GET | /v1/connections/{id}/files | List app-visible Drive files (parent, name search, page token) | session | experimental | |
POST | /v1/connections/{id}/files | Create a Drive file from the raw request body (≤ 64 MiB); name, mimeType and parent in the query | session | experimental | |
GET | /v1/connections/{id}/files/{fileId} | Read Drive file metadata | session | experimental | |
PATCH | /v1/connections/{id}/files/{fileId} | Rename (JSON { name }) or replace the bytes (raw body ≤ 64 MiB) of a Drive file | session | experimental | |
DELETE | /v1/connections/{id}/files/{fileId} | Delete a Drive file the app can see | session | experimental | |
GET | /v1/connections/{id}/files/{fileId}/content | Stream Drive file bytes (≤ 64 MiB) | session | experimental | |
GET | /v1/connections/{id}/picker | Short-lived drive.file access token and Picker settings for the Google Drive picker | session | experimental | |
POST | /v1/connections/{provider}/start | Start consent for a service connection (Google Drive drive.file, Spotify, TONE3000) | session | experimental | |
GET | /v1/network/allowlist | Read the extra exact hosts this account allows for web nodes | session | experimental | |
PUT | /v1/network/allowlist | Replace the account network allowlist (exact hosts, at most 32; private ranges stay refused) | session | experimental |
developer
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
GET | /v1/developer/apps | List the caller's developer apps | session | experimental | |
POST | /v1/developer/apps | Create a developer app (at most 10 per account) | session | experimental | |
GET | /v1/developer/apps/{appId} | Read one app with its effective tier | session | experimental | |
PATCH | /v1/developer/apps/{appId} | Update app fields at an expected version | session | experimental | |
DELETE | /v1/developer/apps/{appId} | Delete an app; revokes its keys and disables its webhooks | session | experimental | |
GET | /v1/developer/apps/{appId}/audit | Recent audit events of one app, newest first | session | experimental | |
GET | /v1/developer/apps/{appId}/keys | Key metadata for one app; never secrets | session | experimental | |
POST | /v1/developer/apps/{appId}/keys | Create a key; the secret is returned once | session | experimental | |
GET | /v1/developer/apps/{appId}/tier | Effective tier, its limits and whether an upgrade can be purchased | session | experimental | |
GET | /v1/developer/apps/{appId}/usage | Hourly or daily usage series with per-key totals | session key | read:usage | experimental |
GET | /v1/developer/apps/{appId}/usage.csv | Hourly usage as CSV (UTC, at most 90 days) | session | experimental | |
GET | /v1/developer/apps/{appId}/webhooks | Webhooks of one app | session | experimental | |
POST | /v1/developer/apps/{appId}/webhooks | Create a webhook (pro); sends a verification challenge | session | experimental | |
POST | /v1/developer/deliveries/{deliveryId}/redeliver | Queue another attempt of a delivered or failed event | session | experimental | |
GET | /v1/developer/key | Introspect the presenting key: app, scopes, tier and expiry | key | experimental | |
POST | /v1/developer/key/revoke | Self-revocation for leak response | key | experimental | |
PATCH | /v1/developer/keys/{keyId} | Rename a key, change its scopes or IP allowlist | session | experimental | |
POST | /v1/developer/keys/{keyId}/revoke | Revoke a key immediately | session | experimental | |
POST | /v1/developer/keys/{keyId}/rotate | Issue a replacement key; the old key keeps working for the overlap | session | experimental | |
GET | /v1/developer/limits | Current bucket and quota state for a key, or the tier policies | session key | experimental | |
GET | /v1/developer/scopes | Scopes a key may hold, with descriptions | anonymous session key | experimental | |
PATCH | /v1/developer/webhooks/{webhookId} | Change events, URL or state; URL changes and re-enabling re-verify | session | experimental | |
GET | /v1/developer/webhooks/{webhookId}/deliveries | Delivery log: one row per attempt, newest first | session | experimental | |
POST | /v1/developer/webhooks/{webhookId}/test | Queue a signed webhook.test delivery | session | experimental | |
POST | /v1/developer/webhooks/{webhookId}/verify | Resend the verification challenge | session | experimental | |
GET | /v1/openapi.json | This OpenAPI 3.1 document | anonymous session native key | experimental |
distribution
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
POST | /v1/artifacts/{id}/tickets | Issue a one-time, 15-minute download ticket (anonymous for free public artifacts) | anonymous session native | experimental | |
GET | /v1/certificates | The caller's certificates with offline states | session native | experimental | |
POST | /v1/certificates/{id}/refresh | Refresh a certificate, or learn that it was revoked | session native | experimental | |
GET | /v1/distribution/keys | Public Ed25519 keys by purpose (diagnostics; clients pin keys) | anonymous session native | experimental | |
GET | /v1/downloads/{ticketId} | Artifact bytes for a ticket token (`?t=`): single Range, ETag digest, Repr-Digest | anonymous session native | experimental | |
GET | /v1/install/{product}/{version} | Install deep-link fallback page (HTML) | anonymous session native | experimental | |
GET | /v1/installations | Installation records for the caller, optionally per device or product | session native | experimental | |
POST | /v1/installations | Record a verified install on a Player or Installer device | session native | experimental | |
PUT | /v1/installations/{id} | Change state or version, report last seen, or roll back | session native | experimental | |
POST | /v1/products/{id}/certificate | Issue a signed 30-day offline license certificate for an owned product | session native | experimental | |
GET | /v1/products/{id}/feed/{channel} | Signed update manifest (tunetoys.update-manifest/1) with its changelog text | anonymous session native | experimental | |
GET | /v1/products/{id}/latest/{target} | Latest installable desktop app artifact for macos, windows or linux (`?channel=`, Linux `?format=appimage|deb`) | anonymous session native | experimental |
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
GET | /v1/email/unsubscribe | Browser page that confirms an email unsubscribe; never mutates | anonymous session | experimental | |
POST | /v1/email/unsubscribe | RFC 8058 one-click and page unsubscribe for one token scope | anonymous | experimental |
embed
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
POST | /v1/embed/events | Count one in-frame play (bounded daily counter, no viewer data) | anonymous | experimental | |
GET | /v1/products/{id}/embed | Embed policy, origins, effective frame-ancestors and the Patch view opt-in | session key | read:products | experimental |
PATCH | /v1/products/{id}/embed | Replace the embed policy and origin allowlist; optionally set the Patch view opt-in | session key | write:listings | experimental |
GET | /v1/products/{id}/embed/analytics | Loads and plays per embedding origin for the last N days | session key | read:products | experimental |
exports
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
POST | /v1/exports | Queue a take render, Frame video or screen-recording transcode | session | experimental | |
GET | /v1/exports | The caller's 50 newest export and convert jobs | session | experimental | |
GET | /v1/exports/{exportId} | Export state, progress, warnings, error class and output | session | experimental | |
DELETE | /v1/exports/{exportId} | Cancel a queued or running export; finished jobs are unchanged | session | experimental | |
GET | /v1/exports/{exportId}/output | Download a finished export as a sandboxed attachment | session | experimental |
library
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
GET | /v1/library | List the caller's library | session native key | read:library | experimental |
GET | /v1/library/bookmarks | Read quick-bookmark flags for listed Toys | session key | read:library | experimental |
GET | /v1/library/sync | Read library events after a cursor | session native key | read:library | experimental |
PUT | /v1/library/{itemId} | Write library bookmark, tags and pinned release | session key | write:library | experimental |
DELETE | /v1/library/{itemId} | Remove a library item at an expected version | session key | write:library | experimental |
PUT | /v1/library/{itemId}/bookmark | Set the quick-bookmark flag | session key | write:library | experimental |
listings
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
GET | /v1/listings/publishers | Publishers where the caller is an active member, with roles | session key | read:products | experimental |
GET | /v1/products/{productId}/documents | Manuals, docs and FAQ documents | session key | read:products | experimental |
POST | /v1/products/{productId}/documents | Create a Markdown or PDF document | session key | write:listings | experimental |
PUT | /v1/products/{productId}/documents/{documentId} | Update a document (title, slug, body, PDF or position) | session key | write:listings | experimental |
DELETE | /v1/products/{productId}/documents/{documentId} | Delete a document | session key | write:listings | experimental |
GET | /v1/products/{productId}/listing | Listing, draft and published revisions, effective fields and checks | session key | read:products | experimental |
PATCH | /v1/products/{productId}/listing | Change listing visibility, default locale or product slug | session | experimental | |
POST | /v1/products/{productId}/listing/assets | Attach an uploaded image as the thumbnail, social or marketing image | session key | write:listings | experimental |
GET | /v1/products/{productId}/listing/assets | Generated listing asset slots with status, overrides, jobs and the daily budget | session key | read:products | experimental |
POST | /v1/products/{productId}/listing/assets/jobs/{jobId}/cancel | Cancel a queued or running asset job; the previous ready asset stays | session key | write:listings | experimental |
DELETE | /v1/products/{productId}/listing/assets/{assetId} | Remove an uploaded asset override (reset to generated) | session key | write:listings | experimental |
GET | /v1/products/{productId}/listing/assets/{assetId}/bytes | Member preview of a ready generated asset, whatever the listing visibility | session key | read:products | experimental |
PUT | /v1/products/{productId}/listing/draft | Save the draft revision (named top-level keys only) | session key | write:listings | experimental |
DELETE | /v1/products/{productId}/listing/draft | Discard the unpublished draft revision | session key | write:listings | experimental |
DELETE | /v1/products/{productId}/listing/draft/overrides/{field} | Reset one field (or all) to the generated value | session key | write:listings | experimental |
POST | /v1/products/{productId}/listing/gallery/video-links | Parse a YouTube or Vimeo URL to a canonical video id | session key | write:listings | experimental |
POST | /v1/products/{productId}/listing/publish | Validate and publish the draft revision | session | experimental | |
POST | /v1/products/{productId}/listing/regenerate | Regenerate all generated assets, some kinds, or one variant (never touches uploaded overrides) | session key | write:listings | experimental |
GET | /v1/products/{productId}/listing/revisions | Listing revision history | session key | read:products | experimental |
POST | /v1/products/{productId}/listing/revisions/{revisionId}/restore | Copy a revision into the draft | session key | write:listings | experimental |
GET | /v1/products/{productId}/listing/translations | Translations of the draft (or published) revision | session key | read:products | experimental |
PUT | /v1/products/{productId}/listing/translations/{locale} | Save translated fields and their state for the draft revision | session key | write:listings | experimental |
GET | /v1/projects/{projectId}/listing | Listing editor read model for a published Toy's product | session key | read:products | experimental |
GET | /v1/publishers/{handle}/products | A publisher's products with listing state, for members | session key | read:products | experimental |
media
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
GET | /v1/media | Search visible media (alias of GET /v1/sounds in the pre-0.0.8 item shape; kind= filters by family) | anonymous session | experimental | |
GET | /v1/media/upload-access | Read the caller's upload permission and policy mode | anonymous session | experimental | |
POST | /v1/media/uploads | Reserve an upload with its transfer facts, rights and catalog metadata in one request | session | experimental | |
POST | /v1/media/uploads/{uploadId}/complete | Verify and publish an uploaded media version | session | experimental | |
GET | /v1/media/{mediaId} | Read media metadata | anonymous session | experimental | |
GET | /v1/media/{mediaId}/bytes | Download media bytes as a sandboxed attachment | anonymous session | experimental | |
POST | /v1/media/{mediaId}/convert | Queue a conversion of a library item into a new private library item | session | experimental |
native
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
GET | /v1/native/authorize | Validate a Player authorization request and loopback callback | anonymous session | experimental | |
POST | /v1/native/authorize | Consent to a Player request and issue a short-lived code | session | experimental | |
GET | /v1/native/devices | List the caller's authorized Player devices | session | experimental | |
POST | /v1/native/devices/{deviceId}/revoke | Revoke an owned Player device | session | experimental |
notifications
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
GET | /v1/account/locale | Account language and time zone | session | experimental | |
PUT | /v1/account/locale | Set account language (UI, email, push) and time zone (digests, quiet hours) | session | experimental | |
GET | /v1/notifications | Page of the caller's rendered notifications (ETag) | session native | experimental | |
PUT | /v1/notifications/channels/{channel} | Digest cadence and quiet hours for one channel | session | experimental | |
GET | /v1/notifications/preferences | Event × channel matrix, digests, quiet hours and channel availability | session | experimental | |
PUT | /v1/notifications/preferences | Change matrix cells; required events cannot be disabled | session | experimental | |
POST | /v1/notifications/read | Mark notifications read by id, or all in a filter | session native | experimental | |
POST | /v1/notifications/test | Send a test notification by email or web push (3 per hour) | session | experimental | |
GET | /v1/notifications/unread-count | Unread notification count for polling (ETag) | session native | experimental | |
POST | /v1/notifications/{notificationId}/dismiss | Dismiss one notification from every filter | session native | experimental | |
POST | /v1/notifications/{notificationId}/unread | Mark one notification unread | session native | experimental | |
GET | /v1/push-subscriptions | The caller's push devices | session | experimental | |
POST | /v1/push-subscriptions | Register this browser for web push | session | experimental | |
DELETE | /v1/push-subscriptions/{subscriptionId} | Remove a push device | session | experimental | |
GET | /v1/push/vapid-public-key | Web push application server key | anonymous session | experimental | |
GET | /v1/subscriptions | Followed products, publishers, threads and docs pages | session | experimental | |
GET | /v1/subscriptions/{subjectType}/{subjectId} | Follow state for one subject | session | experimental | |
PUT | /v1/subscriptions/{subjectType}/{subjectId} | Follow a product, publisher, thread or docs page | session | experimental | |
DELETE | /v1/subscriptions/{subjectType}/{subjectId} | Stop following a subject | session | experimental |
posts
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
GET | /v1/posts | List root posts of a subject with inline replies | anonymous session | experimental | |
POST | /v1/posts | Create a comment or reply | session | experimental | |
GET | /v1/posts/{postId} | Read a post with its visible replies | anonymous session | experimental | |
PATCH | /v1/posts/{postId} | Edit a post or resolve a project note | session | experimental | |
DELETE | /v1/posts/{postId} | Remove a post, leaving a tombstone | session | experimental | |
POST | /v1/posts/{postId}/moderation | Remove, restore or clear the verified flag of a post (moderator) | session | experimental | |
PUT | /v1/posts/{postId}/pin | Pin or unpin a root post (subject owner, at most three) | session | experimental | |
PUT | /v1/posts/{postId}/reactions/{kind} | Set or clear a like or helpful vote | session | experimental | |
GET | /v1/posts/{postId}/replies | List every visible reply below a post | anonymous session | experimental | |
PUT | /v1/posts/{postId}/response | Create or edit the publisher response to a review | session | experimental | |
GET | /v1/posts/{postId}/revisions | List prior versions of a post (author or moderator) | session | experimental | |
GET | /v1/products/{productId}/rating-summary | Read the review rating summary of a product | anonymous session | experimental | |
GET | /v1/products/{productId}/review | Read the caller's review of a product with eligibility | anonymous session | experimental | |
PUT | /v1/products/{productId}/review | Create or edit the caller's review of a product | session | experimental |
projects
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
GET | /v1/projects | List the caller's drafts, newest first | session key | read:projects | experimental |
POST | /v1/projects | Create an owned project from a validated document | session key | write:projects | experimental |
GET | /v1/projects/{projectId} | Read an owned project | session key | read:projects | experimental |
PUT | /v1/projects/{projectId} | Save a draft at an expected revision | session key | write:projects | experimental |
PUT | /v1/projects/{projectId}/catalog | Update public discovery tags and category | session | experimental | |
POST | /v1/projects/{projectId}/operations | Apply an authoring operation batch at an expected revision | session key | write:projects | experimental |
POST | /v1/projects/{projectId}/publish | Publish an immutable release | session | experimental | |
PUT | /v1/projects/{projectId}/visibility | Change listing visibility | session | experimental | |
POST | /v1/releases/{digest}/fork | Fork a release into a new owned project | session key | write:projects | experimental |
public-pages
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
GET | /v1/pages/product | Public product page model | anonymous session key | read:public | experimental |
GET | /v1/pages/sounds | Public sound landing page model | anonymous session key | read:public | experimental |
GET | /v1/pages/storefront | Public storefront page model | anonymous session key | read:public | experimental |
publishers
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
PATCH | /v1/offers/{offerId} | Activate or deactivate a creator offer | session | experimental | |
GET | /v1/products/{productId}/access | The caller's access to a product's paid content | anonymous session native | experimental | |
GET | /v1/products/{productId}/offers | List active offers (managers also see inactive offers) | anonymous session | experimental | |
POST | /v1/products/{productId}/offers | Create a free or one-time creator offer (owner/finance) | session | experimental | |
GET | /v1/publishers/me | Read (creating on first use) the caller's personal publisher | session | experimental | |
PATCH | /v1/publishers/{publisherId} | Update display name, support email or seller terms acceptance | session | experimental | |
GET | /v1/publishers/{publisherId}/connect | Read Stripe Connect capability state (owner/finance) | session | experimental | |
POST | /v1/publishers/{publisherId}/connect/onboard | Create or resume Stripe Express onboarding (owner only) | session | experimental | |
POST | /v1/publishers/{publisherId}/connect/sync | Reconcile Connect state with Stripe (owner/finance) | session | experimental | |
GET | /v1/publishers/{publisherId}/members | List publisher members and roles | session | experimental | |
POST | /v1/publishers/{publisherId}/members | Add a member by handle with a role (owner only) | session | experimental | |
DELETE | /v1/publishers/{publisherId}/members/{accountId} | Remove a member (owner only) | session | experimental |
sounds
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
GET | /v1/sounds | Search and filter public sounds (or the caller’s own with mine=1); page of 40 | anonymous session native | experimental | |
GET | /v1/sounds/facets | Facet counts for a sounds filter set | anonymous session native | experimental | |
GET | /v1/sounds/saved | List the caller's saved sounds | session native | experimental | |
GET | /v1/sounds/saved/sync | Read saved-sound events after a cursor (the library sync protocol) | session native | experimental | |
GET | /v1/sounds/similar/{mediaId} | Nearest sounds by embedding, or unsupported with the reason | anonymous session native | experimental | |
GET | /v1/sounds/{mediaId} | Item, current version, resolved fields with sources, renditions, counts and viewer state | anonymous session native | experimental | |
PATCH | /v1/sounds/{mediaId} | Edit the catalog entry at an expected version (owner) | session | experimental | |
DELETE | /v1/sounds/{mediaId} | Remove a sound from the catalog; pinned release versions stay | session | experimental | |
GET | /v1/sounds/{mediaId}/analysis | Every analysis run of the current version with the full report | anonymous session native | experimental | |
GET | /v1/sounds/{mediaId}/bytes | Original bytes as a sandboxed attachment: the owner, or anyone when reusable; counted | session native | experimental | |
POST | /v1/sounds/{mediaId}/events | Play or preview beacon, bounded per address per day | anonymous session native | experimental | |
PUT | /v1/sounds/{mediaId}/like | Like or unlike a sound | session | experimental | |
GET | /v1/sounds/{mediaId}/relations | Relations in both directions the caller may read | anonymous session native | experimental | |
PUT | /v1/sounds/{mediaId}/relations | Relate this sound to another (owner of either side) | session | experimental | |
DELETE | /v1/sounds/{mediaId}/relations | Remove a relation (owner of either side) | session | experimental | |
GET | /v1/sounds/{mediaId}/renditions/{kind} | Rendition bytes (peaks, preview, thumbnail, score page); 404 RENDITION_NOT_READY until produced | anonymous session native | experimental | |
PUT | /v1/sounds/{mediaId}/save | Save or unsave a sound (synced to hosts like library bookmarks) | session | experimental |
storefronts
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
GET | /v1/publishers/{handle}/storefront | Published storefront, or the draft and revisions for members with ?draft=1 | anonymous session key | read:public | experimental |
PUT | /v1/publishers/{handle}/storefront/draft | Save theme tokens and sections to the draft revision | session key | write:listings | experimental |
POST | /v1/publishers/{handle}/storefront/publish | Validate references and publish the draft revision | session | experimental | |
POST | /v1/publishers/{handle}/storefront/revisions/{revisionId}/restore | Copy an older revision into a new draft | session key | write:listings | experimental |
system
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
GET | /v1/config | Whether server text proposals are configured | anonymous session native | experimental | |
GET | /v1/health | Readiness and engine ABI | anonymous session native | experimental |
tone3000
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
GET | /v1/tone3000/library/{kind} | Read a bounded TONE3000 favorites or downloads list | session native | experimental | |
POST | /v1/tone3000/models/{id}/import | Import one private TONE3000 model on request | session native | experimental | |
GET | /v1/tone3000/search | Search TONE3000 NAM captures on explicit request | session native | experimental | |
GET | /v1/tone3000/tones/{id} | Read TONE3000 tone metadata | session native | experimental | |
GET | /v1/tone3000/tones/{id}/models | List admitted TONE3000 model architectures | session native | experimental |
vault
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
GET | /v1/vault/secrets | List vault secret metadata (never values) | session | experimental | |
POST | /v1/vault/secrets | Store a secret in a slot; returns metadata only | session | experimental | |
PUT | /v1/vault/secrets/{id} | Replace a secret value atomically (new prefix and last4) | session | experimental | |
DELETE | /v1/vault/secrets/{id} | Remove a secret | session | experimental |
versions
| Method | Path | Summary | Auth | Scopes | Stability |
|---|---|---|---|---|---|
GET | /v1/artifacts/{id}/bytes | Download a free or browser artifact with digest verification | anonymous session native | experimental | |
GET | /v1/platform/targets | The 13 target profiles with buildable formats and builder status | anonymous session native | experimental | |
POST | /v1/products/{id}/aliases/{alias} | Move stable or beta with an expected-previous check | session | experimental | |
GET | /v1/products/{id}/versions | List versions with matrix, artifacts and aliases (drafts for publisher members only) | anonymous session native | experimental | |
POST | /v1/products/{id}/versions | Create a draft version pinned to project releases | session key | publish:releases | experimental |
GET | /v1/products/{id}/versions/suggest | Suggest the next semver from the public-control diff of the latest release | session key | publish:releases | experimental |
GET | /v1/projects/{projectId}/product | The product that wraps a published project, for version and download UI | anonymous session native | experimental | |
GET | /v1/versions/{id} | Read one version with its matrix and artifacts | anonymous session native | experimental | |
PATCH | /v1/versions/{id} | Edit a draft, or the matrix claims of a published version | session | experimental | |
GET | /v1/versions/{id}/artifacts | Registered artifacts of a version (public fields) | anonymous session native | experimental | |
POST | /v1/versions/{id}/artifacts | Upload and register an artifact (application/octet-stream body, metadata in the query) | session key | publish:releases | experimental |
POST | /v1/versions/{id}/publish | Freeze and publish a version; creates the browser artifact | session key | publish:releases | experimental |
GET | /v1/versions/{id}/targets | Platform matrix for a version: all 13 profiles | anonymous session native | experimental | |
POST | /v1/versions/{id}/yank | Withdraw a published version with a public reason | session | experimental |