Recoup

Get started with Recoup.

API REFERENCE

List Professional Roster

On this page
GET/api/organizations/professionals

List organization-private songwriter/producer records. Names are discovery candidates, never identity proof. Follow next_cursor until null to inspect the complete roster. Membership is rechecked on every page; responses are private and not cached. Legacy MCP equivalent (API key or Privy token): list_professional_roster. Not exposed through delegated OAuth MCP.

Authentication

bearerAuth bearer

x-api-key in header

Request

cURL
curl --request GET \
  --url 'https://api.recoupable.dev/api/organizations/professionals?organization_id=YOUR_ORGANIZATION_ID' \
  --header 'Authorization: Bearer YOUR_TOKEN'

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/organizations/professionals'

Parameters

Query parameters

organization_idstringrequired
afterstring

next_cursor returned by the previous page.

Responses

200Up to 100 professionals

application/json

professionalsarray<OrganizationProfessional>required
Item properties for professionals
idstringrequired

format: uuid

organization_idstringrequired

format: uuid

namestringrequired
rolesarray<string · enum>required
Item properties for roles

string · enum · "songwriter", "producer"

confirmed_bystringrequired

format: uuid

confirmation_basisstring · enumrequired

Operator assertion for this organization; not a globally verified person identity.

Values: "operator_confirmed"

created_atstringrequired

format: date-time

updated_atstringrequired

format: date-time

next_cursorstring | nullrequired

format: uuid

400Invalid organization ID or cursor

application/json

errorstring
401Authentication required

application/json

errorstring
403Organization access denied, revoked, or record outside this organization

application/json

errorstring
503Unavailable storage or invalid response; retry the same page

application/json

errorstring

Full specification

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

Download accounts.json
View operation source
json
{
  "summary": "List professional roster",
  "description": "List organization-private songwriter/producer records. Names are discovery candidates, never identity proof. Follow next_cursor until null to inspect the complete roster. Membership is rechecked on every page; responses are private and not cached. Legacy MCP equivalent (API key or Privy token): list_professional_roster. Not exposed through delegated OAuth MCP.",
  "security": [
    {
      "bearerAuth": []
    },
    {
      "apiKeyAuth": []
    }
  ],
  "parameters": [
    {
      "name": "organization_id",
      "in": "query",
      "required": true,
      "schema": {
        "type": "string",
        "format": "uuid"
      }
    },
    {
      "name": "after",
      "in": "query",
      "required": false,
      "schema": {
        "type": "string",
        "format": "uuid"
      },
      "description": "next_cursor returned by the previous page."
    }
  ],
  "responses": {
    "200": {
      "description": "Up to 100 professionals",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "professionals",
              "next_cursor"
            ],
            "properties": {
              "professionals": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationProfessional"
                }
              },
              "next_cursor": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uuid"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "Invalid organization ID or cursor",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "error": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "401": {
      "description": "Authentication required",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "error": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "403": {
      "description": "Organization access denied, revoked, or record outside this organization",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "error": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "503": {
      "description": "Unavailable storage or invalid response; retry the same page",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "error": {
                "type": "string"
              }
            }
          }
        }
      }
    }
  }
}