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

MethodPathSummaryAuthScopesStability
POST/v1/agent/proposalsGenerate a revision-bound Toy edit proposal from a recipe briefsessionexperimental

ai

MethodPathSummaryAuthScopesStability
POST/v1/ai/completeComplete a chat with Anthropic, OpenAI or Gemini using the caller’s own vault keysessionexperimental
GET/v1/ai/modelsPinned model suggestions per provider and the caller’s daily allowancesessionexperimental
POST/v1/proxy/requestMake one allowlisted HTTPS request, optionally injecting a vault secret server-sidesessionexperimental

auth

MethodPathSummaryAuthScopesStability
POST/v1/auth/emailAdd or resend verification for a recovery addresssessionexperimental
POST/v1/auth/loginCreate a handle/password sessionanonymous sessionexperimental
POST/v1/auth/logoutRevoke the current session and expire its cookiesessionexperimental
GET/v1/auth/meRead the current account and browser CSRF tokenanonymous session nativeexperimental
POST/v1/auth/oauth/{provider}/startStart provider sign-in or explicit identity linkinganonymous sessionexperimental
GET/v1/auth/optionsList sign-in providers and email delivery availabilityanonymous sessionexperimental
POST/v1/auth/passwordSet or replace the caller's password and end their other browser sessionssessionexperimental
GET/v1/auth/profileRead owner-only email and connected-method metadatasessionexperimental
PATCH/v1/auth/profileChange the caller's display namesessionexperimental
POST/v1/auth/recoverRequest password recovery emailanonymous sessionexperimental
POST/v1/auth/registerCreate a handle/password account and sessionanonymous sessionexperimental
POST/v1/auth/reset-passwordConsume a reset token and replace the passwordanonymous sessionexperimental
POST/v1/auth/verify-emailConsume an email verification tokenanonymous sessionexperimental

billing

MethodPathSummaryAuthScopesStability
POST/v1/billing/checkoutStart a hosted checkout for an offersessionexperimental
GET/v1/billing/entitlementsList the caller's entitlementssession nativeexperimental
GET/v1/billing/optionsList configured offersanonymous sessionexperimental
GET/v1/billing/ordersList the caller's orderssessionexperimental
POST/v1/billing/orders/{orderId}/portalOpen the provider billing portal for an ordersessionexperimental
POST/v1/billing/orders/{orderId}/syncReconcile an order with the providersessionexperimental

catalog

MethodPathSummaryAuthScopesStability
GET/v1/catalogSearch the public cataloganonymous session native keyread:publicexperimental
GET/v1/releases/{digest}Read an immutable releaseanonymous session native keyread:publicexperimental
GET/v1/releases/{digest}/assets/{assetId}Download a release asset as a sandboxed attachmentanonymous session native keyread:publicexperimental
GET/v1/releases/{digest}/engineDownload the release engine WebAssemblyanonymous session native keyread:publicexperimental
GET/v1/releases/{digest}/packageDownload the canonical release packageanonymous session native keyread:publicexperimental
GET/v1/toys/{toyId}Read a public or authorized Toy listinganonymous session native keyread:publicexperimental

community

