{"openapi":"3.1.0","info":{"title":"Flightcontrol (BYOK) API","version":"0.1.0","description":"Flightcontrol (BYOK) lets an AI assistant read your own Flightcontrol data through the Flightcontrol API with a key you supply (Flightcontrol API key). Read-only: 11 tools (list_projects, get_aws_account, list_services, get_service, get_service_scaling, get_deployment, get_job_execution, list_service_domain_groups, get_domain_group, list_group_domains, get_domain). The BYOK key travels with each...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-flightcontrol.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-flightcontrol/docs"},"termsOfService":"https://connectorbay.com/byok-flightcontrol/terms"},"servers":[{"url":"https://byok-flightcontrol.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-flightcontrol/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_projects":{"post":{"operationId":"list_projects","summary":"List all projects owned by the team: id, name and the linked Git repository URL. Use for \"Which projects exist in my Fli","description":"List all projects owned by the team: id, name and the linked Git repository URL. Use for \"Which projects exist in my Flightcontrol account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_projectsArguments","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_aws_account":{"post":{"operationId":"get_aws_account","summary":"Get one connected AWS account: Flightcontrol id, your own given id, the 12-digit AWS account number, display name and co","description":"Get one connected AWS account: Flightcontrol id, your own given id, the 12-digit AWS account number, display name and connection status. Use for \"Is my AWS account connected to Flightcontrol\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"aws_account_id":{"description":"Flightcontrol id of the AWS account connection.","maxLength":60,"title":"Aws Account Id","type":"string"}},"required":["aws_account_id"],"title":"get_aws_accountArguments","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_services":{"post":{"operationId":"list_services","summary":"List services (web, worker, database, cache and so on) with project and environment ids, filtered by project, environmen","description":"List services (web, worker, database, cache and so on) with project and environment ids, filtered by project, environment or type. Paged with skip and take. Use for \"List the web services in my Flightcontrol project\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"skip":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many records to skip (0-based offset).","title":"Skip"},"take":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many records to return (1 to 100).","title":"Take"},"project_id":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only services of this project id.","title":"Project Id"},"environment_id":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only services of this environment id.","title":"Environment Id"},"type":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only services of this type, for example web, worker or rds.","title":"Type"},"environment_type":{"anyOf":[{"enum":["preview","standard"],"type":"string"},{"type":"null"}],"default":null,"description":"preview for preview-environment services, standard for the others.","title":"Environment Type"}},"title":"list_servicesArguments","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_service":{"post":{"operationId":"get_service","summary":"Get one service by id: name, type, project, environment and where its runtime logs live (CloudWatch log group). Use for ","description":"Get one service by id: name, type, project, environment and where its runtime logs live (CloudWatch log group). Use for \"Where are the logs of my Flightcontrol web service\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"service_id":{"description":"Flightcontrol service id (the id field from list_services).","maxLength":60,"title":"Service Id","type":"string"}},"required":["service_id"],"title":"get_serviceArguments","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_service_scaling":{"post":{"operationId":"get_service_scaling","summary":"Get a service's current, desired, running and pending instance counts and its autoscaling minimum and maximum. Use for \"","description":"Get a service's current, desired, running and pending instance counts and its autoscaling minimum and maximum. Use for \"How many instances is my Flightcontrol service running\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"service_id":{"description":"Flightcontrol service id (the id field from list_services).","maxLength":60,"title":"Service Id","type":"string"}},"required":["service_id"],"title":"get_service_scalingArguments","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_deployment":{"post":{"operationId":"get_deployment","summary":"Get one deployment: status, Git branch and commit, environment, and the status of each service deployment inside it. Use","description":"Get one deployment: status, Git branch and commit, environment, and the status of each service deployment inside it. Use for \"What is the status of Flightcontrol deployment clcpcxekt000lc9ojqtgtc26y\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"deployment_id":{"description":"Deployment id returned when a deployment was created or shown in the dashboard.","maxLength":60,"title":"Deployment Id","type":"string"}},"required":["deployment_id"],"title":"get_deploymentArguments","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_job_execution":{"post":{"operationId":"get_job_execution","summary":"Get the status of one scheduled-job execution: status, start, finish time, exit code and error. Use for \"Did Flightcontr","description":"Get the status of one scheduled-job execution: status, start, finish time, exit code and error. Use for \"Did Flightcontrol job execution cl2kx7acm00003f6gobvidq2i finish\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"execution_id":{"description":"Job execution id.","maxLength":60,"title":"Execution Id","type":"string"}},"required":["execution_id"],"title":"get_job_executionArguments","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_service_domain_groups":{"post":{"operationId":"list_service_domain_groups","summary":"List the custom-domain certificate groups of a service with status, CloudFront distribution id and certificate status. U","description":"List the custom-domain certificate groups of a service with status, CloudFront distribution id and certificate status. Use for \"Which domain groups does my Flightcontrol service have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"service_id":{"description":"Flightcontrol service id (the id field from list_services).","maxLength":60,"title":"Service Id","type":"string"}},"required":["service_id"],"title":"list_service_domain_groupsArguments","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_domain_group":{"post":{"operationId":"get_domain_group","summary":"Get one domain certificate group: status, CloudFront distribution id and certificate status. Use for \"What is the status","description":"Get one domain certificate group: status, CloudFront distribution id and certificate status. Use for \"What is the status of my Flightcontrol domain group\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain_group_id":{"description":"Domain certificate group id (from list_service_domain_groups).","maxLength":60,"title":"Domain Group Id","type":"string"}},"required":["domain_group_id"],"title":"get_domain_groupArguments","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_group_domains":{"post":{"operationId":"list_group_domains","summary":"List the domains attached to a certificate group with attachment status, type and the DNS records to create. Use for \"Wh","description":"List the domains attached to a certificate group with attachment status, type and the DNS records to create. Use for \"Which DNS records does Flightcontrol still need for my domains\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain_group_id":{"description":"Domain certificate group id (from list_service_domain_groups).","maxLength":60,"title":"Domain Group Id","type":"string"},"skip":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many records to skip (0-based offset).","title":"Skip"},"take":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many records to return (1 to 100).","title":"Take"}},"required":["domain_group_id"],"title":"list_group_domainsArguments","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_domain":{"post":{"operationId":"get_domain","summary":"Get one domain: attachment status, type and DNS records with their propagation status. Use for \"Is the domain www.exampl","description":"Get one domain: attachment status, type and DNS records with their propagation status. Use for \"Is the domain www.example.com attached in Flightcontrol\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain_id":{"description":"Domain id (from list_group_domains).","maxLength":60,"title":"Domain Id","type":"string"}},"required":["domain_id"],"title":"get_domainArguments","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}}}}