{"openapi":"3.1.0","info":{"title":"Astronomer (BYOK) API","version":"0.1.0","description":"Astronomer (BYOK) lets an AI assistant read your own Astronomer data through the Astronomer API with a key you supply (Astro API token (Workspace or Organization token)). Read-only: 10 tools (list_organizations, get_organization, list_workspaces, list_deployments, get_deployment, list_deploys, list_clusters, list_users, list_teams, get_current_user). 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-astronomer.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-astronomer/docs"},"termsOfService":"https://connectorbay.com/byok-astronomer/terms"},"servers":[{"url":"https://byok-astronomer.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-astronomer/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_organizations":{"post":{"operationId":"list_organizations","summary":"List the Astro Organizations the token can access with id, name, product, status and billing plan. Use for \"Which Astro ","description":"List the Astro Organizations the token can access with id, name, product, status and billing plan. Use for \"Which Astro organizations can my token see\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip (default 0).","title":"Offset"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 1000, default 20).","title":"Limit"}},"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/get_organization":{"post":{"operationId":"get_organization","summary":"Get one Organization: name, product, status, plan names and SCIM state. Use for \"Show details of my Astro organization\".","description":"Get one Organization: name, product, status, plan names and SCIM state. Use for \"Show details of my Astro organization\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Organization id (a cuid like 'clx1abc...'); list_organizations returns it.","maxLength":200,"title":"Organization Id","type":"string"}},"required":["organization_id"],"title":"get_organizationArguments","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_workspaces":{"post":{"operationId":"list_workspaces","summary":"List the Workspaces of an Organization with name, description, default cloud and region. Use for \"Which Astro workspaces","description":"List the Workspaces of an Organization with name, description, default cloud and region. Use for \"Which Astro workspaces do we have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Organization id (a cuid like 'clx1abc...'); list_organizations returns it.","maxLength":200,"title":"Organization Id","type":"string"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip (default 0).","title":"Offset"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 1000, default 20).","title":"Limit"},"names":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only the Workspace with this exact name.","title":"Names"}},"required":["organization_id"],"title":"list_workspacesArguments","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_deployments":{"post":{"operationId":"list_deployments","summary":"List Airflow Deployments of an Organization with Workspace, runtime and Airflow version, executor, cloud, region, size a","description":"List Airflow Deployments of an Organization with Workspace, runtime and Airflow version, executor, cloud, region, size and status. Environment variables are not returned. Use for \"Which Astro deployments are running and on which Airflow version\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Organization id (a cuid like 'clx1abc...'); list_organizations returns it.","maxLength":200,"title":"Organization Id","type":"string"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip (default 0).","title":"Offset"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 1000, default 20).","title":"Limit"},"workspace_id":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only Deployments of this Workspace id (one id).","title":"Workspace Id"},"names":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only the Deployment with this exact name.","title":"Names"}},"required":["organization_id"],"title":"list_deploymentsArguments","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, versions, executor, scheduler and web server sizing, URLs, and last update. Environment vari","description":"Get one Deployment: status, versions, executor, scheduler and web server sizing, URLs, and last update. Environment variables are not returned. Use for \"How is the Astro deployment prod-etl configured\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Organization id (a cuid like 'clx1abc...'); list_organizations returns it.","maxLength":200,"title":"Organization Id","type":"string"},"deployment_id":{"description":"Deployment id from list_deployments.","maxLength":200,"title":"Deployment Id","type":"string"}},"required":["organization_id","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/list_deploys":{"post":{"operationId":"list_deploys","summary":"List code deploys of a Deployment, newest first, with type, status, image tag, git commit and branch. Use for \"What were","description":"List code deploys of a Deployment, newest first, with type, status, image tag, git commit and branch. Use for \"What were the last deploys of Astro deployment prod-etl\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Organization id (a cuid like 'clx1abc...'); list_organizations returns it.","maxLength":200,"title":"Organization Id","type":"string"},"deployment_id":{"description":"Deployment id from list_deployments.","maxLength":200,"title":"Deployment Id","type":"string"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip (default 0).","title":"Offset"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 1000, default 20).","title":"Limit"}},"required":["organization_id","deployment_id"],"title":"list_deploysArguments","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_clusters":{"post":{"operationId":"list_clusters","summary":"List dedicated clusters of an Organization with cloud, region, status and health. Use for \"Which Astro clusters do we ha","description":"List dedicated clusters of an Organization with cloud, region, status and health. Use for \"Which Astro clusters do we have and are they healthy\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Organization id (a cuid like 'clx1abc...'); list_organizations returns it.","maxLength":200,"title":"Organization Id","type":"string"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip (default 0).","title":"Offset"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 1000, default 20).","title":"Limit"},"provider":{"anyOf":[{"enum":["AWS","AZURE","GCP"],"type":"string"},{"type":"null"}],"default":null,"description":"Only clusters on this cloud.","title":"Provider"}},"required":["organization_id"],"title":"list_clustersArguments","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_users":{"post":{"operationId":"list_users","summary":"List the users of an Organization (or a Workspace) with name, username, organization role and status. Use for \"Who has a","description":"List the users of an Organization (or a Workspace) with name, username, organization role and status. Use for \"Who has access to our Astro organization\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Organization id (a cuid like 'clx1abc...'); list_organizations returns it.","maxLength":200,"title":"Organization Id","type":"string"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip (default 0).","title":"Offset"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 1000, default 20).","title":"Limit"},"workspace_id":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only users of this Workspace id.","title":"Workspace Id"}},"required":["organization_id"],"title":"list_usersArguments","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, description, organization role and IdP-managed flag. Use for \"Which Astro t","description":"List the Teams of an Organization with name, description, organization role and IdP-managed flag. Use for \"Which Astro teams exist\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Organization id (a cuid like 'clx1abc...'); list_organizations returns it.","maxLength":200,"title":"Organization Id","type":"string"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip (default 0).","title":"Offset"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 1000, default 20).","title":"Limit"},"workspace_id":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only items of this Workspace id.","title":"Workspace Id"}},"required":["organization_id"],"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}},"/v1/tools/get_current_user":{"post":{"operationId":"get_current_user","summary":"Show the Astro user or token identity making the request: id, name, username, status and roles. Use for \"Who am I in Ast","description":"Show the Astro user or token identity making the request: id, name, username, status and roles. Use for \"Who am I in Astro\".","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}}}}