MethodPathSummaryAuthScopesStability
GET/v1/community/activityList activity from followed accountssessionexperimental
PUT/v1/community/avatarSet the caller's avatar from owned mediasessionexperimental
GET/v1/community/avatars/{avatarId}Read avatar image bytesanonymous sessionexperimental
GET/v1/community/blocksList accounts the caller blockedsessionexperimental
POST/v1/community/collectionsCreate a collectionsessionexperimental
GET/v1/community/collections/{collectionId}Read a collection pageanonymous sessionexperimental
PUT/v1/community/collections/{collectionId}Update a collectionsessionexperimental
DELETE/v1/community/collections/{collectionId}Delete a collection at an expected versionsessionexperimental
PUT/v1/community/collections/{collectionId}/itemsAdd, move or remove a Toy or sound in a collection by subject (subjectType project|media)sessionexperimental
PUT/v1/community/collections/{collectionId}/toys/{toyId}Add, move or remove a Toy in a collectionsessionexperimental
GET/v1/community/invitationsList the caller's pending project invitationssessionexperimental
PUT/v1/community/profileUpdate the caller's community profilesessionexperimental
GET/v1/community/profiles/{handle}Read a public profileanonymous sessionexperimental
PUT/v1/community/profiles/{handle}/blockBlock or unblock a profilesessionexperimental
GET/v1/community/profiles/{handle}/collectionsList a profile's collectionsanonymous sessionexperimental
PUT/v1/community/profiles/{handle}/followFollow or unfollow a profilesessionexperimental
GET/v1/community/profiles/{handle}/followersList a profile's followersanonymous sessionexperimental
GET/v1/community/profiles/{handle}/followingList a profile's followed accountsanonymous sessionexperimental
GET/v1/community/profiles/{handle}/likesList Toys a profile likedanonymous sessionexperimental
GET/v1/community/profiles/{handle}/toysList a profile's public Toysanonymous sessionexperimental
GET/v1/community/projects/{projectId}/assets/{assetId}Download a shared project media assetsessionexperimental
POST/v1/community/projects/{projectId}/editsApply a collaborative project editsessionexperimental
POST/v1/community/projects/{projectId}/invitationAccept or decline a project invitationsessionexperimental
POST/v1/community/projects/{projectId}/membersInvite a project membersessionexperimental
DELETE/v1/community/projects/{projectId}/members/{accountId}Remove a project membersessionexperimental
PUT/v1/community/projects/{projectId}/presencePublish collaboration presencesessionexperimental
DELETE/v1/community/projects/{projectId}/presence/{sessionId}End a collaboration presence sessionsessionexperimental
GET/v1/community/projects/{projectId}/stateRead collaboration state since a source versionsessionexperimental
POST/v1/community/reportsReport content or an accountsessionexperimental
GET/v1/community/reportsList reports for moderatorssessionexperimental
PATCH/v1/community/reports/{reportId}Review a report as a moderatorsessionexperimental
GET/v1/community/sharedList projects shared with the callersessionexperimental
GET/v1/community/toys/{toyId}/likesRead like count and caller state for a Toyanonymous sessionexperimental
PUT/v1/community/toys/{toyId}/likesLike or unlike a Toysessionexperimental
GET/v1/creatorsCreators with public Toys, sounds or chains: counts, filter by what they publish, sort by followers or newestanonymous sessionexperimental

connections

MethodPathSummaryAuthScopesStability
GET/v1/addonsList the addons this account has enabledsessionexperimental
PUT/v1/addonsReplace the set of enabled addons for this accountsessionexperimental
GET/v1/connectionsList connected services (labels and scopes, never tokens)sessionexperimental
DELETE/v1/connections/{id}Disconnect a service and revoke its grant at the providersessionexperimental
GET/v1/connections/{id}/filesList app-visible Drive files (parent, name search, page token)sessionexperimental
POST/v1/connections/{id}/filesCreate a Drive file from the raw request body (≤ 64 MiB); name, mimeType and parent in the querysessionexperimental
GET/v1/connections/{id}/files/{fileId}Read Drive file metadatasessionexperimental
PATCH/v1/connections/{id}/files/{fileId}Rename (JSON { name }) or replace the bytes (raw body ≤ 64 MiB) of a Drive filesessionexperimental
DELETE/v1/connections/{id}/files/{fileId}Delete a Drive file the app can seesessionexperimental
GET/v1/connections/{id}/files/{fileId}/contentStream Drive file bytes (≤ 64 MiB)sessionexperimental
GET/v1/connections/{id}/pickerShort-lived drive.file access token and Picker settings for the Google Drive pickersessionexperimental
POST/v1/connections/{provider}/startStart consent for a service connection (Google Drive drive.file, Spotify, TONE3000)sessionexperimental
GET/v1/network/allowlistRead the extra exact hosts this account allows for web nodessessionexperimental
PUT/v1/network/allowlistReplace the account network allowlist (exact hosts, at most 32; private ranges stay refused)sessionexperimental

developer

