From 6b83154d574e623f94da2c115fa72ee6844d042a Mon Sep 17 00:00:00 2001 From: Recoup CTO Agent Date: Mon, 6 Apr 2026 00:28:37 +0000 Subject: [PATCH 01/15] docs: split monolithic API reference into domain sub-tabs Restructure the single "API reference" tab into 5 domain-specific tabs: - Research: artist research, fans, segments, posts, chat - Releases: songs, catalogs, tasks - Content: content creation, content agent, image, transcribe, sandboxes - Social Media: Spotify, Instagram, X, social scraping, connectors - Platform: accounts, organizations, workspaces, subscriptions, admins Co-Authored-By: Paperclip --- docs.json | 308 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 159 insertions(+), 149 deletions(-) diff --git a/docs.json b/docs.json index 11c47fb..77f603b 100644 --- a/docs.json +++ b/docs.json @@ -32,14 +32,75 @@ ] }, { - "tab": "API reference", + "tab": "Research", "groups": [ { - "group": "API documentation", + "group": "Overview", "pages": [ "api-reference/introduction" ] }, + { + "group": "Research", + "pages": [ + "api-reference/research/search", + "api-reference/research/lookup", + "api-reference/research/profile", + "api-reference/research/metrics", + "api-reference/research/audience", + "api-reference/research/cities", + "api-reference/research/similar", + "api-reference/research/urls", + "api-reference/research/instagram-posts", + "api-reference/research/playlists", + "api-reference/research/albums", + "api-reference/research/tracks", + "api-reference/research/track", + "api-reference/research/career", + "api-reference/research/insights", + "api-reference/research/playlist", + "api-reference/research/curator", + "api-reference/research/discover", + "api-reference/research/genres", + "api-reference/research/festivals", + "api-reference/research/web", + "api-reference/research/deep", + "api-reference/research/people", + "api-reference/research/extract", + "api-reference/research/enrich", + "api-reference/research/milestones", + "api-reference/research/venues", + "api-reference/research/rank", + "api-reference/research/charts", + "api-reference/research/radio" + ] + }, + { + "group": "Artists", + "pages": [ + "api-reference/artists/list", + "api-reference/artists/create", + "api-reference/artist/segments", + "api-reference/artist/socials", + "api-reference/artist/socials-scrape", + "api-reference/artist/profile" + ] + }, + { + "group": "Fans & Segments", + "pages": [ + "api-reference/segment/fans", + "api-reference/fans/get" + ] + }, + { + "group": "Posts & Comments", + "pages": [ + "api-reference/posts/get", + "api-reference/post/comments", + "api-reference/comments/get" + ] + }, { "group": "Chat", "pages": [ @@ -56,12 +117,25 @@ "api-reference/chat/stream", "api-reference/chat/compact" ] - }, + } + ] + }, + { + "tab": "Releases", + "groups": [ { - "group": "Pulses", + "group": "Songs & Catalogs", "pages": [ - "api-reference/pulses/list", - "api-reference/pulses/update" + "api-reference/songs/songs", + "api-reference/songs/create", + "api-reference/songs/analyze", + "api-reference/songs/analyze-presets", + "api-reference/songs/catalogs", + "api-reference/songs/catalogs-create", + "api-reference/songs/catalogs-delete", + "api-reference/songs/catalog-songs", + "api-reference/songs/catalog-songs-add", + "api-reference/songs/catalog-songs-delete" ] }, { @@ -73,115 +147,64 @@ "api-reference/tasks/delete", "api-reference/tasks/runs" ] - }, - { - "group": "Accounts", - "pages": [ - "api-reference/accounts/get", - "api-reference/accounts/id", - "api-reference/accounts/create", - "api-reference/accounts/update", - "api-reference/accounts/add-artist" - ] - }, - { - "group": "Admins", - "pages": [ - "api-reference/admins/check", - "api-reference/admins/sandboxes", - "api-reference/admins/sandboxes-orgs", - "api-reference/admins/emails", - "api-reference/admins/privy", - "api-reference/admins/coding-agent-slack-tags", - "api-reference/admins/coding-pr", - "api-reference/admins/content-slack-tags" - ] - }, - { - "group": "Artists", - "pages": [ - "api-reference/artists/list", - "api-reference/artists/create", - "api-reference/artist/segments", - "api-reference/artist/socials", - "api-reference/artist/socials-scrape", - "api-reference/artist/profile" - ] - }, - { - "group": "Segment", - "pages": [ - "api-reference/segment/fans" - ] - }, - { - "group": "Fans", - "pages": [ - "api-reference/fans/get" - ] - }, + } + ] + }, + { + "tab": "Content", + "groups": [ { - "group": "Posts", + "group": "Content Creation", "pages": [ - "api-reference/posts/get", - "api-reference/post/comments" + "api-reference/content/create", + "api-reference/content/generate-image", + "api-reference/content/generate-video", + "api-reference/content/generate-caption", + "api-reference/content/transcribe-audio", + "api-reference/content/edit", + "api-reference/content/upscale", + "api-reference/content/analyze-video", + "api-reference/content/templates", + "api-reference/content/validate", + "api-reference/content/estimate" ] }, { - "group": "Comments", + "group": "Content Agent", "pages": [ - "api-reference/comments/get" + "api-reference/content-agent/webhook", + "api-reference/content-agent/callback" ] }, { - "group": "Organizations", + "group": "Image", "pages": [ - "api-reference/organizations/list", - "api-reference/organizations/create", - "api-reference/organizations/add-artist" + "api-reference/image/generation" ] }, { - "group": "Workspaces", + "group": "Transcribe", "pages": [ - "api-reference/workspaces/create" + "api-reference/transcribe/audio" ] }, { - "group": "Research", + "group": "Sandboxes", "pages": [ - "api-reference/research/search", - "api-reference/research/lookup", - "api-reference/research/profile", - "api-reference/research/metrics", - "api-reference/research/audience", - "api-reference/research/cities", - "api-reference/research/similar", - "api-reference/research/urls", - "api-reference/research/instagram-posts", - "api-reference/research/playlists", - "api-reference/research/albums", - "api-reference/research/tracks", - "api-reference/research/track", - "api-reference/research/career", - "api-reference/research/insights", - "api-reference/research/playlist", - "api-reference/research/curator", - "api-reference/research/discover", - "api-reference/research/genres", - "api-reference/research/festivals", - "api-reference/research/web", - "api-reference/research/deep", - "api-reference/research/people", - "api-reference/research/extract", - "api-reference/research/enrich", - "api-reference/research/milestones", - "api-reference/research/venues", - "api-reference/research/rank", - "api-reference/research/charts", - "api-reference/research/radio" + "api-reference/sandboxes/list", + "api-reference/sandboxes/create", + "api-reference/sandboxes/snapshot", + "api-reference/sandboxes/delete", + "api-reference/sandboxes/setup", + "api-reference/sandboxes/file", + "api-reference/sandboxes/upload" ] - }, + } + ] + }, + { + "tab": "Social Media", + "groups": [ { "group": "Spotify", "pages": [ @@ -214,91 +237,78 @@ ] }, { - "group": "Image", - "pages": [ - "api-reference/image/generation" - ] - }, - { - "group": "Transcribe", + "group": "Apify", "pages": [ - "api-reference/transcribe/audio" + "api-reference/apify/scraper" ] }, { - "group": "Songs & Catalogs", + "group": "Connectors", "pages": [ - "api-reference/songs/songs", - "api-reference/songs/create", - "api-reference/songs/analyze", - "api-reference/songs/analyze-presets", - "api-reference/songs/catalogs", - "api-reference/songs/catalogs-create", - "api-reference/songs/catalogs-delete", - "api-reference/songs/catalog-songs", - "api-reference/songs/catalog-songs-add", - "api-reference/songs/catalog-songs-delete" + "api-reference/connectors/list", + "api-reference/connectors/authorize", + "api-reference/connectors/disconnect" ] - }, + } + ] + }, + { + "tab": "Platform", + "groups": [ { - "group": "Subscriptions", + "group": "Accounts", "pages": [ - "api-reference/subscriptions/get" + "api-reference/accounts/get", + "api-reference/accounts/id", + "api-reference/accounts/create", + "api-reference/accounts/update", + "api-reference/accounts/add-artist" ] }, { - "group": "Notifications", + "group": "Organizations", "pages": [ - "api-reference/notifications/create" + "api-reference/organizations/list", + "api-reference/organizations/create", + "api-reference/organizations/add-artist" ] }, { - "group": "Apify", + "group": "Workspaces", "pages": [ - "api-reference/apify/scraper" + "api-reference/workspaces/create" ] }, { - "group": "Sandboxes", + "group": "Subscriptions", "pages": [ - "api-reference/sandboxes/list", - "api-reference/sandboxes/create", - "api-reference/sandboxes/snapshot", - "api-reference/sandboxes/delete", - "api-reference/sandboxes/setup", - "api-reference/sandboxes/file", - "api-reference/sandboxes/upload" + "api-reference/subscriptions/get" ] }, { - "group": "Connectors", + "group": "Admins", "pages": [ - "api-reference/connectors/list", - "api-reference/connectors/authorize", - "api-reference/connectors/disconnect" + "api-reference/admins/check", + "api-reference/admins/sandboxes", + "api-reference/admins/sandboxes-orgs", + "api-reference/admins/emails", + "api-reference/admins/privy", + "api-reference/admins/coding-agent-slack-tags", + "api-reference/admins/coding-pr", + "api-reference/admins/content-slack-tags" ] }, { - "group": "Content", + "group": "Pulses", "pages": [ - "api-reference/content/create", - "api-reference/content/generate-image", - "api-reference/content/generate-video", - "api-reference/content/generate-caption", - "api-reference/content/transcribe-audio", - "api-reference/content/edit", - "api-reference/content/upscale", - "api-reference/content/analyze-video", - "api-reference/content/templates", - "api-reference/content/validate", - "api-reference/content/estimate" + "api-reference/pulses/list", + "api-reference/pulses/update" ] }, { - "group": "Content Agent", + "group": "Notifications", "pages": [ - "api-reference/content-agent/webhook", - "api-reference/content-agent/callback" + "api-reference/notifications/create" ] } ] From cbc6f0fd57829067f93ebb2b197b1a675dfb0274 Mon Sep 17 00:00:00 2001 From: Sweets Sweetman Date: Sun, 5 Apr 2026 19:43:27 -0500 Subject: [PATCH 02/15] update root landing page for LLM navigability Add structured API sections, CLI/MCP cards, and a plain-text endpoint reference so LLMs given the root URL can immediately discover all available endpoints without navigating sub-pages. Co-Authored-By: Claude Opus 4.6 (1M context) --- index.mdx | 117 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 77 insertions(+), 40 deletions(-) diff --git a/index.mdx b/index.mdx index 05c0125..4d02e41 100644 --- a/index.mdx +++ b/index.mdx @@ -1,11 +1,11 @@ --- title: "Recoup API Documentation" -description: "Use the Recoup API to build your record label." +description: "Use the Recoup API to build your record label. Access research, content creation, chat, artist analytics, social media, and platform management endpoints." --- # Welcome to the Recoup API -Use the Recoup API to build your record label. Access artist analytics, fan segmentation, AI-powered chat, and task automation to power your music business. +Use the Recoup API to build your record label. Access artist analytics, fan segmentation, AI-powered chat, content creation, and task automation to power your music business. ## What is Recoup? @@ -15,7 +15,7 @@ This is where record labels, musicians, and managers start to build on Recoup AI ## Get Started - + - Explore all available endpoints and integrations. + Install and use the Recoup CLI to interact with the platform from your terminal. + + + Connect Recoup to AI assistants via the Model Context Protocol. -## Key Capabilities +## API Sections + +The API is organized into five main sections. Use these links to jump to the right area. + 30 endpoints for artist research: search, lookup, profile, metrics, audience, cities, similar artists, playlists, albums, tracks, career history, insights, genres, festivals, web presence, and more. + + + Generate images, videos, and captions. Transcribe audio, edit content, upscale media, analyze videos, manage templates, and estimate costs. + + - AI-powered conversations with artist context. Stream responses or generate complete messages. + AI-powered conversations with artist context. Create, stream, and generate messages. Copy messages, delete trailing messages, and manage chat history. - Comprehensive artist profiles with social metrics, follower counts, and engagement data across platforms. + Spotify, Instagram, X (Twitter), and generic social scraping. Search artists, scrape profiles and comments, track trends, and manage OAuth connectors. - Organize and analyze fan bases by demographics, engagement levels, and behavior patterns. + Songs, catalogs, and task management. Analyze songs, manage catalog collections, and schedule recurring tasks with cron-based automation. - Schedule and automate recurring tasks with cron-based scheduling and AI-powered execution. + Accounts, organizations, workspaces, subscriptions, pulses, notifications, sandboxes, and admin tools. -## Platform Integrations +## Agents - - - Search artists, albums, and tracks. - + - Scrape profiles and comments. + AI content creation agent accessible via Slack. Generates images, videos, and captions for artists automatically. - Search tweets and trending topics. + API key authentication, account-scoped access, and organization-level permissions. +## Quick Reference for LLMs + +If you are an LLM navigating these docs, here is a summary of the endpoint structure: + +- **`/api/research/*`** — Artist research (search, lookup, profile, metrics, audience, cities, similar, urls, playlists, albums, tracks, career, insights, genres, festivals, web, deep, people, extract, enrich, milestones, venues, rank, charts, radio, discover, curator, playlist) +- **`/api/content/*`** — Content creation (create, generate-image, generate-video, generate-caption, transcribe-audio, edit, upscale, analyze-video, templates, validate, estimate) +- **`/api/chat/*`** — Chat (chats, artist, segment, messages, messages-copy, messages-trailing-delete, create, update, delete, generate, stream, compact) +- **`/api/artists/*`** — Artist management (list, create, segments, socials, socials-scrape, profile) +- **`/api/songs/*`** — Songs and catalogs (songs, create, analyze, analyze-presets, catalogs, catalogs-create, catalogs-delete, catalog-songs, catalog-songs-add, catalog-songs-delete) +- **`/api/tasks/*`** — Task automation (get, create, update, delete, runs) +- **`/api/spotify/*`** — Spotify (search, artist, artist-albums, artist-top-tracks, album) +- **`/api/instagram/*`** — Instagram (comments, profiles) +- **`/api/x/*`** — X/Twitter (search, trends) +- **`/api/connectors/*`** — OAuth connectors (list, authorize, disconnect) +- **`/api/accounts/*`** — Accounts (get, id, create, update, add-artist) +- **`/api/organizations/*`** — Organizations (list, create, add-artist) +- **`/api/sandboxes/*`** — Sandboxes (list, create, snapshot, delete, setup, file, upload) +- **`/api/content-agent/*`** — Content agent webhooks (webhook, callback) + +Base URL: `https://recoup-api.vercel.app` + ## Need Help? - Reach out to our team for assistance with the Recoup API. + Reach out to our team at agent@recoupable.com for assistance with the Recoup API. From 197094673e2fdda89820df4c31ee022925e7bfa7 Mon Sep 17 00:00:00 2001 From: Sweets Sweetman Date: Sun, 5 Apr 2026 19:44:18 -0500 Subject: [PATCH 03/15] merge api-reference/introduction into root landing page Move base URL, authentication, API key setup, and OpenAPI spec link into index.mdx so LLMs and users get everything on the first page. Remove the now-redundant introduction page and its nav entry. Co-Authored-By: Claude Opus 4.6 (1M context) --- api-reference/introduction.mdx | 67 ---------------------------------- docs.json | 8 +--- index.mdx | 32 +++++++++++++++- 3 files changed, 31 insertions(+), 76 deletions(-) delete mode 100644 api-reference/introduction.mdx diff --git a/api-reference/introduction.mdx b/api-reference/introduction.mdx deleted file mode 100644 index 057216c..0000000 --- a/api-reference/introduction.mdx +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: 'Introduction' -description: 'API documentation for the Recoup platform - AI agents for the music industry' ---- - -## Welcome - -Welcome to the Recoup API documentation. Recoup is an AI agent platform for the music industry that provides artist analytics, fan segmentation, and AI-powered chat assistants. Build smarter song rollouts, create unforgettable fan experiences, and drive lasting artist growth. - - - View the OpenAPI specification file on GitHub - - -## Base URL - -All API requests should be made to: - -```bash -https://api.recoupable.com/api -``` - -## Authentication - -All API endpoints are authenticated using an API key passed in the `x-api-key` header. - -### Getting Your API Key - -1. Navigate to the [API Keys Management Page](https://chat.recoupable.com/keys) -2. Sign in with your account -3. Create a new API key and copy it immediately (it's only shown once) - -### Using Your API Key - -Include your API key in the `x-api-key` header for all requests: - -```bash -curl -X GET "https://api.recoupable.com/api/artists?accountId=YOUR_ACCOUNT_ID" \ - -H "Content-Type: application/json" \ - -H "x-api-key: YOUR_API_KEY" -``` - - -Keep your API key secure. Do not share it publicly or commit it to version control. - - -## Next Steps - - - - Get started with your first API request - - - Explore all available endpoints - - diff --git a/docs.json b/docs.json index 77f603b..1c22c8f 100644 --- a/docs.json +++ b/docs.json @@ -34,13 +34,7 @@ { "tab": "Research", "groups": [ - { - "group": "Overview", - "pages": [ - "api-reference/introduction" - ] - }, - { +{ "group": "Research", "pages": [ "api-reference/research/search", diff --git a/index.mdx b/index.mdx index 4d02e41..862efbb 100644 --- a/index.mdx +++ b/index.mdx @@ -13,6 +13,32 @@ Recoup is an AI agent platform for smarter song rollouts, unforgettable fan expe This is where record labels, musicians, and managers start to build on Recoup AI technology like chat, tasks, agents, and more. +## Base URL + +All API requests should be made to: + +```bash +https://api.recoupable.com/api +``` + +## Authentication + +All API endpoints are authenticated using an API key passed in the `x-api-key` header. + +1. Navigate to the [API Keys Management Page](https://chat.recoupable.com/keys) +2. Sign in with your account +3. Create a new API key and copy it immediately (it's only shown once) + +```bash +curl -X GET "https://api.recoupable.com/api/artists?accountId=YOUR_ACCOUNT_ID" \ + -H "Content-Type: application/json" \ + -H "x-api-key: YOUR_API_KEY" +``` + + +Keep your API key secure. Do not share it publicly or commit it to version control. + + ## Get Started @@ -47,7 +73,7 @@ The API is organized into five main sections. Use these links to jump to the rig 30 endpoints for artist research: search, lookup, profile, metrics, audience, cities, similar artists, playlists, albums, tracks, career history, insights, genres, festivals, web presence, and more. @@ -126,7 +152,9 @@ If you are an LLM navigating these docs, here is a summary of the endpoint struc - **`/api/sandboxes/*`** — Sandboxes (list, create, snapshot, delete, setup, file, upload) - **`/api/content-agent/*`** — Content agent webhooks (webhook, callback) -Base URL: `https://recoup-api.vercel.app` +Base URL: `https://api.recoupable.com/api` + +[OpenAPI Specification](https://github.com/sweetmantech/docs/blob/main/api-reference/openapi.json) ## Need Help? From c8fd0f4bf36206461d0d1c493c7e5cb48dbed4e2 Mon Sep 17 00:00:00 2001 From: Sweets Sweetman Date: Sun, 5 Apr 2026 19:46:54 -0500 Subject: [PATCH 04/15] move connectors to top of Social Media tab Make "List connectors" the default landing page for the Social Media tab so OAuth connector setup is the first thing users see. Co-Authored-By: Claude Opus 4.6 (1M context) --- docs.json | 16 ++++++++-------- index.mdx | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs.json b/docs.json index 1c22c8f..8b9042b 100644 --- a/docs.json +++ b/docs.json @@ -199,6 +199,14 @@ { "tab": "Social Media", "groups": [ + { + "group": "Connectors", + "pages": [ + "api-reference/connectors/list", + "api-reference/connectors/authorize", + "api-reference/connectors/disconnect" + ] + }, { "group": "Spotify", "pages": [ @@ -235,14 +243,6 @@ "pages": [ "api-reference/apify/scraper" ] - }, - { - "group": "Connectors", - "pages": [ - "api-reference/connectors/list", - "api-reference/connectors/authorize", - "api-reference/connectors/disconnect" - ] } ] }, diff --git a/index.mdx b/index.mdx index 862efbb..55552cb 100644 --- a/index.mdx +++ b/index.mdx @@ -94,7 +94,7 @@ The API is organized into five main sections. Use these links to jump to the rig Spotify, Instagram, X (Twitter), and generic social scraping. Search artists, scrape profiles and comments, track trends, and manage OAuth connectors. From 17a2dba94f011c096035740e097a6270a031dfeb Mon Sep 17 00:00:00 2001 From: Sweets Sweetman Date: Sun, 5 Apr 2026 19:49:22 -0500 Subject: [PATCH 05/15] move pulses to top of Platform tab with update pulse as default Co-Authored-By: Claude Opus 4.6 (1M context) --- docs.json | 14 +++++++------- index.mdx | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs.json b/docs.json index 8b9042b..9b83afd 100644 --- a/docs.json +++ b/docs.json @@ -249,6 +249,13 @@ { "tab": "Platform", "groups": [ + { + "group": "Pulses", + "pages": [ + "api-reference/pulses/update", + "api-reference/pulses/list" + ] + }, { "group": "Accounts", "pages": [ @@ -292,13 +299,6 @@ "api-reference/admins/content-slack-tags" ] }, - { - "group": "Pulses", - "pages": [ - "api-reference/pulses/list", - "api-reference/pulses/update" - ] - }, { "group": "Notifications", "pages": [ diff --git a/index.mdx b/index.mdx index 55552cb..2498bda 100644 --- a/index.mdx +++ b/index.mdx @@ -108,7 +108,7 @@ The API is organized into five main sections. Use these links to jump to the rig Accounts, organizations, workspaces, subscriptions, pulses, notifications, sandboxes, and admin tools. From 25669a9c13eaefaf80d0b2f906ce9c98521907b7 Mon Sep 17 00:00:00 2001 From: Sweets Sweetman Date: Sun, 5 Apr 2026 19:50:23 -0500 Subject: [PATCH 06/15] rename Platform tab to Accounts Co-Authored-By: Claude Opus 4.6 (1M context) --- docs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs.json b/docs.json index 9b83afd..88a8aed 100644 --- a/docs.json +++ b/docs.json @@ -247,7 +247,7 @@ ] }, { - "tab": "Platform", + "tab": "Accounts", "groups": [ { "group": "Pulses", From 3f000a23bd7ea1e8241fdd2f17785a635a8f51f5 Mon Sep 17 00:00:00 2001 From: Sweets Sweetman Date: Sun, 5 Apr 2026 19:50:35 -0500 Subject: [PATCH 07/15] update home page Platform card to Accounts Co-Authored-By: Claude Opus 4.6 (1M context) --- index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.mdx b/index.mdx index 2498bda..a4bca8d 100644 --- a/index.mdx +++ b/index.mdx @@ -106,7 +106,7 @@ The API is organized into five main sections. Use these links to jump to the rig Songs, catalogs, and task management. Analyze songs, manage catalog collections, and schedule recurring tasks with cron-based automation. From 856e1f56f49da2aa68acae5f8595aea3b558411e Mon Sep 17 00:00:00 2001 From: Sweets Sweetman Date: Sun, 5 Apr 2026 19:53:32 -0500 Subject: [PATCH 08/15] move Artists and Fans & Segments from Research to Releases Co-Authored-By: Claude Opus 4.6 (1M context) --- docs.json | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/docs.json b/docs.json index 88a8aed..17f414f 100644 --- a/docs.json +++ b/docs.json @@ -69,24 +69,6 @@ "api-reference/research/radio" ] }, - { - "group": "Artists", - "pages": [ - "api-reference/artists/list", - "api-reference/artists/create", - "api-reference/artist/segments", - "api-reference/artist/socials", - "api-reference/artist/socials-scrape", - "api-reference/artist/profile" - ] - }, - { - "group": "Fans & Segments", - "pages": [ - "api-reference/segment/fans", - "api-reference/fans/get" - ] - }, { "group": "Posts & Comments", "pages": [ @@ -117,6 +99,24 @@ { "tab": "Releases", "groups": [ + { + "group": "Artists", + "pages": [ + "api-reference/artists/list", + "api-reference/artists/create", + "api-reference/artist/segments", + "api-reference/artist/socials", + "api-reference/artist/socials-scrape", + "api-reference/artist/profile" + ] + }, + { + "group": "Fans & Segments", + "pages": [ + "api-reference/segment/fans", + "api-reference/fans/get" + ] + }, { "group": "Songs & Catalogs", "pages": [ From f7273215eff84ba39cc01e425b43ee482a352de7 Mon Sep 17 00:00:00 2001 From: Sweets Sweetman Date: Sun, 5 Apr 2026 19:53:58 -0500 Subject: [PATCH 09/15] move Chat to top of Research tab with create as first item Co-Authored-By: Claude Opus 4.6 (1M context) --- docs.json | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/docs.json b/docs.json index 17f414f..956395b 100644 --- a/docs.json +++ b/docs.json @@ -34,7 +34,24 @@ { "tab": "Research", "groups": [ -{ + { + "group": "Chat", + "pages": [ + "api-reference/chat/create", + "api-reference/chat/chats", + "api-reference/chat/artist", + "api-reference/chat/segment", + "api-reference/chat/messages", + "api-reference/chat/messages-copy", + "api-reference/chat/messages-trailing-delete", + "api-reference/chat/update", + "api-reference/chat/delete", + "api-reference/chat/generate", + "api-reference/chat/stream", + "api-reference/chat/compact" + ] + }, + { "group": "Research", "pages": [ "api-reference/research/search", @@ -76,23 +93,6 @@ "api-reference/post/comments", "api-reference/comments/get" ] - }, - { - "group": "Chat", - "pages": [ - "api-reference/chat/chats", - "api-reference/chat/artist", - "api-reference/chat/segment", - "api-reference/chat/messages", - "api-reference/chat/messages-copy", - "api-reference/chat/messages-trailing-delete", - "api-reference/chat/create", - "api-reference/chat/update", - "api-reference/chat/delete", - "api-reference/chat/generate", - "api-reference/chat/stream", - "api-reference/chat/compact" - ] } ] }, From 47e7e58929f26787469e36567c081330816baa29 Mon Sep 17 00:00:00 2001 From: Sweets Sweetman Date: Sun, 5 Apr 2026 19:54:20 -0500 Subject: [PATCH 10/15] move Posts & Comments from Research to Content tab Co-Authored-By: Claude Opus 4.6 (1M context) --- docs.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs.json b/docs.json index 956395b..d5bcd7a 100644 --- a/docs.json +++ b/docs.json @@ -85,14 +85,6 @@ "api-reference/research/charts", "api-reference/research/radio" ] - }, - { - "group": "Posts & Comments", - "pages": [ - "api-reference/posts/get", - "api-reference/post/comments", - "api-reference/comments/get" - ] } ] }, @@ -147,6 +139,14 @@ { "tab": "Content", "groups": [ + { + "group": "Posts & Comments", + "pages": [ + "api-reference/posts/get", + "api-reference/post/comments", + "api-reference/comments/get" + ] + }, { "group": "Content Creation", "pages": [ From debaa1ebde81bade68cf9f666f2617beb5e91889 Mon Sep 17 00:00:00 2001 From: Sweets Sweetman Date: Sun, 5 Apr 2026 19:54:53 -0500 Subject: [PATCH 11/15] make chat/stream the first item in Research tab Co-Authored-By: Claude Opus 4.6 (1M context) --- docs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs.json b/docs.json index d5bcd7a..dcede97 100644 --- a/docs.json +++ b/docs.json @@ -37,6 +37,7 @@ { "group": "Chat", "pages": [ + "api-reference/chat/stream", "api-reference/chat/create", "api-reference/chat/chats", "api-reference/chat/artist", @@ -47,7 +48,6 @@ "api-reference/chat/update", "api-reference/chat/delete", "api-reference/chat/generate", - "api-reference/chat/stream", "api-reference/chat/compact" ] }, From 3eeead030c7c5865a15b7c1fb3d6d10854b18bd2 Mon Sep 17 00:00:00 2001 From: Sweets Sweetman Date: Sun, 5 Apr 2026 19:55:20 -0500 Subject: [PATCH 12/15] make Songs & Catalogs second group in Releases tab Co-Authored-By: Claude Opus 4.6 (1M context) --- docs.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs.json b/docs.json index dcede97..e25cb71 100644 --- a/docs.json +++ b/docs.json @@ -102,13 +102,6 @@ "api-reference/artist/profile" ] }, - { - "group": "Fans & Segments", - "pages": [ - "api-reference/segment/fans", - "api-reference/fans/get" - ] - }, { "group": "Songs & Catalogs", "pages": [ @@ -124,6 +117,13 @@ "api-reference/songs/catalog-songs-delete" ] }, + { + "group": "Fans & Segments", + "pages": [ + "api-reference/segment/fans", + "api-reference/fans/get" + ] + }, { "group": "Tasks", "pages": [ From f22d3cb95ceb3e5e2e073e300da64ac1936702ad Mon Sep 17 00:00:00 2001 From: Sweets Sweetman Date: Sun, 5 Apr 2026 19:55:46 -0500 Subject: [PATCH 13/15] make Tasks third group in Releases tab Co-Authored-By: Claude Opus 4.6 (1M context) --- docs.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs.json b/docs.json index e25cb71..c4113a0 100644 --- a/docs.json +++ b/docs.json @@ -117,13 +117,6 @@ "api-reference/songs/catalog-songs-delete" ] }, - { - "group": "Fans & Segments", - "pages": [ - "api-reference/segment/fans", - "api-reference/fans/get" - ] - }, { "group": "Tasks", "pages": [ @@ -133,6 +126,13 @@ "api-reference/tasks/delete", "api-reference/tasks/runs" ] + }, + { + "group": "Fans & Segments", + "pages": [ + "api-reference/segment/fans", + "api-reference/fans/get" + ] } ] }, From 5350339e841e64ef158227459cafb80191d8ebd8 Mon Sep 17 00:00:00 2001 From: Sweets Sweetman Date: Sun, 5 Apr 2026 19:56:23 -0500 Subject: [PATCH 14/15] rename Guides tab to Quickstart Co-Authored-By: Claude Opus 4.6 (1M context) --- docs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs.json b/docs.json index c4113a0..119390f 100644 --- a/docs.json +++ b/docs.json @@ -11,7 +11,7 @@ "navigation": { "tabs": [ { - "tab": "Guides", + "tab": "Quickstart", "groups": [ { "group": "Getting started", From f1a9dc60c17749d4907217a17c9c4d70a615f77c Mon Sep 17 00:00:00 2001 From: Sweets Sweetman Date: Sun, 5 Apr 2026 19:57:50 -0500 Subject: [PATCH 15/15] update base URL to recoup-api.vercel.app on index and quickstart Co-Authored-By: Claude Opus 4.6 (1M context) --- index.mdx | 6 +++--- quickstart.mdx | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/index.mdx b/index.mdx index a4bca8d..7d6fef4 100644 --- a/index.mdx +++ b/index.mdx @@ -18,7 +18,7 @@ This is where record labels, musicians, and managers start to build on Recoup AI All API requests should be made to: ```bash -https://api.recoupable.com/api +https://recoup-api.vercel.app/api ``` ## Authentication @@ -30,7 +30,7 @@ All API endpoints are authenticated using an API key passed in the `x-api-key` h 3. Create a new API key and copy it immediately (it's only shown once) ```bash -curl -X GET "https://api.recoupable.com/api/artists?accountId=YOUR_ACCOUNT_ID" \ +curl -X GET "https://recoup-api.vercel.app/api/artists?accountId=YOUR_ACCOUNT_ID" \ -H "Content-Type: application/json" \ -H "x-api-key: YOUR_API_KEY" ``` @@ -152,7 +152,7 @@ If you are an LLM navigating these docs, here is a summary of the endpoint struc - **`/api/sandboxes/*`** — Sandboxes (list, create, snapshot, delete, setup, file, upload) - **`/api/content-agent/*`** — Content agent webhooks (webhook, callback) -Base URL: `https://api.recoupable.com/api` +Base URL: `https://recoup-api.vercel.app/api` [OpenAPI Specification](https://github.com/sweetmantech/docs/blob/main/api-reference/openapi.json) diff --git a/quickstart.mdx b/quickstart.mdx index cc7e37b..90ac94c 100644 --- a/quickstart.mdx +++ b/quickstart.mdx @@ -8,7 +8,7 @@ description: "Get your API key and make your first request to the Recoup API." All API requests should be made to: ```bash -https://api.recoupable.com/api +https://recoup-api.vercel.app/api ``` ## API Keys @@ -37,7 +37,7 @@ Once you have your API key, include it in the `x-api-key` header for all authent ```bash cURL -curl -X GET "https://api.recoupable.com/api/tasks" \ +curl -X GET "https://recoup-api.vercel.app/api/tasks" \ -H "Content-Type: application/json" \ -H "x-api-key: YOUR_API_KEY" ``` @@ -51,14 +51,14 @@ headers = { } response = requests.get( - "https://api.recoupable.com/api/tasks", + "https://recoup-api.vercel.app/api/tasks", headers=headers ) print(response.json()) ``` ```javascript JavaScript -const response = await fetch("https://api.recoupable.com/api/tasks", { +const response = await fetch("https://recoup-api.vercel.app/api/tasks", { headers: { "Content-Type": "application/json", "x-api-key": "YOUR_API_KEY", @@ -84,7 +84,7 @@ interface TasksResponse { tasks: Task[]; } -const response = await fetch("https://api.recoupable.com/api/tasks", { +const response = await fetch("https://recoup-api.vercel.app/api/tasks", { headers: { "Content-Type": "application/json", "x-api-key": "YOUR_API_KEY",