{"openapi":"3.1.0","info":{"title":"Tyk Cloud (BYOK) API","version":"0.1.0","description":"Tyk Cloud (BYOK) lets an AI assistant read your own Tyk Cloud data through the Tyk Cloud API with a key you supply (Tyk Dashboard API access credentials (from your Dashboard user profile)). Read-only: 8 tools (list_apis, get_api, list_api_versions, list_api_categories, list_policies, list_certificates, list_governance_rulesets, get_api_compliance). The BYOK key travels with each request, is used...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-tyk.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-tyk/docs"},"termsOfService":"https://connectorbay.com/byok-tyk/terms"},"servers":[{"url":"https://byok-tyk.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-tyk/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/list_apis":{"post":{"operationId":"list_apis","summary":"List API definitions (classic and OAS) with id, name, active flag, authentication mode, listen path, categories and gove","description":"List API definitions (classic and OAS) with id, name, active flag, authentication mode, listen path, categories and governance compliance status. Upstream target URLs are not returned. Use for \"Which APIs are defined in my Tyk dashboard\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tenant":{"description":"Your Tyk Cloud dashboard host label: the part before .cloud.tyk.io in the address you sign in at (acme for acme.cloud.tyk.io).","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Tenant","type":"string"},"p":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"P"},"q":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only APIs whose name matches this text.","title":"Q"},"api_type":{"anyOf":[{"enum":["rest","graphql","udg","subgraph","supergraph","tcp","internal"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this API type.","title":"Api Type"},"category":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only APIs in these categories (comma separated).","title":"Category"},"compliance_status":{"anyOf":[{"enum":["compliant","non_compliant","in_process","not_evaluated"],"type":"string"},{"type":"null"}],"default":null,"description":"Only APIs with this governance status.","title":"Compliance Status"},"sort":{"anyOf":[{"enum":["name","-name","created_at","-created_at","updated_at","-updated_at"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort order.","title":"Sort"}},"required":["tenant"],"title":"list_apisArguments","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_api":{"post":{"operationId":"get_api","summary":"Get one API definition by id with name, slug, active flag, authentication mode, listen path, categories, compliance stat","description":"Get one API definition by id with name, slug, active flag, authentication mode, listen path, categories, compliance status and timestamps. Use for \"Show Tyk API a1b2c3d4e5f6\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tenant":{"description":"Your Tyk Cloud dashboard host label: the part before .cloud.tyk.io in the address you sign in at (acme for acme.cloud.tyk.io).","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Tenant","type":"string"},"api_id":{"description":"API id from list_apis (api_definition.api_id).","maxLength":80,"title":"Api Id","type":"string"}},"required":["tenant","api_id"],"title":"get_apiArguments","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_api_versions":{"post":{"operationId":"list_api_versions","summary":"List the versions of one OAS API with name, version name, whether it is the default and whether it is internal, plus exp","description":"List the versions of one OAS API with name, version name, whether it is the default and whether it is internal, plus expiry date. Use for \"Which versions does Tyk API a1b2c3d4e5f6 have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tenant":{"description":"Your Tyk Cloud dashboard host label: the part before .cloud.tyk.io in the address you sign in at (acme for acme.cloud.tyk.io).","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Tenant","type":"string"},"api_id":{"description":"OAS API id from list_apis.","maxLength":80,"title":"Api Id","type":"string"},"search_text":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only versions whose name contains this text.","title":"Search Text"},"access_type":{"anyOf":[{"enum":["internal","external"],"type":"string"},{"type":"null"}],"default":null,"description":"Only internal or external versions.","title":"Access Type"}},"required":["tenant","api_id"],"title":"list_api_versionsArguments","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_api_categories":{"post":{"operationId":"list_api_categories","summary":"List API categories with the number of APIs in each. Use for \"Which API categories exist in my Tyk dashboard\".","description":"List API categories with the number of APIs in each. Use for \"Which API categories exist in my Tyk dashboard\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tenant":{"description":"Your Tyk Cloud dashboard host label: the part before .cloud.tyk.io in the address you sign in at (acme for acme.cloud.tyk.io).","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Tenant","type":"string"}},"required":["tenant"],"title":"list_api_categoriesArguments","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_policies":{"post":{"operationId":"list_policies","summary":"List security policies with name, active flag, rate limit, quota, key expiry and tags. Access rights are not requested. ","description":"List security policies with name, active flag, rate limit, quota, key expiry and tags. Access rights are not requested. Use for \"Which Tyk policies are active and what rate limits do they set\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tenant":{"description":"Your Tyk Cloud dashboard host label: the part before .cloud.tyk.io in the address you sign in at (acme for acme.cloud.tyk.io).","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Tenant","type":"string"},"p":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"P"},"active":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Any value returns only active policies.","title":"Active"}},"required":["tenant"],"title":"list_policiesArguments","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_certificates":{"post":{"operationId":"list_certificates","summary":"List certificate metadata (id, fingerprint, validity dates, CA flag, DNS names). Private keys and certificate bodies are","description":"List certificate metadata (id, fingerprint, validity dates, CA flag, DNS names). Private keys and certificate bodies are not returned. Use for \"Which certificates in my Tyk dashboard expire soonest\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tenant":{"description":"Your Tyk Cloud dashboard host label: the part before .cloud.tyk.io in the address you sign in at (acme for acme.cloud.tyk.io).","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Tenant","type":"string"},"p":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"P"}},"required":["tenant"],"title":"list_certificatesArguments","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_governance_rulesets":{"post":{"operationId":"list_governance_rulesets","summary":"List governance rulesets with name, description, resource type, action, categories and active flag. The rule definitions","description":"List governance rulesets with name, description, resource type, action, categories and active flag. The rule definitions are not returned. Use for \"Which governance rulesets are active in Tyk\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tenant":{"description":"Your Tyk Cloud dashboard host label: the part before .cloud.tyk.io in the address you sign in at (acme for acme.cloud.tyk.io).","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Tenant","type":"string"},"p":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"P"},"q":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only rulesets whose name contains this text.","title":"Q"},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for active rulesets only, false for inactive only.","title":"Active"},"resource_type":{"anyOf":[{"enum":["oas-api","mcp-api"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this resource type.","title":"Resource Type"}},"required":["tenant"],"title":"list_governance_rulesetsArguments","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_api_compliance":{"post":{"operationId":"get_api_compliance","summary":"Get the governance compliance of one API: overall status and, per ruleset, status, error, warning, info and hint counts ","description":"Get the governance compliance of one API: overall status and, per ruleset, status, error, warning, info and hint counts and compliance level. Use for \"Is Tyk API a1b2c3d4e5f6 compliant with our governance rules\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"tenant":{"description":"Your Tyk Cloud dashboard host label: the part before .cloud.tyk.io in the address you sign in at (acme for acme.cloud.tyk.io).","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Tenant","type":"string"},"api_id":{"description":"The API's api_id from list_apis.","maxLength":80,"title":"Api Id","type":"string"}},"required":["tenant","api_id"],"title":"get_api_complianceArguments","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}}}}