MethodPathSummaryAuthScopesStability
GET/v1/developer/appsList the caller's developer appssessionexperimental
POST/v1/developer/appsCreate a developer app (at most 10 per account)sessionexperimental
GET/v1/developer/apps/{appId}Read one app with its effective tiersessionexperimental
PATCH/v1/developer/apps/{appId}Update app fields at an expected versionsessionexperimental
DELETE/v1/developer/apps/{appId}Delete an app; revokes its keys and disables its webhookssessionexperimental
GET/v1/developer/apps/{appId}/auditRecent audit events of one app, newest firstsessionexperimental
GET/v1/developer/apps/{appId}/keysKey metadata for one app; never secretssessionexperimental
POST/v1/developer/apps/{appId}/keysCreate a key; the secret is returned oncesessionexperimental
GET/v1/developer/apps/{appId}/tierEffective tier, its limits and whether an upgrade can be purchasedsessionexperimental
GET/v1/developer/apps/{appId}/usageHourly or daily usage series with per-key totalssession keyread:usageexperimental
GET/v1/developer/apps/{appId}/usage.csvHourly usage as CSV (UTC, at most 90 days)sessionexperimental
GET/v1/developer/apps/{appId}/webhooksWebhooks of one appsessionexperimental
POST/v1/developer/apps/{appId}/webhooksCreate a webhook (pro); sends a verification challengesessionexperimental
POST/v1/developer/deliveries/{deliveryId}/redeliverQueue another attempt of a delivered or failed eventsessionexperimental
GET/v1/developer/keyIntrospect the presenting key: app, scopes, tier and expirykeyexperimental
POST/v1/developer/key/revokeSelf-revocation for leak responsekeyexperimental
PATCH/v1/developer/keys/{keyId}Rename a key, change its scopes or IP allowlistsessionexperimental
POST/v1/developer/keys/{keyId}/revokeRevoke a key immediatelysessionexperimental
POST/v1/developer/keys/{keyId}/rotateIssue a replacement key; the old key keeps working for the overlapsessionexperimental
GET/v1/developer/limitsCurrent bucket and quota state for a key, or the tier policiessession keyexperimental
GET/v1/developer/scopesScopes a key may hold, with descriptionsanonymous session keyexperimental
PATCH/v1/developer/webhooks/{webhookId}Change events, URL or state; URL changes and re-enabling re-verifysessionexperimental
GET/v1/developer/webhooks/{webhookId}/deliveriesDelivery log: one row per attempt, newest firstsessionexperimental
POST/v1/developer/webhooks/{webhookId}/testQueue a signed webhook.test deliverysessionexperimental
POST/v1/developer/webhooks/{webhookId}/verifyResend the verification challengesessionexperimental
GET/v1/openapi.jsonThis OpenAPI 3.1 documentanonymous session native keyexperimental

distribution

MethodPathSummaryAuthScopesStability
POST/v1/artifacts/{id}/ticketsIssue a one-time, 15-minute download ticket (anonymous for free public artifacts)anonymous session nativeexperimental
GET/v1/certificatesThe caller's certificates with offline statessession nativeexperimental
POST/v1/certificates/{id}/refreshRefresh a certificate, or learn that it was revokedsession nativeexperimental
GET/v1/distribution/keysPublic Ed25519 keys by purpose (diagnostics; clients pin keys)anonymous session nativeexperimental
GET/v1/downloads/{ticketId}Artifact bytes for a ticket token (`?t=`): single Range, ETag digest, Repr-Digestanonymous session nativeexperimental
GET/v1/install/{product}/{version}Install deep-link fallback page (HTML)anonymous session nativeexperimental
GET/v1/installationsInstallation records for the caller, optionally per device or productsession nativeexperimental
POST/v1/installationsRecord a verified install on a Player or Installer devicesession nativeexperimental
PUT/v1/installations/{id}Change state or version, report last seen, or roll backsession nativeexperimental
POST/v1/products/{id}/certificateIssue a signed 30-day offline license certificate for an owned productsession nativeexperimental
GET/v1/products/{id}/feed/{channel}Signed update manifest (tunetoys.update-manifest/1) with its changelog textanonymous session nativeexperimental
GET/v1/products/{id}/latest/{target}Latest installable desktop app artifact for macos, windows or linux (`?channel=`, Linux `?format=appimage|deb`)anonymous session nativeexperimental

email

MethodPathSummaryAuthScopesStability
GET/v1/email/unsubscribeBrowser page that confirms an email unsubscribe; never mutatesanonymous sessionexperimental
POST/v1/email/unsubscribeRFC 8058 one-click and page unsubscribe for one token scopeanonymousexperimental

embed

MethodPathSummaryAuthScopesStability
POST/v1/embed/eventsCount one in-frame play (bounded daily counter, no viewer data)anonymousexperimental
GET/v1/products/{id}/embedEmbed policy, origins, effective frame-ancestors and the Patch view opt-insession keyread:productsexperimental
PATCH/v1/products/{id}/embedReplace the embed policy and origin allowlist; optionally set the Patch view opt-insession keywrite:listingsexperimental
GET/v1/products/{id}/embed/analyticsLoads and plays per embedding origin for the last N dayssession keyread:productsexperimental

