{"openapi":"3.1.0","info":{"title":"Cloudsmith (BYOK) API","version":"0.1.0","description":"Cloudsmith (BYOK) lets an AI assistant read your own Cloudsmith data through the Cloudsmith API with a key you supply (API key). Read-only: 10 tools (get_current_user, list_organizations, list_repositories, get_repository, list_packages, get_package, list_vulnerability_scans, get_quota, list_audit_log, list_teams). The BYOK key travels with each request, is used for that one call only and is...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-cloudsmith.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-cloudsmith/docs"},"termsOfService":"https://connectorbay.com/byok-cloudsmith/terms"},"servers":[{"url":"https://byok-cloudsmith.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-cloudsmith/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_current_user":{"post":{"operationId":"get_current_user","summary":"Show the Cloudsmith user the key belongs to: name, email and slug. Use for \"Which Cloudsmith user is my API key for\".","description":"Show the Cloudsmith user the key belongs to: name, email and slug. Use for \"Which Cloudsmith user is my API key for\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_current_userArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_organizations":{"post":{"operationId":"list_organizations","summary":"List the Cloudsmith organizations the key's user is a member of. Use for \"Which Cloudsmith organizations am I part of\".","description":"List the Cloudsmith organizations the key's user is a member of. Use for \"Which Cloudsmith organizations am I part of\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"How many results per page (1 to 100).","title":"Page Size"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_organizationsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_repositories":{"post":{"operationId":"list_repositories","summary":"List the repositories of a workspace with package count, size, download count, visibility and type. Searchable by name o","description":"List the repositories of a workspace with package count, size, download count, visibility and type. Searchable by name or slug. Use for \"Which repositories does acme have on Cloudsmith and how big are they\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"owner":{"description":"Cloudsmith workspace (organization or user) slug, for example 'acme'.","maxLength":100,"title":"Owner","type":"string"},"query":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Search term for repository name or slug.","title":"Query"},"sort":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Field to sort by: created_at, downloads, favorites, name, package_count or size.","title":"Sort"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"How many results per page (1 to 100).","title":"Page Size"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"required":["owner"],"title":"list_repositoriesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_repository":{"post":{"operationId":"get_repository","summary":"Get one repository: visibility, type, package count, size, downloads, quarantine and policy-violation counts and storage","description":"Get one repository: visibility, type, package count, size, downloads, quarantine and policy-violation counts and storage region. Use for \"Show details of Cloudsmith repository acme/production\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"owner":{"description":"Cloudsmith workspace (organization or user) slug, for example 'acme'.","maxLength":100,"title":"Owner","type":"string"},"identifier":{"description":"Repository slug or slug_perm.","maxLength":100,"title":"Identifier","type":"string"}},"required":["owner","identifier"],"title":"get_repositoryArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_packages":{"post":{"operationId":"list_packages","summary":"List packages in a repository with name, version, format, status, upload time, size, downloads, quarantine flag and secu","description":"List packages in a repository with name, version, format, status, upload time, size, downloads, quarantine flag and security scan status. Supports a search query. Use for \"What packages were recently uploaded to acme/production on Cloudsmith\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"owner":{"description":"Cloudsmith workspace (organization or user) slug, for example 'acme'.","maxLength":100,"title":"Owner","type":"string"},"repo":{"description":"Repository slug within the workspace, for example 'production'.","maxLength":100,"title":"Repo","type":"string"},"query":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Search term over names, filenames, versions, distributions, formats and statuses, for example 'format:docker name:api'.","title":"Query"},"sort":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Field to sort by.","title":"Sort"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"How many results per page (1 to 100).","title":"Page Size"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"required":["owner","repo"],"title":"list_packagesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_package":{"post":{"operationId":"get_package","summary":"Get one package by its slug_perm identifier: version, format, status, size, downloads, license and scan status. Use for ","description":"Get one package by its slug_perm identifier: version, format, status, size, downloads, license and scan status. Use for \"Show Cloudsmith package AbCdEf123 in acme/production\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"owner":{"description":"Cloudsmith workspace (organization or user) slug, for example 'acme'.","maxLength":100,"title":"Owner","type":"string"},"repo":{"description":"Repository slug within the workspace, for example 'production'.","maxLength":100,"title":"Repo","type":"string"},"identifier":{"description":"The package's slug_perm identifier from list_packages.","maxLength":100,"title":"Identifier","type":"string"}},"required":["owner","repo","identifier"],"title":"get_packageArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_vulnerability_scans":{"post":{"operationId":"list_vulnerability_scans","summary":"List vulnerability scan results of a repository's packages: package, scan time and number and highest severity of vulner","description":"List vulnerability scan results of a repository's packages: package, scan time and number and highest severity of vulnerabilities. Use for \"Which packages in acme/production have vulnerabilities according to Cloudsmith\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"owner":{"description":"Cloudsmith workspace (organization or user) slug, for example 'acme'.","maxLength":100,"title":"Owner","type":"string"},"repo":{"description":"Repository slug within the workspace, for example 'production'.","maxLength":100,"title":"Repo","type":"string"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"How many results per page (1 to 100).","title":"Page Size"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"required":["owner","repo"],"title":"list_vulnerability_scansArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_quota":{"post":{"operationId":"get_quota","summary":"Show storage and bandwidth usage against plan limits for a workspace. Use for \"How much of my Cloudsmith storage and ban","description":"Show storage and bandwidth usage against plan limits for a workspace. Use for \"How much of my Cloudsmith storage and bandwidth quota have I used\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"owner":{"description":"Cloudsmith workspace (organization or user) slug, for example 'acme'.","maxLength":100,"title":"Owner","type":"string"}},"required":["owner"],"title":"get_quotaArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_audit_log":{"post":{"operationId":"list_audit_log","summary":"List audit log entries of a workspace: event, actor, object and time. Supports a search term. Use for \"What happened rec","description":"List audit log entries of a workspace: event, actor, object and time. Supports a search term. Use for \"What happened recently in the Cloudsmith audit log of acme\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"owner":{"description":"Cloudsmith workspace (organization or user) slug, for example 'acme'.","maxLength":100,"title":"Owner","type":"string"},"query":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Search term over events, actors or timestamps.","title":"Query"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"How many results per page (1 to 100).","title":"Page Size"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"required":["owner"],"title":"list_audit_logArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_teams":{"post":{"operationId":"list_teams","summary":"List the teams of an organization with name, slug and visibility. Use for \"Which teams exist in the acme Cloudsmith orga","description":"List the teams of an organization with name, slug and visibility. Use for \"Which teams exist in the acme Cloudsmith organization\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"org":{"description":"Organization slug, for example 'acme'.","maxLength":100,"title":"Org","type":"string"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"How many results per page (1 to 100).","title":"Page Size"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"required":["org"],"title":"list_teamsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}