{"openapi":"3.1.0","info":{"title":"CloudAMQP (BYOK) API","version":"0.1.0","description":"CloudAMQP (BYOK) lets an AI assistant read your own CloudAMQP data through the CloudAMQP API with a key you supply (CloudAMQP API key (sent as the Basic-auth password, empty username)). Read-only: 10 tools (list_instances, get_instance, list_vpcs, get_vpc, list_invoices, get_invoice, get_invoice_for_period, list_plans, list_regions, list_team_roles). The BYOK key travels with each request, is...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-cloudamqp.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-cloudamqp/docs"},"termsOfService":"https://connectorbay.com/byok-cloudamqp/terms"},"servers":[{"url":"https://byok-cloudamqp.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-cloudamqp/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_instances":{"post":{"operationId":"list_instances","summary":"List the CloudAMQP instances of the account with name, plan, region, readiness, RabbitMQ version, tags and VPC (connecti","description":"List the CloudAMQP instances of the account with name, plan, region, readiness, RabbitMQ version, tags and VPC (connection URLs and keys are not returned). Use for \"Which CloudAMQP instances do I run and in which regions\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_instancesArguments","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_instance":{"post":{"operationId":"get_instance","summary":"Get one instance: name, plan, region, readiness, RabbitMQ version, tags, VPC and external hostname (connection URL and i","description":"Get one instance: name, plan, region, readiness, RabbitMQ version, tags, VPC and external hostname (connection URL and instance key are not returned). Use for \"Is my CloudAMQP instance 12345 ready and which RabbitMQ version does it run\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Numeric id of the instance, from list_instances.","maximum":1000000000,"minimum":1,"title":"Id","type":"integer"}},"required":["id"],"title":"get_instanceArguments","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_vpcs":{"post":{"operationId":"list_vpcs","summary":"List the VPCs of the account with name, region, subnet and the instances inside. Use for \"What VPCs do I have on CloudAM","description":"List the VPCs of the account with name, region, subnet and the instances inside. Use for \"What VPCs do I have on CloudAMQP\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_vpcsArguments","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_vpc":{"post":{"operationId":"get_vpc","summary":"Get one VPC with region, subnet, tags and its instances. Use for \"Show CloudAMQP VPC 321\".","description":"Get one VPC with region, subnet, tags and its instances. Use for \"Show CloudAMQP VPC 321\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Numeric id of the VPC, from list_vpcs.","maximum":1000000000,"minimum":1,"title":"Id","type":"integer"}},"required":["id"],"title":"get_vpcArguments","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_invoices":{"post":{"operationId":"list_invoices","summary":"List invoices with period, number, paid flag, total and currency, optionally within a year-month range. Use for \"What di","description":"List invoices with period, number, paid flag, total and currency, optionally within a year-month range. Use for \"What did CloudAMQP invoice me this year\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"from_month":{"anyOf":[{"maxLength":7,"type":"string"},{"type":"null"}],"default":null,"description":"First month to include, as YYYY-MM.","title":"From Month"},"to_month":{"anyOf":[{"maxLength":7,"type":"string"},{"type":"null"}],"default":null,"description":"Last month to include, as YYYY-MM.","title":"To Month"}},"title":"list_invoicesArguments","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_invoice":{"post":{"operationId":"get_invoice","summary":"Get one invoice by id with its period, total, currency and line items. Use for \"Show the line items of CloudAMQP invoice","description":"Get one invoice by id with its period, total, currency and line items. Use for \"Show the line items of CloudAMQP invoice 987\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Invoice id, from list_invoices.","maximum":1000000000,"minimum":1,"title":"Id","type":"integer"}},"required":["id"],"title":"get_invoiceArguments","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_invoice_for_period":{"post":{"operationId":"get_invoice_for_period","summary":"Get the invoice for a given year and month, including line items; use next month to see the upcoming invoice. Use for \"W","description":"Get the invoice for a given year and month, including line items; use next month to see the upcoming invoice. Use for \"What will my next CloudAMQP invoice be\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"year":{"description":"Year, for example 2026.","maximum":2100,"minimum":2010,"title":"Year","type":"integer"},"month":{"description":"Month number, 1 to 12.","maximum":12,"minimum":1,"title":"Month","type":"integer"}},"required":["year","month"],"title":"get_invoice_for_periodArguments","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_plans":{"post":{"operationId":"list_plans","summary":"List the available CloudAMQP subscription plans with price, backend software and whether the plan is shared. Use for \"Wh","description":"List the available CloudAMQP subscription plans with price, backend software and whether the plan is shared. Use for \"Which CloudAMQP plans exist and what do they cost\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"backend":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only plans of this backend, for example rabbitmq.","title":"Backend"}},"title":"list_plansArguments","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_regions":{"post":{"operationId":"list_regions","summary":"List the cloud providers and regions where CloudAMQP instances can be created. Use for \"In which regions can I create a ","description":"List the cloud providers and regions where CloudAMQP instances can be created. Use for \"In which regions can I create a CloudAMQP instance\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"provider":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only regions of this provider, for example amazon-web-services.","title":"Provider"}},"title":"list_regionsArguments","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_team_roles":{"post":{"operationId":"list_team_roles","summary":"List team members of the account with id, roles and whether two-factor authentication is enabled (email addresses are no","description":"List team members of the account with id, roles and whether two-factor authentication is enabled (email addresses are not returned). Use for \"Which CloudAMQP team members have two-factor authentication\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_team_rolesArguments","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}}}}