exports

MethodPathSummaryAuthScopesStability
POST/v1/exportsQueue a take render, Frame video or screen-recording transcodesessionexperimental
GET/v1/exportsThe caller's 50 newest export and convert jobssessionexperimental
GET/v1/exports/{exportId}Export state, progress, warnings, error class and outputsessionexperimental
DELETE/v1/exports/{exportId}Cancel a queued or running export; finished jobs are unchangedsessionexperimental
GET/v1/exports/{exportId}/outputDownload a finished export as a sandboxed attachmentsessionexperimental

library

MethodPathSummaryAuthScopesStability
GET/v1/libraryList the caller's librarysession native keyread:libraryexperimental
GET/v1/library/bookmarksRead quick-bookmark flags for listed Toyssession keyread:libraryexperimental
GET/v1/library/syncRead library events after a cursorsession native keyread:libraryexperimental
PUT/v1/library/{itemId}Write library bookmark, tags and pinned releasesession keywrite:libraryexperimental
DELETE/v1/library/{itemId}Remove a library item at an expected versionsession keywrite:libraryexperimental
PUT/v1/library/{itemId}/bookmarkSet the quick-bookmark flagsession keywrite:libraryexperimental

listings

MethodPathSummaryAuthScopesStability
GET/v1/listings/publishersPublishers where the caller is an active member, with rolessession keyread:productsexperimental
GET/v1/products/{productId}/documentsManuals, docs and FAQ documentssession keyread:productsexperimental
POST/v1/products/{productId}/documentsCreate a Markdown or PDF documentsession keywrite:listingsexperimental
PUT/v1/products/{productId}/documents/{documentId}Update a document (title, slug, body, PDF or position)session keywrite:listingsexperimental
DELETE/v1/products/{productId}/documents/{documentId}Delete a documentsession keywrite:listingsexperimental
GET/v1/products/{productId}/listingListing, draft and published revisions, effective fields and checkssession keyread:productsexperimental
PATCH/v1/products/{productId}/listingChange listing visibility, default locale or product slugsessionexperimental
POST/v1/products/{productId}/listing/assetsAttach an uploaded image as the thumbnail, social or marketing imagesession keywrite:listingsexperimental
GET/v1/products/{productId}/listing/assetsGenerated listing asset slots with status, overrides, jobs and the daily budgetsession keyread:productsexperimental
POST/v1/products/{productId}/listing/assets/jobs/{jobId}/cancelCancel a queued or running asset job; the previous ready asset stayssession keywrite:listingsexperimental
DELETE/v1/products/{productId}/listing/assets/{assetId}Remove an uploaded asset override (reset to generated)session keywrite:listingsexperimental
GET/v1/products/{productId}/listing/assets/{assetId}/bytesMember preview of a ready generated asset, whatever the listing visibilitysession keyread:productsexperimental
PUT/v1/products/{productId}/listing/draftSave the draft revision (named top-level keys only)session keywrite:listingsexperimental
DELETE/v1/products/{productId}/listing/draftDiscard the unpublished draft revisionsession keywrite:listingsexperimental
DELETE/v1/products/{productId}/listing/draft/overrides/{field}Reset one field (or all) to the generated valuesession keywrite:listingsexperimental
POST/v1/products/{productId}/listing/gallery/video-linksParse a YouTube or Vimeo URL to a canonical video idsession keywrite:listingsexperimental
POST/v1/products/{productId}/listing/publishValidate and publish the draft revisionsessionexperimental
POST/v1/products/{productId}/listing/regenerateRegenerate all generated assets, some kinds, or one variant (never touches uploaded overrides)session keywrite:listingsexperimental
GET/v1/products/{productId}/listing/revisionsListing revision historysession keyread:productsexperimental
POST/v1/products/{productId}/listing/revisions/{revisionId}/restoreCopy a revision into the draftsession keywrite:listingsexperimental
GET/v1/products/{productId}/listing/translationsTranslations of the draft (or published) revisionsession keyread:productsexperimental
PUT/v1/products/{productId}/listing/translations/{locale}Save translated fields and their state for the draft revisionsession keywrite:listingsexperimental
GET/v1/projects/{projectId}/listingListing editor read model for a published Toy's productsession keyread:productsexperimental
GET/v1/publishers/{handle}/productsA publisher's products with listing state, for memberssession keyread:productsexperimental

