Recoup

Get started with Recoup.

API REFERENCE

Read a release player

On this page
GET/api/players/{id}

Read settings, revision and share/embed links. MCP: get_release_player.

Authentication

x-api-key in header

bearerAuth bearer

Request

cURL
curl --request GET \
  --url 'https://api.recoupable.dev/api/players/YOUR_ID' \
  --header 'x-api-key: YOUR_API_KEY'

Replace the YOUR_ placeholders with your values. Required query parameters are included; optional parameters are listed below.

Try it

Fill in the fields, send the request from your browser, and read the live response. The curl below updates as you type.

Kept in this browser tab only and cleared when it closes.

cURL for this request
curl --request GET \
  --url 'https://recoup-api.vercel.app/api/players/{id}'

Parameters

Path parameters

idstringrequired

Query parameters

organizationIdstring | null

Responses

200PlayerResource fields returned by the release player service.

application/json

playerobjectrequired
Properties for player
idstringrequired

format: uuid

owner_idstringrequired

format: uuid

artist_idstringrequired

format: uuid

created_bystring

format: uuid

namestringrequired
spotify_urlstring | nullrequired

format: uri

apple_urlstring | nullrequired

format: uri

artworkstring | null

format: uri

allowed_originsarray<string>required
Item properties for allowed_origins

string

enabledbooleanrequired
revisionintegerrequired

minimum: 1

created_atstring

format: date-time

updated_atstring

format: date-time

free_playbackstring · enumrequired

Release-owner choice for verified Spotify Free accounts. spotify opens the configured Spotify release; audio plays a workspace-owned uploaded file. Premium continues using Spotify streaming.

Values: "spotify", "audio"

Default: "spotify"

audio_urlstring | nullrequired

MP3 or WAV URL returned by POST /api/sites/assets for the same workspace. Requires an existing audio object; arbitrary or other-workspace URLs are rejected. Required when freePlayback is audio. Uploads currently have a 4 MB limit.

format: uri

listenUrlstringrequired

format: uri

spotifyEmbedUrlstringrequired

Stable provider route. This URL is returned even when that provider is unconfigured; inspect the corresponding destination in player before displaying it.

format: uri

appleEmbedUrlstringrequired

Stable provider route. This URL is returned even when that provider is unconfigured; inspect the corresponding destination in player before displaying it.

format: uri

400Invalid input

application/json

errorstringrequired
statusstring
401Missing/invalid authentication or failed provider authorization

application/json

errorstringrequired
statusstring
403Workspace, origin, or session access denied

application/json

errorstringrequired
statusstring
404Player not available

application/json

errorstringrequired
statusstring
429Request rate limit exceeded

application/json

errorstringrequired
statusstring
503Feature/configuration temporarily unavailable

application/json

errorstringrequired
statusstring

Full specification

Download the OpenAPI file for complete schemas, constraints, and examples.

Download players.json
View operation source
json
{
  "summary": "Read a release player",
  "description": "Read settings, revision and share/embed links. MCP: get_release_player.",
  "security": [
    {
      "apiKeyAuth": []
    },
    {
      "bearerAuth": []
    }
  ],
  "parameters": [
    {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
        "type": "string",
        "format": "uuid"
      }
    },
    {
      "name": "organizationId",
      "in": "query",
      "schema": {
        "type": [
          "string",
          "null"
        ],
        "format": "uuid",
        "description": "Authorized workspace; omit for the authenticated account. Never send account_id."
      }
    }
  ],
  "responses": {
    "200": {
      "description": "PlayerResource fields returned by the release player service.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PlayerResource"
          }
        }
      }
    },
    "400": {
      "description": "Invalid input",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PlayerError"
          }
        }
      }
    },
    "401": {
      "description": "Missing/invalid authentication or failed provider authorization",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PlayerError"
          }
        }
      }
    },
    "403": {
      "description": "Workspace, origin, or session access denied",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PlayerError"
          }
        }
      }
    },
    "404": {
      "description": "Player not available",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PlayerError"
          }
        }
      }
    },
    "429": {
      "description": "Request rate limit exceeded",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PlayerError"
          }
        }
      }
    },
    "503": {
      "description": "Feature/configuration temporarily unavailable",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PlayerError"
          }
        }
      }
    }
  }
}