Recoup

Get started with Recoup.

API REFERENCE

List release players

On this page
GET/api/players

List up to 100 players in the authenticated workspace. MCP: list_release_player.

Authentication

x-api-key in header

bearerAuth bearer

Request

cURL
curl --request GET \
  --url 'https://api.recoupable.dev/api/players' \
  --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'

Parameters

Query parameters

organizationIdstring | null
offsetinteger

Default: 0

limitinteger

Default: 50

Responses

200PlayerList fields returned by the release player service.

application/json

playersarray<ReleasePlayer>required
Item properties for players
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

offsetinteger
limitinteger
nextOffsetinteger | null

Use as offset for the next page; null marks the end.

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": "List release players",
  "description": "List up to 100 players in the authenticated workspace. MCP: list_release_player.",
  "security": [
    {
      "apiKeyAuth": []
    },
    {
      "bearerAuth": []
    }
  ],
  "parameters": [
    {
      "name": "organizationId",
      "in": "query",
      "schema": {
        "type": [
          "string",
          "null"
        ],
        "format": "uuid",
        "description": "Authorized workspace; omit for the authenticated account. Never send account_id."
      }
    },
    {
      "name": "offset",
      "in": "query",
      "schema": {
        "type": "integer",
        "minimum": 0,
        "maximum": 100000,
        "default": 0
      }
    },
    {
      "name": "limit",
      "in": "query",
      "schema": {
        "type": "integer",
        "minimum": 1,
        "maximum": 100,
        "default": 50
      }
    }
  ],
  "responses": {
    "200": {
      "description": "PlayerList fields returned by the release player service.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PlayerList"
          }
        }
      }
    },
    "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"
          }
        }
      }
    }
  }
}