media

MethodPathSummaryAuthScopesStability
GET/v1/mediaSearch visible media (alias of GET /v1/sounds in the pre-0.0.8 item shape; kind= filters by family)anonymous sessionexperimental
GET/v1/media/upload-accessRead the caller's upload permission and policy modeanonymous sessionexperimental
POST/v1/media/uploadsReserve an upload with its transfer facts, rights and catalog metadata in one requestsessionexperimental
POST/v1/media/uploads/{uploadId}/completeVerify and publish an uploaded media versionsessionexperimental
GET/v1/media/{mediaId}Read media metadataanonymous sessionexperimental
GET/v1/media/{mediaId}/bytesDownload media bytes as a sandboxed attachmentanonymous sessionexperimental
POST/v1/media/{mediaId}/convertQueue a conversion of a library item into a new private library itemsessionexperimental

native

MethodPathSummaryAuthScopesStability
GET/v1/native/authorizeValidate a Player authorization request and loopback callbackanonymous sessionexperimental
POST/v1/native/authorizeConsent to a Player request and issue a short-lived codesessionexperimental
GET/v1/native/devicesList the caller's authorized Player devicessessionexperimental
POST/v1/native/devices/{deviceId}/revokeRevoke an owned Player devicesessionexperimental

notifications

MethodPathSummaryAuthScopesStability
GET/v1/account/localeAccount language and time zonesessionexperimental
PUT/v1/account/localeSet account language (UI, email, push) and time zone (digests, quiet hours)sessionexperimental
GET/v1/notificationsPage of the caller's rendered notifications (ETag)session nativeexperimental
PUT/v1/notifications/channels/{channel}Digest cadence and quiet hours for one channelsessionexperimental
GET/v1/notifications/preferencesEvent × channel matrix, digests, quiet hours and channel availabilitysessionexperimental
PUT/v1/notifications/preferencesChange matrix cells; required events cannot be disabledsessionexperimental
POST/v1/notifications/readMark notifications read by id, or all in a filtersession nativeexperimental
POST/v1/notifications/testSend a test notification by email or web push (3 per hour)sessionexperimental
GET/v1/notifications/unread-countUnread notification count for polling (ETag)session nativeexperimental
POST/v1/notifications/{notificationId}/dismissDismiss one notification from every filtersession nativeexperimental
POST/v1/notifications/{notificationId}/unreadMark one notification unreadsession nativeexperimental
GET/v1/push-subscriptionsThe caller's push devicessessionexperimental
POST/v1/push-subscriptionsRegister this browser for web pushsessionexperimental
DELETE/v1/push-subscriptions/{subscriptionId}Remove a push devicesessionexperimental
GET/v1/push/vapid-public-keyWeb push application server keyanonymous sessionexperimental
GET/v1/subscriptionsFollowed products, publishers, threads and docs pagessessionexperimental
GET/v1/subscriptions/{subjectType}/{subjectId}Follow state for one subjectsessionexperimental
PUT/v1/subscriptions/{subjectType}/{subjectId}Follow a product, publisher, thread or docs pagesessionexperimental
DELETE/v1/subscriptions/{subjectType}/{subjectId}Stop following a subjectsessionexperimental

posts

MethodPathSummaryAuthScopesStability
GET/v1/postsList root posts of a subject with inline repliesanonymous sessionexperimental
POST/v1/postsCreate a comment or replysessionexperimental
GET/v1/posts/{postId}Read a post with its visible repliesanonymous sessionexperimental
PATCH/v1/posts/{postId}Edit a post or resolve a project notesessionexperimental
DELETE/v1/posts/{postId}Remove a post, leaving a tombstonesessionexperimental
POST/v1/posts/{postId}/moderationRemove, restore or clear the verified flag of a post (moderator)sessionexperimental
PUT/v1/posts/{postId}/pinPin or unpin a root post (subject owner, at most three)sessionexperimental
PUT/v1/posts/{postId}/reactions/{kind}Set or clear a like or helpful votesessionexperimental
GET/v1/posts/{postId}/repliesList every visible reply below a postanonymous sessionexperimental
PUT/v1/posts/{postId}/responseCreate or edit the publisher response to a reviewsessionexperimental
GET/v1/posts/{postId}/revisionsList prior versions of a post (author or moderator)sessionexperimental
GET/v1/products/{productId}/rating-summaryRead the review rating summary of a productanonymous sessionexperimental
GET/v1/products/{productId}/reviewRead the caller's review of a product with eligibilityanonymous sessionexperimental
PUT/v1/products/{productId}/reviewCreate or edit the caller's review of a productsessionexperimental

