Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 27 additions & 17 deletions api-reference/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -433,36 +433,26 @@
},
"/api/artists": {
"get": {
"description": "Retrieve artists accessible to an account. Supports filtering by organization or showing only personal (non-organization) artists.",
"description": "Retrieve artists accessible to the authenticated account. Requires an API key via x-api-key header or Authorization bearer token.\n\nFor personal API keys: Returns only the key owner's personal artists (not in any organization). The account_id parameter cannot be used.\n\nFor organization API keys: With no filters, returns the key owner's personal artists. Use organization_id to get that organization's artists. Use account_id to filter to a specific member's artists.\n\nFor Recoup admin keys: Same behavior, but account_id can target any account.",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Align the security scheme with the bearer-token wording.

The description says bearer tokens are supported, but this operation doesn’t declare bearerAuth, so generated docs/clients will only show x-api-key. Either add the security block or update the description/401 text to API key only.

🔧 Suggested OpenAPI update
       "get": {
         "description": "Retrieve artists accessible to the authenticated account. Requires an API key via x-api-key header or Authorization bearer token.\n\nFor personal API keys: Returns only the key owner's personal artists (not in any organization). The account_id parameter cannot be used.\n\nFor organization API keys: With no filters, returns the key owner's personal artists. Use organization_id to get that organization's artists. Use account_id to filter to a specific member's artists.\n\nFor Recoup admin keys: Same behavior, but account_id can target any account.",
+        "security": [
+          { "apiKeyAuth": [] },
+          { "bearerAuth": [] }
+        ],
         "parameters": [
           {
             "name": "account_id",
@@
-          "401": {
-            "description": "Unauthorized - invalid or missing API key",
+          "401": {
+            "description": "Unauthorized - invalid or missing credentials",

Also applies to: 480-482

"parameters": [
{
"name": "accountId",
"in": "query",
"description": "The account ID (required)",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "orgId",
"name": "account_id",
"in": "query",
"description": "Filter to artists in a specific organization",
"description": "Filter to a specific account. Only applicable for organization API keys (filters to a member of the organization) or Recoup admin keys (can target any account). Personal API keys cannot use this parameter.",
"required": false,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "personal",
"name": "organization_id",
"in": "query",
"description": "Set to \"true\" to show only personal (non-org) artists",
"description": "Filter to artists in a specific organization. When omitted, returns only personal (non-organization) artists.",
"required": false,
"schema": {
"type": "string",
"enum": ["true"]
"format": "uuid"
}
}
],
Expand All @@ -478,14 +468,34 @@
}
},
"400": {
"description": "Bad request - missing required parameters",
"description": "Bad request - invalid query parameters",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ArtistsErrorResponse"
}
}
}
},
"401": {
"description": "Unauthorized - invalid or missing API key",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"403": {
"description": "Forbidden - account_id is not a member of the organization or personal key tried to filter by account_id",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
Expand Down