{"openapi":"3.1.0","info":{"title":"HCP Terraform Organization (BYOK) API","version":"0.1.0","description":"HCP Terraform Organization (BYOK) lets an AI assistant read your own HCP Terraform Organization data through the HCP Terraform Organization API with a key you supply (user, team or organization API token). Read-only: 10 tools (list_teams, get_team, list_variable_sets, get_variable_set, list_project_variable_sets, list_workspace_variable_sets, list_agent_pools, get_agent_pool, list_pool_agents,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-hcp-terraform-organization.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-hcp-terraform-organization/docs"},"termsOfService":"https://connectorbay.com/byok-hcp-terraform-organization/terms"},"servers":[{"url":"https://byok-hcp-terraform-organization.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-hcp-terraform-organization/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_teams":{"post":{"operationId":"list_teams","summary":"List an organization's teams with member count, visibility and organization-level access flags. Member names and emails ","description":"List an organization's teams with member count, visibility and organization-level access flags. Member names and emails are not returned. Use for \"What teams exist in my HCP Terraform organization\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization":{"description":"HCP Terraform organization name, as returned by list_organizations in the HCP Terraform connector.","maxLength":100,"title":"Organization","type":"string"},"names":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only teams with these comma-separated names.","title":"Names"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Items per page (1 to 100, default 20).","title":"Page Size"},"page_number":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page Number"}},"required":["organization"],"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_team":{"post":{"operationId":"get_team","summary":"Get one team: member count, visibility and organization access flags. Use for \"Show HCP Terraform team team-6p5jTwJQXwqZ","description":"Get one team: member count, visibility and organization access flags. Use for \"Show HCP Terraform team team-6p5jTwJQXwqZBncC\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team_id":{"description":"Team id (team-...), as returned by list_teams.","maxLength":60,"title":"Team Id","type":"string"}},"required":["team_id"],"title":"get_teamArguments","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_variable_sets":{"post":{"operationId":"list_variable_sets","summary":"List an organization's variable sets with description, global and priority flags and how many variables, workspaces and ","description":"List an organization's variable sets with description, global and priority flags and how many variables, workspaces and projects each has. Variable values are not requested. Use for \"Which variable sets does my HCP Terraform organization have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization":{"description":"HCP Terraform organization name, as returned by list_organizations in the HCP Terraform connector.","maxLength":100,"title":"Organization","type":"string"},"query":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only variable sets whose name matches this text.","title":"Query"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Items per page (1 to 100, default 20).","title":"Page Size"},"page_number":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page Number"}},"required":["organization"],"title":"list_variable_setsArguments","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_variable_set":{"post":{"operationId":"get_variable_set","summary":"Get one variable set: description, global and priority flags and counts of variables, workspaces and projects. Variable ","description":"Get one variable set: description, global and priority flags and counts of variables, workspaces and projects. Variable values are not requested. Use for \"Show HCP Terraform variable set varset-4q8gtaWLvzLqHA2D\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"varset_id":{"description":"Variable set id (varset-...), as returned by list_variable_sets.","maxLength":60,"title":"Varset Id","type":"string"}},"required":["varset_id"],"title":"get_variable_setArguments","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_project_variable_sets":{"post":{"operationId":"list_project_variable_sets","summary":"List the variable sets applied to one project. Use for \"Which variable sets apply to HCP Terraform project prj-AwfuCJTkd","description":"List the variable sets applied to one project. Use for \"Which variable sets apply to HCP Terraform project prj-AwfuCJTkdai4xj9w\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Project id (prj-...), as returned by list_projects in the HCP Terraform connector.","maxLength":60,"title":"Project Id","type":"string"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Items per page (1 to 100, default 20).","title":"Page Size"},"page_number":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page Number"}},"required":["project_id"],"title":"list_project_variable_setsArguments","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_workspace_variable_sets":{"post":{"operationId":"list_workspace_variable_sets","summary":"List the variable sets applied to one workspace. Use for \"Which variable sets apply to HCP Terraform workspace ws-6jrRyV","description":"List the variable sets applied to one workspace. Use for \"Which variable sets apply to HCP Terraform workspace ws-6jrRyVDv1J8zQMB5\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace_id":{"description":"Workspace id (ws-...), as returned by list_workspaces in the HCP Terraform connector.","maxLength":60,"title":"Workspace Id","type":"string"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Items per page (1 to 100, default 20).","title":"Page Size"},"page_number":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page Number"}},"required":["workspace_id"],"title":"list_workspace_variable_setsArguments","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_agent_pools":{"post":{"operationId":"list_agent_pools","summary":"List an organization's agent pools with agent counts and whether each pool is organization-scoped. Use for \"What agent p","description":"List an organization's agent pools with agent counts and whether each pool is organization-scoped. Use for \"What agent pools does my HCP Terraform organization have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization":{"description":"HCP Terraform organization name, as returned by list_organizations in the HCP Terraform connector.","maxLength":100,"title":"Organization","type":"string"},"allowed_workspace_name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only pools usable by the workspace with this name.","title":"Allowed Workspace Name"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Items per page (1 to 100, default 20).","title":"Page Size"},"page_number":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page Number"}},"required":["organization"],"title":"list_agent_poolsArguments","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_agent_pool":{"post":{"operationId":"get_agent_pool","summary":"Get one agent pool with its creation time, scope and agent count. Use for \"Show HCP Terraform agent pool apool-Sj6ogYLQk","description":"Get one agent pool with its creation time, scope and agent count. Use for \"Show HCP Terraform agent pool apool-Sj6ogYLQkYZTz4Xa\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"agent_pool_id":{"description":"Agent pool id (apool-...), as returned by list_agent_pools.","maxLength":60,"title":"Agent Pool Id","type":"string"}},"required":["agent_pool_id"],"title":"get_agent_poolArguments","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_pool_agents":{"post":{"operationId":"list_pool_agents","summary":"List the agents in a pool with status (idle, busy, errored, exited, unknown), IP address and last ping time. Use for \"Wh","description":"List the agents in a pool with status (idle, busy, errored, exited, unknown), IP address and last ping time. Use for \"Which agents in HCP Terraform pool apool-Sj6ogYLQkYZTz4Xa are busy\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"agent_pool_id":{"description":"Agent pool id (apool-...), as returned by list_agent_pools.","maxLength":60,"title":"Agent Pool Id","type":"string"},"last_ping_since":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only agents that pinged after this ISO 8601 time, for example 2026-10-18T10:00:00Z.","title":"Last Ping Since"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Items per page (1 to 100, default 20).","title":"Page Size"},"page_number":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page Number"}},"required":["agent_pool_id"],"title":"list_pool_agentsArguments","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_agent":{"post":{"operationId":"get_agent","summary":"Get one agent: name, status, IP address and last ping time. Use for \"Show HCP Terraform agent agent-S1Y7tcKfLUcNCbEj\".","description":"Get one agent: name, status, IP address and last ping time. Use for \"Show HCP Terraform agent agent-S1Y7tcKfLUcNCbEj\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"agent_id":{"description":"Agent id (agent-...), as returned by list_pool_agents.","maxLength":60,"title":"Agent Id","type":"string"}},"required":["agent_id"],"title":"get_agentArguments","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}}}}