projects

MethodPathSummaryAuthScopesStability
GET/v1/projectsList the caller's drafts, newest firstsession keyread:projectsexperimental
POST/v1/projectsCreate an owned project from a validated documentsession keywrite:projectsexperimental
GET/v1/projects/{projectId}Read an owned projectsession keyread:projectsexperimental
PUT/v1/projects/{projectId}Save a draft at an expected revisionsession keywrite:projectsexperimental
PUT/v1/projects/{projectId}/catalogUpdate public discovery tags and categorysessionexperimental
POST/v1/projects/{projectId}/operationsApply an authoring operation batch at an expected revisionsession keywrite:projectsexperimental
POST/v1/projects/{projectId}/publishPublish an immutable releasesessionexperimental
PUT/v1/projects/{projectId}/visibilityChange listing visibilitysessionexperimental
POST/v1/releases/{digest}/forkFork a release into a new owned projectsession keywrite:projectsexperimental

public-pages

MethodPathSummaryAuthScopesStability
GET/v1/pages/productPublic product page modelanonymous session keyread:publicexperimental
GET/v1/pages/soundsPublic sound landing page modelanonymous session keyread:publicexperimental
GET/v1/pages/storefrontPublic storefront page modelanonymous session keyread:publicexperimental

publishers

MethodPathSummaryAuthScopesStability
PATCH/v1/offers/{offerId}Activate or deactivate a creator offersessionexperimental
GET/v1/products/{productId}/accessThe caller's access to a product's paid contentanonymous session nativeexperimental
GET/v1/products/{productId}/offersList active offers (managers also see inactive offers)anonymous sessionexperimental
POST/v1/products/{productId}/offersCreate a free or one-time creator offer (owner/finance)sessionexperimental
GET/v1/publishers/meRead (creating on first use) the caller's personal publishersessionexperimental
PATCH/v1/publishers/{publisherId}Update display name, support email or seller terms acceptancesessionexperimental
GET/v1/publishers/{publisherId}/connectRead Stripe Connect capability state (owner/finance)sessionexperimental
POST/v1/publishers/{publisherId}/connect/onboardCreate or resume Stripe Express onboarding (owner only)sessionexperimental
POST/v1/publishers/{publisherId}/connect/syncReconcile Connect state with Stripe (owner/finance)sessionexperimental
GET/v1/publishers/{publisherId}/membersList publisher members and rolessessionexperimental
POST/v1/publishers/{publisherId}/membersAdd a member by handle with a role (owner only)sessionexperimental
DELETE/v1/publishers/{publisherId}/members/{accountId}Remove a member (owner only)sessionexperimental

sounds

MethodPathSummaryAuthScopesStability
GET/v1/soundsSearch and filter public sounds (or the caller’s own with mine=1); page of 40anonymous session nativeexperimental
GET/v1/sounds/facetsFacet counts for a sounds filter setanonymous session nativeexperimental
GET/v1/sounds/savedList the caller's saved soundssession nativeexperimental
GET/v1/sounds/saved/syncRead saved-sound events after a cursor (the library sync protocol)session nativeexperimental
GET/v1/sounds/similar/{mediaId}Nearest sounds by embedding, or unsupported with the reasonanonymous session nativeexperimental
GET/v1/sounds/{mediaId}Item, current version, resolved fields with sources, renditions, counts and viewer stateanonymous session nativeexperimental
PATCH/v1/sounds/{mediaId}Edit the catalog entry at an expected version (owner)sessionexperimental
DELETE/v1/sounds/{mediaId}Remove a sound from the catalog; pinned release versions staysessionexperimental
GET/v1/sounds/{mediaId}/analysisEvery analysis run of the current version with the full reportanonymous session nativeexperimental
GET/v1/sounds/{mediaId}/bytesOriginal bytes as a sandboxed attachment: the owner, or anyone when reusable; countedsession nativeexperimental
POST/v1/sounds/{mediaId}/eventsPlay or preview beacon, bounded per address per dayanonymous session nativeexperimental
PUT/v1/sounds/{mediaId}/likeLike or unlike a soundsessionexperimental
GET/v1/sounds/{mediaId}/relationsRelations in both directions the caller may readanonymous session nativeexperimental
PUT/v1/sounds/{mediaId}/relationsRelate this sound to another (owner of either side)sessionexperimental
DELETE/v1/sounds/{mediaId}/relationsRemove a relation (owner of either side)sessionexperimental
GET/v1/sounds/{mediaId}/renditions/{kind}Rendition bytes (peaks, preview, thumbnail, score page); 404 RENDITION_NOT_READY until producedanonymous session nativeexperimental
PUT/v1/sounds/{mediaId}/saveSave or unsave a sound (synced to hosts like library bookmarks)sessionexperimental

