From d660aace87233a75580e762bcc61c0c26388ee04 Mon Sep 17 00:00:00 2001 From: Arpit Gupta Date: Fri, 17 Apr 2026 03:25:58 +0530 Subject: [PATCH 1/2] chore: remove dead segments surface from docs Deletes the three segments-related reference pages and their OpenAPI definitions. The feature is being removed from chat and api entirely; the earlier migration plan is abandoned. Part of SEGMENTS_SURFACE_REMOVAL_PLAN.md. Co-Authored-By: Claude Opus 4.6 --- api-reference/artist/segments.mdx | 4 - api-reference/chat/segment.mdx | 4 - api-reference/openapi/releases.json | 353 ---------------------------- api-reference/openapi/research.json | 115 +-------- api-reference/segment/fans.mdx | 4 - docs.json | 3 - index.mdx | 4 +- quickstart.mdx | 2 +- 8 files changed, 4 insertions(+), 485 deletions(-) delete mode 100644 api-reference/artist/segments.mdx delete mode 100644 api-reference/chat/segment.mdx delete mode 100644 api-reference/segment/fans.mdx diff --git a/api-reference/artist/segments.mdx b/api-reference/artist/segments.mdx deleted file mode 100644 index cad734b..0000000 --- a/api-reference/artist/segments.mdx +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Get Artist Segments -openapi: "/api-reference/openapi/releases.json GET /api/artist/segments" ---- diff --git a/api-reference/chat/segment.mdx b/api-reference/chat/segment.mdx deleted file mode 100644 index d957752..0000000 --- a/api-reference/chat/segment.mdx +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: "Get Chat Segment" -openapi: "/api-reference/openapi/research.json GET /api/chats/{id}/segment" ---- diff --git a/api-reference/openapi/releases.json b/api-reference/openapi/releases.json index a40b3cd..a1ba6e7 100644 --- a/api-reference/openapi/releases.json +++ b/api-reference/openapi/releases.json @@ -566,66 +566,6 @@ } } }, - "/api/artist/segments": { - "get": { - "description": "Retrieve all segments associated with an artist. This endpoint should be called before using the Segment Fans endpoint to obtain the necessary segment IDs. Supports pagination.", - "parameters": [ - { - "name": "artist_account_id", - "in": "query", - "description": "The unique identifier of the artist account to fetch segments for", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - }, - { - "name": "page", - "in": "query", - "description": "The page number to retrieve (default: 1)", - "required": false, - "schema": { - "type": "integer", - "default": 1 - } - }, - { - "name": "limit", - "in": "query", - "description": "The number of records per page (default: 20, max: 100)", - "required": false, - "schema": { - "type": "integer", - "default": 20, - "maximum": 100 - } - } - ], - "responses": { - "200": { - "description": "Segments retrieved successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ArtistSegmentsResponse" - } - } - } - }, - "400": { - "description": "Bad request - missing required parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ArtistSegmentsErrorResponse" - } - } - } - } - } - } - }, "/api/artist/socials": { "get": { "description": "Retrieve all social media profiles associated with an artist. This endpoint should be called before using the Social Posts endpoint to obtain the necessary social IDs.", @@ -742,71 +682,6 @@ } } }, - "/api/segment/fans": { - "get": { - "servers": [ - { - "url": "https://api.recoupable.com" - } - ], - "description": "Retrieve all social profiles from fans within a specific segment. This endpoint should be called after obtaining segment IDs from the Artist Segments endpoint. Supports pagination for large fan lists.", - "parameters": [ - { - "name": "segment_id", - "in": "query", - "description": "The unique identifier of the segment to fetch fans for", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - }, - { - "name": "page", - "in": "query", - "description": "The page number to retrieve (default: 1)", - "required": false, - "schema": { - "type": "integer", - "default": 1 - } - }, - { - "name": "limit", - "in": "query", - "description": "The number of records per page (default: 20, max: 100)", - "required": false, - "schema": { - "type": "integer", - "default": 20, - "maximum": 100 - } - } - ], - "responses": { - "200": { - "description": "Segment fans retrieved successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SegmentFansResponse" - } - } - } - }, - "400": { - "description": "Bad request - missing required parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SegmentFansErrorResponse" - } - } - } - } - } - } - }, "/api/fans": { "get": { "servers": [ @@ -1770,108 +1645,6 @@ } } }, - "ArtistSegment": { - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uuid", - "description": "UUID of the artist_segments record" - }, - "artist_account_id": { - "type": "string", - "format": "uuid", - "description": "UUID of the artist's accounts record" - }, - "segment_id": { - "type": "string", - "format": "uuid", - "description": "UUID of the segments record" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "description": "ISO timestamp of when the segment data was last updated" - }, - "segment_name": { - "type": "string", - "description": "Name of the segment (e.g., 'Twitter Followers')" - }, - "artist_name": { - "type": "string", - "description": "Name of the artist" - } - } - }, - "ArtistSegmentsErrorResponse": { - "type": "object", - "required": [ - "status", - "message" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "error" - ], - "description": "Status of the request" - }, - "message": { - "type": "string", - "description": "Error message describing what went wrong" - } - } - }, - "ArtistSegmentsPagination": { - "type": "object", - "properties": { - "total_count": { - "type": "integer", - "description": "Total number of segments available" - }, - "page": { - "type": "integer", - "description": "Current page number" - }, - "limit": { - "type": "integer", - "description": "Number of segments per page" - }, - "total_pages": { - "type": "integer", - "description": "Total number of pages available" - } - } - }, - "ArtistSegmentsResponse": { - "type": "object", - "required": [ - "status", - "segments", - "pagination" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "success" - ], - "description": "Status of the request" - }, - "segments": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ArtistSegment" - }, - "description": "List of segment objects associated with the artist" - }, - "pagination": { - "$ref": "#/components/schemas/ArtistSegmentsPagination", - "description": "Pagination metadata for the response" - } - } - }, "ArtistSocial": { "type": "object", "properties": { @@ -2682,132 +2455,6 @@ } } }, - "SegmentFan": { - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uuid", - "description": "Unique identifier for the fan_segments record" - }, - "username": { - "type": "string", - "description": "Username or handle on the platform" - }, - "avatar": { - "type": "string", - "description": "URL to the fan's avatar/profile image" - }, - "profile_url": { - "type": "string", - "description": "Full URL to the fan's profile on the platform" - }, - "segment_id": { - "type": "string", - "format": "uuid", - "description": "UUID of the fan's segments record" - }, - "segment_name": { - "type": "string", - "description": "Name of the segment (e.g., 'Twitter Followers')" - }, - "fan_social_id": { - "type": "string", - "format": "uuid", - "description": "UUID of the fan's socials media profile account" - }, - "region": { - "type": "string", - "description": "Geographic region or location of the fan" - }, - "bio": { - "type": "string", - "description": "Fan's biography or profile description" - }, - "follower_count": { - "type": "integer", - "description": "Number of followers the fan has" - }, - "following_count": { - "type": "integer", - "description": "Number of accounts the fan is following" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "description": "ISO timestamp of when the fan data was last updated" - } - } - }, - "SegmentFansErrorResponse": { - "type": "object", - "required": [ - "status", - "error" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "error" - ], - "description": "Status of the request" - }, - "error": { - "type": "string", - "description": "Error message describing what went wrong" - } - } - }, - "SegmentFansPagination": { - "type": "object", - "properties": { - "total_count": { - "type": "integer", - "description": "Total number of records available" - }, - "page": { - "type": "integer", - "description": "Current page number" - }, - "limit": { - "type": "integer", - "description": "Number of records per page" - }, - "total_pages": { - "type": "integer", - "description": "Total number of pages available" - } - } - }, - "SegmentFansResponse": { - "type": "object", - "required": [ - "status", - "fans", - "pagination" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "success" - ], - "description": "Status of the request" - }, - "fans": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SegmentFan" - }, - "description": "List of social profiles from fans in the segment" - }, - "pagination": { - "$ref": "#/components/schemas/SegmentFansPagination", - "description": "Pagination metadata for the response" - } - } - }, "SocialProfile": { "type": "object", "properties": { diff --git a/api-reference/openapi/research.json b/api-reference/openapi/research.json index 4ce11b7..5a29224 100644 --- a/api-reference/openapi/research.json +++ b/api-reference/openapi/research.json @@ -195,7 +195,7 @@ } }, "delete": { - "description": "Delete a chat room by ID. This operation also removes related room records (memory emails, memories, room-report links, and segment-room links) before deleting the room itself.", + "description": "Delete a chat room by ID. This operation also removes related room records (memory emails, memories) before deleting the room itself.", "requestBody": { "description": "Chat deletion parameters", "required": true, @@ -330,65 +330,6 @@ } } }, - "/api/chats/{id}/segment": { - "get": { - "description": "Retrieve the segment associated with a specific chat room. Returns 404 if the chat does not exist or is not accessible by the authenticated caller.", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The unique identifier (UUID) of the chat room.", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "responses": { - "200": { - "description": "Chat segment resolved successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetChatSegmentResponse" - } - } - } - }, - "400": { - "description": "Bad request - invalid chat id", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetChatSegmentErrorResponse" - } - } - } - }, - "401": { - "description": "Unauthorized - invalid or missing credentials", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, - "404": { - "description": "Not found - chat does not exist or is not accessible", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetChatSegmentErrorResponse" - } - } - } - } - } - } - }, "/api/chats/{id}/messages": { "get": { "description": "Retrieve all messages (memories) for a specific chat room in chronological order.", @@ -3639,60 +3580,6 @@ } } }, - "GetChatSegmentErrorResponse": { - "type": "object", - "required": [ - "status", - "error" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "error" - ], - "description": "Status of the request" - }, - "error": { - "type": "string", - "description": "Error message describing what went wrong" - } - } - }, - "GetChatSegmentResponse": { - "type": "object", - "required": [ - "status", - "room_id", - "segment_id", - "segment_exists" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "success" - ], - "description": "Status of the request", - "example": "success" - }, - "room_id": { - "type": "string", - "format": "uuid", - "description": "UUID of the chat room" - }, - "segment_id": { - "type": "string", - "format": "uuid", - "nullable": true, - "description": "UUID of the segment associated with the chat, or null when no segment is linked" - }, - "segment_exists": { - "type": "boolean", - "description": "Whether a segment is linked to the chat room" - } - } - }, "GetChatsErrorResponse": { "type": "object", "required": [ diff --git a/api-reference/segment/fans.mdx b/api-reference/segment/fans.mdx deleted file mode 100644 index d0bca41..0000000 --- a/api-reference/segment/fans.mdx +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Get Segment Fans -openapi: "/api-reference/openapi/releases.json GET /api/segment/fans" ---- diff --git a/docs.json b/docs.json index 2b50c59..8f7e45f 100644 --- a/docs.json +++ b/docs.json @@ -43,7 +43,6 @@ "api-reference/artists/pin", "api-reference/artists/unpin", "api-reference/artists/delete", - "api-reference/artist/segments", "api-reference/artist/socials", "api-reference/artist/socials-scrape", "api-reference/artist/profile" @@ -71,7 +70,6 @@ "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", @@ -170,7 +168,6 @@ { "group": "Fans & Segments", "pages": [ - "api-reference/segment/fans", "api-reference/fans/get" ] } diff --git a/index.mdx b/index.mdx index 62bb714..e2e5cbf 100644 --- a/index.mdx +++ b/index.mdx @@ -156,10 +156,10 @@ The API is organized into six main sections. Use these links to jump to the righ If you are an LLM navigating these docs, here is a summary of the endpoint structure: -- **`/api/artists/*`** — Artist management (list, create, segments, socials, socials-scrape, profile) +- **`/api/artists/*`** — Artist management (list, create, socials, socials-scrape, profile) - **`/api/research/*`** — Artist research (search, lookup, profile, metrics, audience, cities, similar, urls, instagram-posts, playlists, albums, track, 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/chat/*`** — Chat (chats, artist, messages, messages-copy, messages-trailing-delete, create, update, delete, generate, stream, compact) - **`/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) diff --git a/quickstart.mdx b/quickstart.mdx index 95dd61b..29092dd 100644 --- a/quickstart.mdx +++ b/quickstart.mdx @@ -145,7 +145,7 @@ With your API key ready, you can now: icon="user" href="/api-reference/artist/profile" > - Fetch artist profiles, social accounts, and segments. + Fetch artist profiles and social accounts. Date: Fri, 17 Apr 2026 03:29:33 +0530 Subject: [PATCH 2/2] chore: rename Fans & Segments nav group to Fans Segments pages are removed from the group; rename to reflect the remaining content. Co-Authored-By: Claude Opus 4.6 --- docs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs.json b/docs.json index 8f7e45f..f9ddd4f 100644 --- a/docs.json +++ b/docs.json @@ -166,7 +166,7 @@ ] }, { - "group": "Fans & Segments", + "group": "Fans", "pages": [ "api-reference/fans/get" ]