{"openapi":"3.1.0","info":{"title":"Infisical (BYOK) API","version":"0.1.0","description":"Infisical (BYOK) lets an AI assistant read your own Infisical data through the Infisical API with a key you supply (machine identity access token (US cloud)). Read-only: 8 tools (list_projects, get_project, get_environment, list_folders, list_secret_tags, list_machine_identities, list_dynamic_secrets, list_kms_keys). The BYOK key travels with each request, is used for that one call only and is...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-infisical.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-infisical/docs"},"termsOfService":"https://connectorbay.com/byok-infisical/terms"},"servers":[{"url":"https://byok-infisical.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-infisical/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 the projects of the organization the token belongs to with type, slug, audit log retention and their environments. ","description":"List the projects of the organization the token belongs to with type, slug, audit log retention and their environments. Optionally filter by product type. Use for \"Which Infisical projects do we have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"type":{"anyOf":[{"enum":["secret-manager","cert-manager","kms","secret-scanning","pam","agent-vault"],"type":"string"},{"type":"null"}],"default":null,"description":"Only projects of this product type.","title":"Type"}},"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_project":{"post":{"operationId":"get_project","summary":"Get one project's settings: type, slug, audit log retention, delete protection and environments. Use for \"What environme","description":"Get one project's settings: type, slug, audit log retention, delete protection and environments. Use for \"What environments does Infisical project 6b1d9a0c have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Infisical project id (from list_projects).","maxLength":64,"title":"Project Id","type":"string"}},"required":["project_id"],"title":"get_projectArguments","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_environment":{"post":{"operationId":"get_environment","summary":"Get one environment of a project by its slug, with its position and creation time. Use for \"When was the prod environmen","description":"Get one environment of a project by its slug, with its position and creation time. Use for \"When was the prod environment created in Infisical project 6b1d9a0c\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Infisical project id (from list_projects).","maxLength":64,"title":"Project Id","type":"string"},"env_slug":{"description":"Environment slug such as 'dev', 'staging' or 'prod' (from get_project environments).","maxLength":64,"title":"Env Slug","type":"string"}},"required":["project_id","env_slug"],"title":"get_environmentArguments","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_folders":{"post":{"operationId":"list_folders","summary":"List the secret folders at a path of one environment (folder names and timestamps only, no secrets). Use for \"Which fold","description":"List the secret folders at a path of one environment (folder names and timestamps only, no secrets). Use for \"Which folders exist under / in the prod environment of Infisical project 6b1d9a0c\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Infisical project id (shown in the project's settings or returned by list_projects).","maxLength":64,"title":"Project Id","type":"string"},"environment":{"description":"Environment slug such as 'dev', 'staging' or 'prod' (from get_project environments).","maxLength":64,"title":"Environment","type":"string"},"path":{"description":"Folder path to list, starting with '/'.","maxLength":300,"title":"Path","type":"string"}},"required":["project_id","environment","path"],"title":"list_foldersArguments","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_secret_tags":{"post":{"operationId":"list_secret_tags","summary":"List the tags defined in a project that can be attached to secrets. Use for \"Which secret tags exist in Infisical projec","description":"List the tags defined in a project that can be attached to secrets. Use for \"Which secret tags exist in Infisical project 6b1d9a0c\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Infisical project id (from list_projects).","maxLength":64,"title":"Project Id","type":"string"}},"required":["project_id"],"title":"list_secret_tagsArguments","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_machine_identities":{"post":{"operationId":"list_machine_identities","summary":"List the machine identities of an organization with role, last login method and last login time (no credentials). Use fo","description":"List the machine identities of an organization with role, last login method and last login time (no credentials). Use for \"Which machine identities have not logged in to Infisical recently\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"org_id":{"description":"Organization id.","maxLength":64,"title":"Org Id","type":"string"}},"required":["org_id"],"title":"list_machine_identitiesArguments","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_dynamic_secrets":{"post":{"operationId":"list_dynamic_secrets","summary":"List the dynamic secret definitions (type, default and maximum TTL, status) at a path of an environment; no leases or cr","description":"List the dynamic secret definitions (type, default and maximum TTL, status) at a path of an environment; no leases or credentials are returned. Use for \"Which dynamic secrets are configured in the prod environment of Infisical project backend-x1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_slug":{"description":"Project slug (from list_projects).","maxLength":100,"title":"Project Slug","type":"string"},"environment_slug":{"description":"Environment slug such as 'dev', 'staging' or 'prod' (from get_project environments).","maxLength":64,"title":"Environment Slug","type":"string"},"secret_path":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":"/","description":"Folder path, default '/'.","title":"Secret Path"}},"required":["project_slug","environment_slug"],"title":"list_dynamic_secretsArguments","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_kms_keys":{"post":{"operationId":"list_kms_keys","summary":"List the KMS keys of a project (name, algorithm, usage, disabled and exportable flags); key material is not returned. Us","description":"List the KMS keys of a project (name, algorithm, usage, disabled and exportable flags); key material is not returned. Use for \"Which KMS keys does Infisical project 6b1d9a0c have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Infisical project id (shown in the project's settings or returned by list_projects).","maxLength":64,"title":"Project Id","type":"string"},"offset":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of keys to skip.","title":"Offset"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many keys to return (1 to 100).","title":"Limit"},"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only keys whose name contains this text.","title":"Search"}},"required":["project_id"],"title":"list_kms_keysArguments","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}}}}