storefronts

MethodPathSummaryAuthScopesStability
GET/v1/publishers/{handle}/storefrontPublished storefront, or the draft and revisions for members with ?draft=1anonymous session keyread:publicexperimental
PUT/v1/publishers/{handle}/storefront/draftSave theme tokens and sections to the draft revisionsession keywrite:listingsexperimental
POST/v1/publishers/{handle}/storefront/publishValidate references and publish the draft revisionsessionexperimental
POST/v1/publishers/{handle}/storefront/revisions/{revisionId}/restoreCopy an older revision into a new draftsession keywrite:listingsexperimental

system

MethodPathSummaryAuthScopesStability
GET/v1/configWhether server text proposals are configuredanonymous session nativeexperimental
GET/v1/healthReadiness and engine ABIanonymous session nativeexperimental

tone3000

MethodPathSummaryAuthScopesStability
GET/v1/tone3000/library/{kind}Read a bounded TONE3000 favorites or downloads listsession nativeexperimental
POST/v1/tone3000/models/{id}/importImport one private TONE3000 model on requestsession nativeexperimental
GET/v1/tone3000/searchSearch TONE3000 NAM captures on explicit requestsession nativeexperimental
GET/v1/tone3000/tones/{id}Read TONE3000 tone metadatasession nativeexperimental
GET/v1/tone3000/tones/{id}/modelsList admitted TONE3000 model architecturessession nativeexperimental

vault

MethodPathSummaryAuthScopesStability
GET/v1/vault/secretsList vault secret metadata (never values)sessionexperimental
POST/v1/vault/secretsStore a secret in a slot; returns metadata onlysessionexperimental
PUT/v1/vault/secrets/{id}Replace a secret value atomically (new prefix and last4)sessionexperimental
DELETE/v1/vault/secrets/{id}Remove a secretsessionexperimental

versions

MethodPathSummaryAuthScopesStability
GET/v1/artifacts/{id}/bytesDownload a free or browser artifact with digest verificationanonymous session nativeexperimental
GET/v1/platform/targetsThe 13 target profiles with buildable formats and builder statusanonymous session nativeexperimental
POST/v1/products/{id}/aliases/{alias}Move stable or beta with an expected-previous checksessionexperimental
GET/v1/products/{id}/versionsList versions with matrix, artifacts and aliases (drafts for publisher members only)anonymous session nativeexperimental
POST/v1/products/{id}/versionsCreate a draft version pinned to project releasessession keypublish:releasesexperimental
GET/v1/products/{id}/versions/suggestSuggest the next semver from the public-control diff of the latest releasesession keypublish:releasesexperimental
GET/v1/projects/{projectId}/productThe product that wraps a published project, for version and download UIanonymous session nativeexperimental
GET/v1/versions/{id}Read one version with its matrix and artifactsanonymous session nativeexperimental
PATCH/v1/versions/{id}Edit a draft, or the matrix claims of a published versionsessionexperimental
GET/v1/versions/{id}/artifactsRegistered artifacts of a version (public fields)anonymous session nativeexperimental
POST/v1/versions/{id}/artifactsUpload and register an artifact (application/octet-stream body, metadata in the query)session keypublish:releasesexperimental
POST/v1/versions/{id}/publishFreeze and publish a version; creates the browser artifactsession keypublish:releasesexperimental
GET/v1/versions/{id}/targetsPlatform matrix for a version: all 13 profilesanonymous session nativeexperimental
POST/v1/versions/{id}/yankWithdraw a published version with a public reasonsessionexperimental

esc

↑ ↓ move↩ open⌘↩ new tabesc close