openapi: 3.0.0 info: title: Infisical API description: List of all available APIs that can be consumed version: 1.0.0 servers: - url: https://app.infisical.com description: Production server - url: http://localhost:8080 description: Local server paths: /api/v1/identities/: post: summary: Create identity description: Create identity responses: '200': description: OK content: application/json: schema: type: object properties: identity: $ref: '#/components/schemas/Identity' description: Details of the created identity security: - bearerAuth: [] requestBody: content: application/json: schema: type: object properties: name: type: string description: Name of entity to create example: development organizationId: type: string description: ID of organization where to create identity example: dev-environment role: type: string description: Role to assume for organization membership example: no-access required: - name - organizationId - role /api/v1/identities/{identityId}: patch: summary: Update identity description: Update identity parameters: - name: identityId in: path required: true schema: type: string description: ID of identity to update responses: '200': description: OK content: application/json: schema: type: object properties: identity: $ref: '#/components/schemas/Identity' description: Details of the updated identity security: - bearerAuth: [] requestBody: content: application/json: schema: type: object properties: name: type: string description: Name of entity to update to example: development role: type: string description: Role to update to for organization membership example: no-access delete: summary: Delete identity description: Delete identity parameters: - name: identityId in: path required: true schema: type: string description: ID of identity responses: '200': description: OK content: application/json: schema: type: object properties: identity: $ref: '#/components/schemas/Identity' description: Details of the deleted identity security: - bearerAuth: [] /api/v1/secret/{secretId}/secret-versions: get: summary: Return secret versions description: Return secret versions parameters: - name: secretId in: path required: true schema: type: string description: ID of secret - name: offset description: Number of versions to skip required: false in: query schema: type: string - name: limit description: Maximum number of versions to return required: false in: query schema: type: string responses: '200': description: OK content: application/json: schema: type: object properties: secretVersions: type: array items: $ref: '#/components/schemas/SecretVersion' description: Secret versions security: - apiKeyAuth: [] /api/v1/secret/{secretId}/secret-versions/rollback: post: summary: Roll back secret to a version. description: Roll back secret to a version. parameters: - name: secretId in: path required: true schema: type: string description: ID of secret responses: '200': description: OK content: application/json: schema: type: object properties: secret: type: object $ref: '#/components/schemas/Secret' description: Secret rolled back to security: - apiKeyAuth: [] requestBody: required: true content: application/json: schema: type: object properties: version: type: integer description: Version of secret to roll back to /api/v1/secret-snapshot/{secretSnapshotId}: get: description: '' parameters: - name: secretSnapshotId in: path required: true schema: type: string responses: '200': description: OK /api/v1/users/me/ip: get: description: '' responses: '200': description: OK /api/v1/workspace/{workspaceId}/secret-snapshots: get: summary: Return project secret snapshot ids description: Return project secret snapshots ids parameters: - name: workspaceId in: path required: true schema: type: string description: ID of project where to get secret snapshots for - name: environment description: Slug of environment where to get secret snapshots for required: true in: query schema: type: string - name: directory description: >- Path where to get secret snapshots for like / or /foo/bar. Default is / required: false in: query schema: type: string - name: offset description: Number of secret snapshots to skip required: false in: query schema: type: string - name: limit description: Maximum number of secret snapshots to return required: false in: query schema: type: string responses: '200': description: OK content: application/json: schema: type: object properties: secretSnapshots: type: array items: $ref: '#/components/schemas/SecretSnapshot' description: Project secret snapshots security: - apiKeyAuth: [] bearerAuth: [] /api/v1/workspace/{workspaceId}/secret-snapshots/count: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /api/v1/workspace/{workspaceId}/secret-snapshots/rollback: post: summary: >- Roll back project secrets to those captured in a secret snapshot version. description: >- Roll back project secrets to those captured in a secret snapshot version. parameters: - name: workspaceId in: path required: true schema: type: string description: ID of project where to roll back responses: '200': description: OK content: application/json: schema: type: object properties: secrets: type: array items: $ref: '#/components/schemas/Secret' description: Secrets rolled back to security: - apiKeyAuth: [] bearerAuth: [] requestBody: required: true content: application/json: schema: type: object properties: environment: type: string description: Slug of environment where to roll back directory: type: string description: Path where to roll back for like / or /foo/bar. Default is / version: type: integer description: Version of secret snapshot to roll back to /api/v1/workspace/{workspaceId}/audit-logs: get: summary: Return audit logs description: Return audit logs parameters: - name: workspaceId in: path required: true schema: type: string description: ID of the workspace where to get folders from - name: offset description: Number of logs to skip before starting to return logs for pagination required: false in: query schema: type: string - name: limit description: Maximum number of logs to return for pagination required: false in: query schema: type: string - name: startDate description: Filter logs from this date in ISO-8601 format required: false in: query schema: type: string - name: endDate description: Filter logs till this date in ISO-8601 format required: false in: query schema: type: string - name: eventType description: >- Filter by type of event such as get-secrets, get-secret, create-secret, update-secret, delete-secret, etc. required: false in: query schema: type: string - name: userAgentType description: Filter by type of user agent such as web, cli, k8-operator, or other required: false in: query schema: type: string - name: actor description: Filter by actor such as user or service required: false in: query schema: type: string responses: '200': description: OK content: application/json: schema: type: object properties: auditLogs: type: array items: $ref: '#/components/schemas/AuditLog' description: List of audit log security: - apiKeyAuth: [] /api/v1/workspace/{workspaceId}/audit-logs/filters/actors: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /api/v1/workspace/{workspaceId}/trusted-ips: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK post: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v1/workspace/{workspaceId}/trusted-ips/{trustedIpId}: patch: description: '' parameters: - name: workspaceId in: path required: true schema: type: string - name: trustedIpId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request delete: description: '' parameters: - name: workspaceId in: path required: true schema: type: string - name: trustedIpId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v1/organizations/{organizationId}/plans/table: get: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK /api/v1/organizations/{organizationId}/plan: get: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK /api/v1/organizations/{organizationId}/session/trial: post: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK /api/v1/organizations/{organizationId}/plan/billing: get: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK /api/v1/organizations/{organizationId}/plan/table: get: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK /api/v1/organizations/{organizationId}/billing-details: get: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK patch: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK /api/v1/organizations/{organizationId}/billing-details/payment-methods: get: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK post: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK /api/v1/organizations/{organizationId}/billing-details/payment-methods/{pmtMethodId}: delete: description: '' parameters: - name: organizationId in: path required: true schema: type: string - name: pmtMethodId in: path required: true schema: type: string responses: '200': description: OK /api/v1/organizations/{organizationId}/billing-details/tax-ids: get: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK post: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK /api/v1/organizations/{organizationId}/billing-details/tax-ids/{taxId}: delete: description: '' parameters: - name: organizationId in: path required: true schema: type: string - name: taxId in: path required: true schema: type: string responses: '200': description: OK /api/v1/organizations/{organizationId}/invoices: get: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK /api/v1/organizations/{organizationId}/licenses: get: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK /api/v1/sso/redirect/saml2/{ssoIdentifier}: get: description: '' parameters: - name: ssoIdentifier in: path required: true schema: type: string - name: callback_port in: query schema: type: string responses: default: description: '' /api/v1/sso/saml2/{ssoIdentifier}: post: description: '' parameters: - name: ssoIdentifier in: path required: true schema: type: string responses: default: description: '' /api/v1/sso/config: get: description: '' responses: '200': description: OK post: description: '' responses: '200': description: OK '400': description: Bad Request patch: description: '' responses: '200': description: OK '400': description: Bad Request /api/v1/cloud-products/: get: description: '' responses: '200': description: OK /api/v3/api-key/: post: description: '' responses: '200': description: OK /api/v3/api-key/{apiKeyDataId}: patch: description: '' parameters: - name: apiKeyDataId in: path required: true schema: type: string responses: '200': description: OK delete: description: '' parameters: - name: apiKeyDataId in: path required: true schema: type: string responses: '200': description: OK /api/v1/secret-rotation-providers/{workspaceId}: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /api/v1/secret-rotations/: post: description: '' responses: '200': description: OK get: description: '' responses: '200': description: OK /api/v1/secret-rotations/restart: post: description: '' responses: '200': description: OK /api/v1/secret-rotations/{id}: delete: description: '' parameters: - name: id in: path required: true schema: type: string responses: '200': description: OK /api/v1/signup/email/signup: post: description: '' responses: '200': description: OK '403': description: Forbidden /api/v1/signup/email/verify: post: description: '' responses: '200': description: OK '403': description: Forbidden /api/v1/auth/token: post: description: '' responses: '200': description: OK /api/v1/auth/login1: post: description: '' responses: '200': description: OK /api/v1/auth/login2: post: description: '' parameters: - name: user-agent in: header schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v1/auth/logout: post: description: '' responses: '200': description: OK /api/v1/auth/checkAuth: post: description: '' responses: '200': description: OK /api/v1/auth/sessions: delete: description: '' responses: '200': description: OK /api/v1/auth/token/renew: post: summary: Renew access token description: Renew access token responses: '200': description: OK content: application/json: schema: type: object properties: accessToken: type: string description: (Same) Access token after successful renewal expiresIn: type: number description: TTL of access token in seconds tokenType: type: string description: Type of access token (e.g. Bearer) description: Access token and its details requestBody: content: application/json: schema: type: object properties: accessToken: type: string description: Access token to renew example: ... /api/v1/auth/universal-auth/login: post: summary: Login with Universal Auth description: Login with Universal Auth parameters: - name: user-agent in: header schema: type: string responses: '200': description: OK content: application/json: schema: type: object properties: accessToken: type: string description: Access token issued after successful login expiresIn: type: number description: TTL of access token in seconds tokenType: type: string description: Type of access token (e.g. Bearer) description: Access token and its details requestBody: content: application/json: schema: type: object properties: clientId: type: string description: Client ID for identity to login with Universal Auth example: ... clientSecret: type: string description: Client Secret for identity to login with Universal Auth example: ... /api/v1/auth/universal-auth/identities/{identityId}: post: summary: Attach Universal Auth configuration onto identity description: Attach Universal Auth configuration onto identity parameters: - name: identityId in: path required: true schema: type: string description: ID of identity to attach Universal Auth onto responses: '200': description: OK content: application/json: schema: type: object properties: identityUniversalAuth: $ref: '#/components/schemas/IdentityUniversalAuth' description: Details of attached Universal Auth '400': description: Bad Request security: - bearerAuth: [] requestBody: content: application/json: schema: type: object properties: clientSecretTrustedIps: type: array items: type: object properties: ipAddress: type: string description: IP address to trust default: 0.0.0.0/0 description: >- List of IPs or CIDR ranges that the Client Secret can be used from together with the Client ID to get back an access token. By default, Client Secrets are given the 0.0.0.0/0 entry representing all possible IPv4 addresses. example: ... default: - ipAddress: 0.0.0.0/0 accessTokenTTL: type: number description: >- The incremental lifetime for an acccess token in seconds; a value of 0 implies an infinite incremental lifetime. example: ... default: 100 accessTokenMaxTTL: type: number description: >- The maximum lifetime for an acccess token in seconds; a value of 0 implies an infinite maximum lifetime. example: ... default: 2592000 accessTokenNumUsesLimit: type: number description: >- The maximum number of times that an access token can be used; a value of 0 implies infinite number of uses. example: ... default: 0 accessTokenTrustedIps: type: array items: type: object properties: ipAddress: type: string description: IP address to trust default: 0.0.0.0/0 description: >- List of IPs or CIDR ranges that access tokens can be used from. By default, each token is given the 0.0.0.0/0 entry representing all possible IPv4 addresses. example: ... default: - ipAddress: 0.0.0.0/0 patch: summary: Update Universal Auth configuration on identity description: Update Universal Auth configuration on identity parameters: - name: identityId in: path required: true schema: type: string description: ID of identity to update Universal Auth on responses: '200': description: OK content: application/json: schema: type: object properties: identityUniversalAuth: $ref: '#/components/schemas/IdentityUniversalAuth' description: Details of updated Universal Auth '400': description: Bad Request security: - bearerAuth: [] requestBody: content: application/json: schema: type: object properties: clientSecretTrustedIps: type: array items: type: object properties: ipAddress: type: string description: IP address to trust description: >- List of IPs or CIDR ranges that the Client Secret can be used from together with the Client ID to get back an access token. By default, Client Secrets are given the 0.0.0.0/0 entry representing all possible IPv4 addresses. example: ... accessTokenTTL: type: number description: >- The incremental lifetime for an acccess token in seconds; a value of 0 implies an infinite incremental lifetime. example: ... accessTokenMaxTTL: type: number description: >- The maximum lifetime for an acccess token in seconds; a value of 0 implies an infinite maximum lifetime. example: ... accessTokenNumUsesLimit: type: number description: >- The maximum number of times that an access token can be used; a value of 0 implies infinite number of uses. example: ... accessTokenTrustedIps: type: array items: type: object properties: ipAddress: type: string description: IP address to trust description: >- List of IPs or CIDR ranges that access tokens can be used from. By default, each token is given the 0.0.0.0/0 entry representing all possible IPv4 addresses. example: ... get: summary: Retrieve Universal Auth configuration on identity description: Retrieve Universal Auth configuration on identity parameters: - name: identityId in: path required: true schema: type: string description: ID of identity to retrieve Universal Auth on responses: '200': description: OK content: application/json: schema: type: object properties: identityUniversalAuth: $ref: '#/components/schemas/IdentityUniversalAuth' description: Details of retrieved Universal Auth security: - bearerAuth: [] /api/v1/auth/universal-auth/identities/{identityId}/client-secrets: post: summary: Create Universal Auth Client Secret for identity description: Create Universal Auth Client Secret for identity parameters: - name: identityId in: path required: true schema: type: string description: ID of identity to create Universal Auth Client Secret for responses: '200': description: OK content: application/json: schema: type: object properties: clientSecret: type: string description: The created Client Secret clientSecretData: $ref: '#/components/schemas/IdentityUniversalAuthClientSecretData' description: Details of the created Client Secret security: - bearerAuth: [] requestBody: content: application/json: schema: type: object properties: description: type: string description: A description for the Client Secret to create. example: ... ttl: type: number description: >- The time-to-live for the Client Secret to create. By default, the TTL will be set to 0 which implies that the Client Secret will never expire; a value of 0 implies an infinite lifetime. example: ... default: 0 numUsesLimit: type: number description: >- The maximum number of times that the Client Secret can be used together with the Client ID to get back an access token; a value of 0 implies infinite number of uses. example: ... default: 0 get: summary: List Universal Auth Client Secrets for identity description: List Universal Auth Client Secrets for identity parameters: - name: identityId in: path required: true schema: type: string description: ID of identity for which to get Client Secrets for responses: '200': description: OK content: application/json: schema: type: object properties: clientSecretData: type: array items: $ref: >- #/components/schemas/IdentityUniversalAuthClientSecretData description: Details of the Client Secrets security: - bearerAuth: [] /api/v1/auth/universal-auth/identities/{identityId}/client-secrets/{clientSecretId}/revoke: post: summary: Revoke Universal Auth Client Secret for identity description: Revoke Universal Auth Client Secret for identity parameters: - name: identityId in: path required: true schema: type: string description: ID of identity under which Client Secret was issued for - name: clientSecretId in: path required: true schema: type: string description: ID of Client Secret to revoke responses: '200': description: OK content: application/json: schema: type: object properties: clientSecretData: $ref: '#/components/schemas/IdentityUniversalAuthClientSecretData' description: Details of the revoked Client Secret security: - bearerAuth: [] /api/v1/admin/config: get: description: '' responses: '200': description: OK patch: description: '' responses: '200': description: OK /api/v1/admin/signup: post: description: '' parameters: - name: user-agent in: header schema: type: string responses: '200': description: OK /api/v1/bot/{workspaceId}: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /api/v1/bot/{botId}/active: patch: description: '' parameters: - name: botId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v1/user/: get: description: '' responses: '200': description: OK /api/v1/user-action/: post: description: '' responses: '200': description: OK get: description: '' responses: '200': description: OK /api/v1/organization/: get: description: '' responses: '200': description: OK /api/v1/organization/{organizationId}: get: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK /api/v1/organization/{organizationId}/users: get: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK /api/v1/organization/{organizationId}/my-workspaces: get: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK /api/v1/organization/{organizationId}/name: patch: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK /api/v1/organization/{organizationId}/incidentContactOrg: get: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK post: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK delete: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK /api/v1/organization/{organizationId}/customer-portal-session: post: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK /api/v1/organization/{organizationId}/workspace-memberships: get: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK /api/v1/workspace/{workspaceId}/keys: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /api/v1/workspace/{workspaceId}/users: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /api/v1/workspace/: get: description: '' responses: '200': description: OK post: description: '' responses: '200': description: OK '400': description: Bad Request /api/v1/workspace/{workspaceId}: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK delete: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /api/v1/workspace/{workspaceId}/name: post: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /api/v1/workspace/{workspaceId}/invite-signup: post: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /api/v1/workspace/{workspaceId}/integrations: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /api/v1/workspace/{workspaceId}/authorizations: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /api/v1/workspace/{workspaceId}/service-tokens: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /api/v1/membership-org/membershipOrg/{membershipOrgId}/change-role: post: description: '' parameters: - name: membershipOrgId in: path required: true schema: type: string responses: '200': description: OK /api/v1/membership-org/{membershipOrgId}: delete: description: '' parameters: - name: membershipOrgId in: path required: true schema: type: string responses: default: description: '' /api/v1/membership/{workspaceId}/connect: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /api/v1/membership/{membershipId}: delete: description: '' parameters: - name: membershipId in: path required: true schema: type: string responses: '200': description: OK /api/v1/membership/{membershipId}/change-role: post: description: '' parameters: - name: membershipId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v1/key/{workspaceId}: post: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /api/v1/key/{workspaceId}/latest: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /api/v1/invite-org/signup: post: description: '' parameters: - name: host in: header schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v1/invite-org/verify: post: description: '' responses: '200': description: OK /api/v1/secret/{workspaceId}: post: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: secrets: example: any keys: example: any environment: example: any channel: example: any get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string - name: environment in: query schema: type: string - name: channel in: query schema: type: string responses: '200': description: OK /api/v1/secret/{workspaceId}/service-token: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string - name: environment in: query schema: type: string - name: channel in: query schema: type: string responses: '200': description: OK /api/v1/service-token/: get: description: '' responses: '200': description: OK post: description: '' responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: name: example: any workspaceId: example: any environment: example: any expiresIn: example: any publicKey: example: any encryptedKey: example: any nonce: example: any /api/v1/password/srp1: post: description: '' responses: '200': description: OK /api/v1/password/change-password: post: description: '' responses: '200': description: OK '400': description: Bad Request /api/v1/password/email/password-reset: post: description: '' responses: '200': description: OK /api/v1/password/email/password-reset-verify: post: description: '' responses: '200': description: OK '403': description: Forbidden /api/v1/password/backup-private-key: get: description: '' responses: '200': description: OK post: description: '' responses: '200': description: OK '400': description: Bad Request /api/v1/password/password-reset: post: description: '' responses: '200': description: OK /api/v1/integration/: post: description: '' responses: '200': description: OK /api/v1/integration/{integrationId}: patch: description: '' parameters: - name: integrationId in: path required: true schema: type: string responses: '200': description: OK delete: description: '' parameters: - name: integrationId in: path required: true schema: type: string responses: '200': description: OK /api/v1/integration/manual-sync: post: description: '' responses: '200': description: OK /api/v1/integration-auth/integration-options: get: description: '' responses: '200': description: OK /api/v1/integration-auth/{integrationAuthId}: get: description: '' parameters: - name: integrationAuthId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request delete: description: '' parameters: - name: integrationAuthId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v1/integration-auth/oauth-token: post: description: '' responses: '200': description: OK /api/v1/integration-auth/access-token: post: description: '' responses: '200': description: OK /api/v1/integration-auth/{integrationAuthId}/apps: get: description: '' parameters: - name: integrationAuthId in: path required: true schema: type: string responses: '200': description: OK /api/v1/integration-auth/{integrationAuthId}/teams: get: description: '' parameters: - name: integrationAuthId in: path required: true schema: type: string responses: '200': description: OK /api/v1/integration-auth/{integrationAuthId}/vercel/branches: get: description: '' parameters: - name: integrationAuthId in: path required: true schema: type: string responses: '200': description: OK /api/v1/integration-auth/{integrationAuthId}/checkly/groups: get: description: '' parameters: - name: integrationAuthId in: path required: true schema: type: string responses: '200': description: OK /api/v1/integration-auth/{integrationAuthId}/qovery/orgs: get: description: '' parameters: - name: integrationAuthId in: path required: true schema: type: string responses: '200': description: OK /api/v1/integration-auth/{integrationAuthId}/qovery/projects: get: description: '' parameters: - name: integrationAuthId in: path required: true schema: type: string responses: '200': description: OK /api/v1/integration-auth/{integrationAuthId}/qovery/environments: get: description: '' parameters: - name: integrationAuthId in: path required: true schema: type: string responses: '200': description: OK /api/v1/integration-auth/{integrationAuthId}/qovery/apps: get: description: '' parameters: - name: integrationAuthId in: path required: true schema: type: string responses: '200': description: OK /api/v1/integration-auth/{integrationAuthId}/qovery/containers: get: description: '' parameters: - name: integrationAuthId in: path required: true schema: type: string responses: '200': description: OK /api/v1/integration-auth/{integrationAuthId}/qovery/jobs: get: description: '' parameters: - name: integrationAuthId in: path required: true schema: type: string responses: '200': description: OK /api/v1/integration-auth/{integrationAuthId}/railway/environments: get: description: '' parameters: - name: integrationAuthId in: path required: true schema: type: string responses: '200': description: OK /api/v1/integration-auth/{integrationAuthId}/railway/services: get: description: '' parameters: - name: integrationAuthId in: path required: true schema: type: string responses: '200': description: OK /api/v1/integration-auth/{integrationAuthId}/bitbucket/workspaces: get: description: '' parameters: - name: integrationAuthId in: path required: true schema: type: string responses: '200': description: OK /api/v1/integration-auth/{integrationAuthId}/northflank/secret-groups: get: description: '' parameters: - name: integrationAuthId in: path required: true schema: type: string responses: '200': description: OK /api/v1/integration-auth/{integrationAuthId}/teamcity/build-configs: get: description: '' parameters: - name: integrationAuthId in: path required: true schema: type: string responses: '200': description: OK /api/v1/folders/: post: summary: Create folder description: Create folder responses: '200': description: OK content: application/json: schema: type: object properties: folder: type: object properties: id: type: string description: ID of folder example: someFolderId name: type: string description: Name of folder example: my_folder version: type: number description: Version of folder example: 1 description: Details of created folder '400': description: >- Bad Request. For example, 'Folder name cannot contain spaces. Only underscore and dashes' '401': description: Unauthorized request. For example, 'Folder Permission Denied' security: - apiKeyAuth: [] bearerAuth: [] requestBody: content: application/json: schema: type: object properties: workspaceId: type: string description: ID of the workspace where to create folder example: someWorkspaceId environment: type: string description: Slug of environment where to create folder example: production folderName: type: string description: Name of folder to create example: my_folder directory: type: string description: Path where to create folder like / or /foo/bar. Default is / example: /foo/bar required: - workspaceId - environment - folderName get: summary: Get folders description: Get folders parameters: - name: workspaceId description: ID of the workspace where to get folders from required: true in: query schema: type: string - name: environment description: Slug of environment where to get folders from required: true in: query schema: type: string - name: directory description: Path where to get fodlers from like / or /foo/bar. Default is / required: false in: query schema: type: string responses: '200': description: OK content: application/json: schema: type: object properties: folders: type: array items: type: object properties: id: type: string example: someFolderId name: type: string example: someFolderName description: List of folders '400': description: Bad Request. For instance, 'The folder doesn't exist' '401': description: Unauthorized request. For example, 'Folder Permission Denied' security: - apiKeyAuth: [] bearerAuth: [] /api/v1/folders/{folderName}: patch: summary: Update folder description: Update folder parameters: - name: folderName in: path required: true schema: type: string description: Name of folder to update responses: '200': description: OK content: application/json: schema: type: object properties: message: type: string description: Success message example: Successfully updated folder folder: type: object properties: name: type: string description: Name of updated folder example: updated_folder_name id: type: string description: ID of created folder example: abc123 description: Details of the updated folder '400': description: >- Bad Request. Reasons can include 'The folder doesn't exist' or 'Folder name cannot contain spaces. Only underscore and dashes' '401': description: Unauthorized request. For example, 'Folder Permission Denied' security: - apiKeyAuth: [] bearerAuth: [] requestBody: content: application/json: schema: type: object properties: workspaceId: type: string description: ID of workspace where to update folder example: someWorkspaceId environment: type: string description: Slug of environment where to update folder example: production name: type: string description: Name of folder to update to example: updated_folder_name directory: type: string description: Path where to update folder like / or /foo/bar. Default is / example: /foo/bar required: - workspaceId - environment - name delete: summary: Delete folder description: Delete folder parameters: - name: folderName in: path required: true schema: type: string description: Name of folder to delete responses: '200': description: OK content: application/json: schema: type: object properties: message: type: string description: Success message example: successfully deleted folders folders: type: array items: type: object properties: id: type: string description: ID of deleted folder example: abc123 name: type: string description: Name of deleted folder example: someFolderName description: List of IDs and names of deleted folders '400': description: Bad Request. Reasons can include 'The folder doesn't exist' '401': description: Unauthorized request. For example, 'Folder Permission Denied' security: - apiKeyAuth: [] bearerAuth: [] requestBody: content: application/json: schema: type: object properties: workspaceId: type: string description: ID of the workspace where to delete folder example: someWorkspaceId environment: type: string description: Slug of environment where to delete folder example: production directory: type: string description: Path where to delete folder like / or /foo/bar. Default is / example: /foo/bar required: - workspaceId - environment /api/v1/secret-scanning/create-installation-session/organization/{organizationId}: post: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK /api/v1/secret-scanning/link-installation: post: description: '' responses: '200': description: OK /api/v1/secret-scanning/installation-status/organization/{organizationId}: get: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK /api/v1/secret-scanning/organization/{organizationId}/risks: get: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK /api/v1/secret-scanning/organization/{organizationId}/risks/{riskId}/status: post: description: '' parameters: - name: organizationId in: path required: true schema: type: string - name: riskId in: path required: true schema: type: string responses: '200': description: OK /api/v1/webhooks/: post: description: '' responses: '200': description: OK get: description: '' responses: '200': description: OK /api/v1/webhooks/{webhookId}: patch: description: '' parameters: - name: webhookId in: path required: true schema: type: string responses: '200': description: OK delete: description: '' parameters: - name: webhookId in: path required: true schema: type: string responses: '200': description: OK /api/v1/webhooks/{webhookId}/test: post: description: '' parameters: - name: webhookId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v1/secret-imports/: post: summary: Create secret import description: Create secret import responses: '200': description: OK content: application/json: schema: type: object properties: message: type: string example: successfully created secret import description: Confirmation of secret import creation '400': description: Bad Request. For example, 'Secret import already exist' '401': description: Unauthorized request. For example, 'Folder Permission Denied' '404': description: Resource Not Found. For example, 'Failed to find folder' requestBody: content: application/json: schema: type: object properties: workspaceId: type: string description: ID of workspace where to create secret import example: someWorkspaceId environment: type: string description: Slug of environment where to create secret import example: dev directory: type: string description: >- Path where to create secret import like / or /foo/bar. Default is / example: /foo/bar secretImport: type: object properties: environment: type: string description: Slug of environment to import from example: development secretPath: type: string description: Path where to import from like / or /foo/bar. example: /user/oauth required: - workspaceId - environment - directory - secretImport get: summary: Get secret imports description: Get secret imports parameters: - name: workspaceId in: query description: ID of workspace where to get secret imports from required: true example: workspace12345 schema: type: string - name: environment in: query description: Slug of environment where to get secret imports from required: true example: production schema: type: string - name: directory in: query description: >- Path where to get secret imports from like / or /foo/bar. Default is / required: false example: folder12345 schema: type: string responses: '200': description: Successfully retrieved secret import content: application/json: schema: type: object properties: secretImport: $ref: '#/components/schemas/SecretImport' '401': description: Unauthorized access due to invalid token or scope '403': description: Forbidden access due to insufficient permissions /api/v1/secret-imports/{id}: put: summary: Update secret import description: Update secret import parameters: - name: id in: path required: true schema: type: string description: ID of secret import to update example: import12345 responses: '200': description: Successfully updated the secret import content: application/json: schema: type: object properties: message: type: string example: successfully updated secret import '400': description: Bad Request - Import not found '401': description: Unauthorized access due to invalid token or scope '403': description: Forbidden access due to insufficient permissions requestBody: content: application/json: schema: type: object properties: secretImports: type: array description: List of secret imports to update to items: type: object properties: environment: type: string description: Slug of environment to import from example: dev secretPath: type: string description: Path where to import secrets from like / or /foo/bar example: /foo/bar required: - environment - secretPath required: - secretImports delete: summary: Delete secret import description: Delete secret import parameters: - name: id in: path required: true schema: type: string description: >- ID of parent secret import document from which to delete secret import example: 12345abcde responses: '200': description: OK content: application/json: schema: type: object properties: message: type: string example: successfully delete secret import description: Confirmation of secret import deletion requestBody: content: application/json: schema: type: object properties: secretImportEnv: type: string description: Slug of environment of import to delete example: someWorkspaceId secretImportPath: type: string description: Path like / or /foo/bar of import to delete example: production required: - id - secretImportEnv - secretImportPath /api/v1/secret-imports/secrets: get: description: '' responses: '200': description: OK /api/v1/roles/: post: description: '' responses: '200': description: OK get: description: '' responses: '200': description: OK /api/v1/roles/{id}: patch: description: '' parameters: - name: id in: path required: true schema: type: string responses: '200': description: OK delete: description: '' parameters: - name: id in: path required: true schema: type: string responses: '200': description: OK /api/v1/roles/organization/{orgId}/permissions: get: description: '' parameters: - name: orgId in: path required: true schema: type: string responses: '200': description: OK /api/v1/roles/workspace/{workspaceId}/permissions: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /api/v1/secret-approvals/: get: description: '' responses: '200': description: OK post: description: '' responses: '200': description: OK /api/v1/secret-approvals/board: get: description: '' responses: '200': description: OK /api/v1/secret-approvals/{id}: patch: description: '' parameters: - name: id in: path required: true schema: type: string responses: '200': description: OK delete: description: '' parameters: - name: id in: path required: true schema: type: string responses: '200': description: OK /api/v1/sso/redirect/google: get: description: '' parameters: - name: callback_port in: query schema: type: string responses: default: description: '' /api/v1/sso/google: get: description: '' responses: default: description: '' /api/v1/sso/redirect/github: get: description: '' parameters: - name: callback_port in: query schema: type: string responses: default: description: '' /api/v1/sso/github: get: description: '' responses: default: description: '' /api/v1/sso/redirect/gitlab: get: description: '' parameters: - name: callback_port in: query schema: type: string responses: default: description: '' /api/v1/sso/gitlab: get: description: '' responses: default: description: '' /api/v1/secret-approval-requests/: get: description: '' responses: '200': description: OK /api/v1/secret-approval-requests/count: get: description: '' responses: '200': description: OK /api/v1/secret-approval-requests/{id}: get: description: '' parameters: - name: id in: path required: true schema: type: string responses: '200': description: OK /api/v1/secret-approval-requests/{id}/merge: post: description: '' parameters: - name: id in: path required: true schema: type: string responses: '200': description: OK /api/v1/secret-approval-requests/{id}/review: post: description: '' parameters: - name: id in: path required: true schema: type: string responses: '200': description: OK /api/v1/secret-approval-requests/{id}/status: post: description: '' parameters: - name: id in: path required: true schema: type: string responses: '200': description: OK /api/v2/signup/complete-account/signup: post: description: '' parameters: - name: user-agent in: header schema: type: string responses: '200': description: OK '403': description: Forbidden requestBody: content: application/json: schema: type: object properties: email: example: any firstName: example: any lastName: example: any protectedKey: example: any protectedKeyIV: example: any protectedKeyTag: example: any publicKey: example: any encryptedPrivateKey: example: any encryptedPrivateKeyIV: example: any encryptedPrivateKeyTag: example: any salt: example: any verifier: example: any organizationName: example: any /api/v2/signup/complete-account/invite: post: description: '' parameters: - name: user-agent in: header schema: type: string responses: '200': description: OK '403': description: Forbidden requestBody: content: application/json: schema: type: object properties: email: example: any firstName: example: any lastName: example: any protectedKey: example: any protectedKeyIV: example: any protectedKeyTag: example: any publicKey: example: any encryptedPrivateKey: example: any encryptedPrivateKeyIV: example: any encryptedPrivateKeyTag: example: any salt: example: any verifier: example: any /api/v2/auth/login1: post: description: '' responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: email: example: any clientPublicKey: example: any /api/v2/auth/login2: post: description: '' parameters: - name: user-agent in: header schema: type: string responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: email: example: any clientProof: example: any /api/v2/auth/mfa/send: post: description: '' responses: '200': description: OK /api/v2/auth/mfa/verify: post: description: '' parameters: - name: user-agent in: header schema: type: string responses: '200': description: OK /api/v2/users/me/mfa: patch: description: '' responses: '200': description: OK /api/v2/users/me/name: patch: description: '' responses: '200': description: OK /api/v2/users/me/auth-methods: put: description: '' responses: '200': description: OK '400': description: Bad Request /api/v2/users/me/organizations: get: summary: Return organizations that current user is part of description: Return organizations that current user is part of responses: '200': description: OK content: application/json: schema: type: object properties: organizations: type: array items: $ref: '#/components/schemas/Organization' description: Organizations that user is part of security: - apiKeyAuth: [] /api/v2/users/me/api-keys: get: description: '' responses: '200': description: OK post: description: '' responses: '200': description: OK /api/v2/users/me/api-keys/{apiKeyDataId}: delete: description: '' parameters: - name: apiKeyDataId in: path required: true schema: type: string responses: '200': description: OK /api/v2/users/me/sessions: get: description: '' responses: '200': description: OK delete: description: '' responses: '200': description: OK /api/v2/users/me: get: summary: Retrieve the current user on the request description: Retrieve the current user on the request responses: '200': description: OK content: application/json: schema: type: object properties: user: type: object $ref: '#/components/schemas/CurrentUser' description: Current user on request security: - apiKeyAuth: [] delete: description: '' responses: '200': description: OK /api/v2/organizations/{organizationId}/memberships: get: summary: Return organization user memberships description: Return organization user memberships parameters: - name: organizationId in: path required: true schema: type: string description: ID of organization responses: '200': description: OK content: application/json: schema: type: object properties: memberships: type: array items: $ref: '#/components/schemas/MembershipOrg' description: Memberships of organization security: - apiKeyAuth: [] bearerAuth: [] /api/v2/organizations/{organizationId}/memberships/{membershipId}: patch: summary: Update organization user membership description: Update organization user membership parameters: - name: organizationId in: path required: true schema: type: string description: ID of organization - name: membershipId in: path required: true schema: type: string description: ID of organization membership to update responses: '200': description: OK content: application/json: schema: type: object properties: membership: $ref: '#/components/schemas/MembershipOrg' description: Updated organization membership '400': description: Bad Request security: - apiKeyAuth: [] bearerAuth: [] requestBody: required: true content: application/json: schema: type: object properties: role: type: string description: >- Role of organization membership - either owner, admin, or member delete: summary: Delete organization user membership description: Delete organization user membership parameters: - name: organizationId in: path required: true schema: type: string description: ID of organization - name: membershipId in: path required: true schema: type: string description: ID of organization membership to delete responses: '200': description: OK content: application/json: schema: type: object properties: membership: $ref: '#/components/schemas/MembershipOrg' description: Deleted organization membership security: - apiKeyAuth: [] bearerAuth: [] /api/v2/organizations/{organizationId}/workspaces: get: summary: Return projects in organization that user is part of description: Return projects in organization that user is part of parameters: - name: organizationId in: path required: true schema: type: string description: ID of organization responses: '200': description: OK content: application/json: schema: type: object properties: workspaces: type: array items: $ref: '#/components/schemas/Project' description: Projects of organization security: - apiKeyAuth: [] bearerAuth: [] /api/v2/organizations/: post: description: '' responses: '200': description: OK /api/v2/organizations/{organizationId}: delete: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK /api/v2/organizations/{organizationId}/identity-memberships: get: summary: Return organization identity memberships description: Return organization identity memberships parameters: - name: organizationId in: path required: true schema: type: string description: ID of organization responses: '200': description: OK content: application/json: schema: type: object properties: identityMemberships: type: array items: $ref: '#/components/schemas/IdentityMembershipOrg' description: Identity memberships of organization security: - bearerAuth: [] /api/v2/workspace/{workspaceId}/memberships: post: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK get: summary: Return project user memberships description: Return project user memberships parameters: - name: workspaceId in: path required: true schema: type: string description: ID of project responses: '200': description: OK content: application/json: schema: type: object properties: memberships: type: array items: $ref: '#/components/schemas/Membership' description: Memberships of project security: - apiKeyAuth: [] bearerAuth: [] /api/v2/workspace/{workspaceId}/environments: post: summary: Create environment description: Create environment parameters: - name: workspaceId in: path required: true schema: type: string description: ID of workspace where to create environment responses: '200': description: OK content: application/json: schema: type: object properties: message: type: string description: Sucess message example: Successfully created environment workspace: type: string description: ID of workspace where environment was created example: abc123 environment: type: object properties: name: type: string description: Name of created environment example: Staging slug: type: string description: Slug of created environment example: staging description: Details of the created environment '400': description: Bad Request security: - apiKeyAuth: [] requestBody: content: application/json: schema: type: object properties: environmentName: type: string description: Name of the environment to create example: development environmentSlug: type: string description: Slug of environment to create example: dev-environment required: - environmentName - environmentSlug put: summary: Update environment description: Update environment parameters: - name: workspaceId in: path required: true schema: type: string description: ID of workspace where to update environment responses: '200': description: OK content: application/json: schema: type: object properties: message: type: string description: Success message example: Successfully update environment workspace: type: string description: ID of workspace where environment was updated example: abc123 environment: type: object properties: name: type: string description: Name of updated environment example: Staging-Renamed slug: type: string description: Slug of updated environment example: staging-renamed description: Details of the renamed environment security: - apiKeyAuth: [] requestBody: content: application/json: schema: type: object properties: environmentName: type: string description: Name of environment to update to example: Staging-Renamed environmentSlug: type: string description: Slug of environment to update to example: staging-renamed oldEnvironmentSlug: type: string description: Current slug of environment example: staging-old required: - environmentName - environmentSlug - oldEnvironmentSlug patch: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK delete: summary: Delete environment description: Delete environment parameters: - name: workspaceId in: path required: true schema: type: string description: ID of workspace where to delete environment responses: '200': description: OK content: application/json: schema: type: object properties: message: type: string description: Success message example: Successfully deleted environment workspace: type: string description: ID of workspace where environment was deleted example: abc123 environment: type: string description: Slug of deleted environment example: dev description: Response after deleting an environment from a workspace security: - apiKeyAuth: [] requestBody: content: application/json: schema: type: object properties: environmentSlug: type: string description: Slug of environment to delete example: dev required: - environmentSlug /api/v2/workspace/{workspaceId}/tags: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK post: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /api/v2/workspace/tags/{tagId}: delete: description: '' parameters: - name: tagId in: path required: true schema: type: string responses: '200': description: OK /api/v2/workspace/{workspaceId}/secrets: post: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: secrets: example: any keys: example: any environment: example: any channel: example: any get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string - name: environment in: query schema: type: string - name: channel in: query schema: type: string responses: '200': description: OK /api/v2/workspace/{workspaceId}/encrypted-key: get: summary: Return encrypted project key description: Return encrypted project key parameters: - name: workspaceId in: path required: true schema: type: string description: ID of project responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ProjectKey' description: Encrypted project key for the given project security: - apiKeyAuth: [] /api/v2/workspace/{workspaceId}/service-token-data: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /api/v2/workspace/{workspaceId}/memberships/{membershipId}: patch: summary: Update project user membership description: Update project user membership parameters: - name: workspaceId in: path required: true schema: type: string description: ID of project - name: membershipId in: path required: true schema: type: string description: ID of project membership to update responses: '200': description: OK content: application/json: schema: type: object properties: membership: $ref: '#/components/schemas/Membership' description: Updated membership security: - apiKeyAuth: [] bearerAuth: [] requestBody: required: true content: application/json: schema: type: object properties: role: type: string description: Role to update to for project membership delete: summary: Delete project user membership description: Delete project user membership parameters: - name: workspaceId in: path required: true schema: type: string description: ID of project - name: membershipId in: path required: true schema: type: string description: ID of project membership to delete responses: '200': description: OK content: application/json: schema: type: object properties: membership: $ref: '#/components/schemas/Membership' description: Deleted membership security: - apiKeyAuth: [] bearerAuth: [] /api/v2/workspace/{workspaceId}/auto-capitalization: patch: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /api/v2/workspace/{workspaceId}/identity-memberships/{identityId}: post: description: '' parameters: - name: workspaceId in: path required: true schema: type: string - name: identityId in: path required: true schema: type: string responses: '200': description: OK patch: summary: Update project identity membership description: Update project identity membership parameters: - name: workspaceId in: path required: true schema: type: string description: ID of project - name: identityId in: path required: true schema: type: string description: ID of identity whose membership to update in project responses: '200': description: OK content: application/json: schema: type: object properties: identityMembership: $ref: '#/components/schemas/IdentityMembership' description: Updated identity membership security: - bearerAuth: [] requestBody: required: true content: application/json: schema: type: object properties: role: type: string description: Role to update to for identity project membership delete: summary: Delete project identity membership description: Delete project identity membership parameters: - name: workspaceId in: path required: true schema: type: string description: ID of project - name: identityId in: path required: true schema: type: string description: ID of identity whose membership to delete in project responses: '200': description: OK content: application/json: schema: type: object properties: identityMembership: $ref: '#/components/schemas/IdentityMembership' description: Deleted identity membership security: - bearerAuth: [] /api/v2/workspace/{workspaceId}/identity-memberships: get: summary: Return project identity memberships description: Return project identity memberships parameters: - name: workspaceId in: path required: true schema: type: string description: ID of project responses: '200': description: OK content: application/json: schema: type: object properties: identityMemberships: type: array items: $ref: '#/components/schemas/IdentityMembership' description: Identity memberships of project security: - bearerAuth: [] /api/v2/secret/batch-create/workspace/{workspaceId}/environment/{environment}: post: description: '' parameters: - name: workspaceId in: path required: true schema: type: string - name: environment in: path required: true schema: type: string responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: secrets: example: any /api/v2/secret/workspace/{workspaceId}/environment/{environment}: post: description: '' parameters: - name: workspaceId in: path required: true schema: type: string - name: environment in: path required: true schema: type: string responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: secret: example: any /api/v2/secret/workspace/{workspaceId}: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string - name: environment in: query schema: type: string responses: '200': description: OK /api/v2/secret/{secretId}: get: description: '' parameters: - name: secretId in: path required: true schema: type: string responses: '200': description: OK delete: description: '' parameters: - name: secretId in: path required: true schema: type: string responses: '200': description: OK /api/v2/secret/batch/workspace/{workspaceId}/environment/{environmentName}: delete: description: '' parameters: - name: workspaceId in: path required: true schema: type: string - name: environmentName in: path required: true schema: type: string responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: secretIds: example: any /api/v2/secret/batch-modify/workspace/{workspaceId}/environment/{environmentName}: patch: description: '' parameters: - name: workspaceId in: path required: true schema: type: string - name: environmentName in: path required: true schema: type: string responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: secrets: example: any /api/v2/secret/workspace/{workspaceId}/environment/{environmentName}: patch: description: '' parameters: - name: workspaceId in: path required: true schema: type: string - name: environmentName in: path required: true schema: type: string responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: secret: example: any /api/v2/secrets/batch: post: description: '' parameters: - name: user-agent in: header schema: type: string responses: '200': description: OK /api/v2/secrets/: post: summary: Create new secret(s) description: Create one or many secrets for a given project and environment. parameters: - name: user-agent in: header schema: type: string responses: '200': description: OK content: application/json: schema: type: object properties: secrets: type: array items: $ref: '#/components/schemas/Secret' description: >- Newly-created secrets for the given project and environment security: - apiKeyAuth: [] requestBody: required: true content: application/json: schema: type: object properties: workspaceId: type: string description: ID of project environment: type: string description: Environment within project secrets: $ref: '#/components/schemas/CreateSecret' description: Secret(s) to create - object or array of objects get: summary: Read secrets description: Read secrets from a project and environment parameters: - name: workspaceId description: ID of project required: true in: query schema: type: string - name: environment description: Environment within project required: true in: query schema: type: string responses: '200': description: OK content: application/json: schema: type: object properties: secrets: type: array items: $ref: '#/components/schemas/Secret' description: Secrets for the given project and environment security: - apiKeyAuth: [] patch: summary: Update secret(s) description: Update secret(s) responses: '200': description: OK content: application/json: schema: type: object properties: secrets: type: array items: $ref: '#/components/schemas/Secret' description: Updated secrets security: - apiKeyAuth: [] requestBody: required: true content: application/json: schema: type: object properties: secrets: $ref: '#/components/schemas/UpdateSecret' description: Secret(s) to update - object or array of objects delete: summary: Delete secret(s) description: Delete one or many secrets by their ID(s) parameters: - name: user-agent in: header schema: type: string responses: '200': description: OK content: application/json: schema: type: object properties: secrets: type: array items: $ref: '#/components/schemas/Secret' description: Deleted secrets security: - apiKeyAuth: [] requestBody: required: true content: application/json: schema: type: object properties: secretIds: type: string description: ID(s) of secrets - string or array of strings /api/v2/service-token/: get: summary: Return Infisical Token data description: Return Infisical Token data responses: '200': description: OK content: application/json: schema: type: object properties: serviceTokenData: type: object $ref: '#/components/schemas/ServiceTokenData' description: Details of service token security: - bearerAuth: [] post: description: '' responses: '200': description: OK /api/v2/service-token/{serviceTokenDataId}: delete: description: '' parameters: - name: serviceTokenDataId in: path required: true schema: type: string responses: '200': description: OK /api/v3/auth/login1: post: description: '' responses: '200': description: OK /api/v3/auth/login2: post: description: '' parameters: - name: user-agent in: header schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v3/secrets/raw: get: summary: List secrets description: List secrets parameters: - name: workspaceId description: ID of workspace where to get secrets from required: true in: query schema: type: string - name: environment description: Slug of environment where to get secrets from required: true in: query schema: type: string - name: secretPath description: Path where to update secret like / or /foo/bar. Default is / required: false in: query schema: type: string - name: include_imports description: Whether or not to include imported secrets. Default is false required: false in: query schema: type: boolean responses: '200': description: OK content: application/json: schema: type: object properties: secrets: type: array items: $ref: '#/components/schemas/RawSecret' description: List of secrets security: - apiKeyAuth: [] bearerAuth: [] /api/v3/secrets/raw/{secretName}: get: summary: Get secret description: Get secret parameters: - name: secretName in: path required: true schema: type: string description: Name of secret to get - name: workspaceId description: ID of workspace where to get secret required: true in: query schema: type: string - name: environment description: Slug of environment where to get secret required: true in: query schema: type: string - name: secretPath description: Path where to update secret like / or /foo/bar. Default is / required: false in: query schema: type: string - name: type description: Type of secret to get; either shared or personal. Default is shared. required: true in: query schema: type: string - name: include_imports description: Whether or not to include imported secrets. Default is false required: false in: query schema: type: boolean responses: '200': description: OK content: application/json: schema: type: object properties: secret: $ref: '#/components/schemas/RawSecret' security: - apiKeyAuth: [] bearerAuth: [] post: summary: Create secret description: Create secret parameters: - name: secretName in: path required: true schema: type: string description: Name of secret to create responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RawSecret' security: - apiKeyAuth: [] bearerAuth: [] requestBody: content: application/json: schema: type: object properties: workspaceId: type: string description: ID of the workspace where to create secret example: someWorkspaceId environment: type: string description: Slug of environment where to create secret example: dev secretPath: type: string description: Path where to create secret. Default is / example: /foo/bar secretValue: type: string description: Value of secret to create example: Some value secretComment: type: string description: Comment for secret to create example: Some comment type: type: string description: >- Type of secret to create; either shared or personal. Default is shared. example: shared skipMultilineEncoding: type: boolean description: Convert multi line secrets into one line by wrapping example: 'true' required: - workspaceId - environment - secretValue patch: summary: Update secret description: Update secret parameters: - name: secretName in: path required: true schema: type: string description: Name of secret to update responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RawSecret' security: - apiKeyAuth: [] bearerAuth: [] requestBody: content: application/json: schema: type: object properties: workspaceId: type: string description: ID of the workspace where to update secret example: someWorkspaceId environment: type: string description: Slug of environment where to update secret example: dev secretPath: type: string description: Path where to update secret like / or /foo/bar. Default is / example: /foo/bar secretValue: type: string description: Value of secret to update to example: Some value type: type: string description: >- Type of secret to update; either shared or personal. Default is shared. example: shared skipMultilineEncoding: type: boolean description: Convert multi line secrets into one line by wrapping example: 'true' required: - workspaceId - environment - secretValue delete: summary: Delete secret description: Delete secret parameters: - name: secretName in: path required: true schema: type: string description: Name of secret to delete responses: '200': description: OK content: application/json: schema: type: object properties: secret: $ref: '#/components/schemas/RawSecret' description: The deleted secret security: - apiKeyAuth: [] bearerAuth: [] requestBody: content: application/json: schema: type: object properties: workspaceId: type: string description: ID of workspace where to delete secret example: someWorkspaceId environment: type: string description: Slug of Environment where to delete secret example: dev secretPath: type: string description: Path where to delete secret. Default is / example: /foo/bar type: type: string description: >- Type of secret to delete; either shared or personal. Default is shared example: shared required: - workspaceId - environment /api/v3/secrets/: get: description: '' responses: '200': description: OK /api/v3/secrets/batch: post: description: '' responses: '200': description: OK patch: description: '' responses: '200': description: OK delete: description: '' responses: '200': description: OK /api/v3/secrets/{secretName}: post: description: '' parameters: - name: secretName in: path required: true schema: type: string responses: '200': description: OK get: description: '' parameters: - name: secretName in: path required: true schema: type: string responses: '200': description: OK patch: description: '' parameters: - name: secretName in: path required: true schema: type: string responses: '200': description: OK delete: description: '' parameters: - name: secretName in: path required: true schema: type: string responses: '200': description: OK /api/v3/workspaces/{workspaceId}/secrets/blind-index-status: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /api/v3/workspaces/{workspaceId}/secrets: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /api/v3/workspaces/{workspaceId}/secrets/names: post: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /api/v3/signup/complete-account/signup: post: description: '' parameters: - name: authorization in: header schema: type: string - name: user-agent in: header schema: type: string responses: '200': description: OK '400': description: Bad Request '403': description: Forbidden /api/v3/us/me/api-keys: get: description: '' responses: '200': description: OK /api/status: get: description: '' responses: '200': description: OK components: schemas: CurrentUser: type: object properties: _id: type: string example: '' email: type: string example: johndoe@gmail.com firstName: type: string example: John lastName: type: string example: Doe publicKey: type: string example: johns_nacl_public_key encryptedPrivateKey: type: string example: johns_enc_nacl_private_key iv: type: string example: iv_of_enc_nacl_private_key tag: type: string example: tag_of_enc_nacl_private_key updatedAt: type: string example: '2023-01-13T14:16:12.210Z' createdAt: type: string example: '2023-01-13T14:16:12.210Z' Identity: type: object properties: _id: type: string example: '' name: type: string example: Machine 1 authMethod: type: string example: universal-auth IdentityUniversalAuth: type: object properties: _id: type: string example: '' identity: type: string example: '' clientId: type: string example: ... clientSecretTrustedIps: type: array items: type: object properties: ipAddress: type: string example: 0.0.0.0 type: type: string example: ipv4 prefix: type: string example: '0' accessTokenTTL: type: number example: 7200 accessTokenMaxTTL: type: number example: 2592000 accessTokenNumUsesLimit: type: number example: 0 accessTokenTrustedIps: type: array items: type: object properties: ipAddress: type: string example: 0.0.0.0 type: type: string example: ipv4 prefix: type: string example: '0' IdentityUniversalAuthClientSecretData: type: object properties: _id: type: string example: '' identityUniversalAuth: type: string example: '' isClientSecretRevoked: type: boolean example: false description: type: string example: '' clientSecretPrefix: type: string example: abc clientSecretNumUses: type: number example: 0 clientSecretNumUsesLimit: type: number example: 0 clientSecretTTL: type: number example: 0 createdAt: type: string example: '2023-01-13T14:16:12.210Z' updatedAt: type: string example: '2023-01-13T14:16:12.210Z' Membership: type: object properties: user: type: object properties: _id: type: string example: '' email: type: string example: johndoe@gmail.com firstName: type: string example: John lastName: type: string example: Doe publicKey: type: string example: johns_nacl_public_key updatedAt: type: string example: '2023-01-13T14:16:12.210Z' createdAt: type: string example: '2023-01-13T14:16:12.210Z' workspace: type: string example: '' role: type: string example: admin MembershipOrg: type: object properties: user: type: object properties: _id: type: string example: '' email: type: string example: johndoe@gmail.com firstName: type: string example: John lastName: type: string example: Doe publicKey: type: string example: johns_nacl_public_key updatedAt: type: string example: '2023-01-13T14:16:12.210Z' createdAt: type: string example: '2023-01-13T14:16:12.210Z' organization: type: string example: '' role: type: string example: owner status: type: string example: accepted IdentityMembership: type: object properties: identity: type: object properties: _id: type: string example: '' name: type: string example: Machine 1 authMethod: type: string example: universal-auth workspace: type: string example: '' role: type: string example: member IdentityMembershipOrg: type: object properties: identity: type: object properties: _id: type: string example: '' name: type: string example: Machine 1 authMethod: type: string example: universal-auth organization: type: string example: '' role: type: string example: member status: type: string example: accepted Organization: type: object properties: _id: type: string example: '' name: type: string example: Acme Corp. customerId: type: string example: '' Project: type: object properties: name: type: string example: My Project organization: type: string example: '' environments: type: array items: type: object properties: name: type: string example: development slug: type: string example: dev ProjectKey: type: object properties: encryptedkey: type: string example: '' nonce: type: string example: '' sender: type: object properties: publicKey: type: string example: senders_nacl_public_key receiver: type: string example: '' workspace: type: string example: '' CreateSecret: type: object properties: type: type: string example: shared secretKeyCiphertext: type: string example: '' secretKeyIV: type: string example: '' secretKeyTag: type: string example: '' secretValueCiphertext: type: string example: '' secretValueIV: type: string example: '' secretValueTag: type: string example: '' secretCommentCiphertext: type: string example: '' secretCommentIV: type: string example: '' secretCommentTag: type: string example: '' UpdateSecret: type: object properties: id: type: string example: '' secretKeyCiphertext: type: string example: '' secretKeyIV: type: string example: '' secretKeyTag: type: string example: '' secretValueCiphertext: type: string example: '' secretValueIV: type: string example: '' secretValueTag: type: string example: '' secretCommentCiphertext: type: string example: '' secretCommentIV: type: string example: '' secretCommentTag: type: string example: '' Secret: type: object properties: _id: type: string example: '' version: type: number example: 1 workspace: type: string example: '' type: type: string example: shared user: {} secretKeyCiphertext: type: string example: '' secretKeyIV: type: string example: '' secretKeyTag: type: string example: '' secretValueCiphertext: type: string example: '' secretValueIV: type: string example: '' secretValueTag: type: string example: '' secretCommentCiphertext: type: string example: '' secretCommentIV: type: string example: '' secretCommentTag: type: string example: '' updatedAt: type: string example: '2023-01-13T14:16:12.210Z' createdAt: type: string example: '2023-01-13T14:16:12.210Z' RawSecret: type: object properties: _id: type: string example: abc123 version: type: number example: 1 workspace: type: string example: abc123 environment: type: string example: dev secretKey: type: string example: STRIPE_KEY secretValue: type: string example: abc123 secretComment: type: string example: Lorem ipsum SecretImport: type: object properties: _id: type: string example: '' workspace: type: string example: abc123 environment: type: string example: dev folderId: type: string example: root imports: type: array example: [] items: {} updatedAt: type: string example: '2023-01-13T14:16:12.210Z' createdAt: type: string example: '2023-01-13T14:16:12.210Z' Log: type: object properties: _id: type: string example: '' user: type: object properties: _id: type: string example: '' email: type: string example: johndoe@gmail.com firstName: type: string example: John lastName: type: string example: Doe workspace: type: string example: '' actionNames: type: array example: - addSecrets items: type: string actions: type: array items: type: object properties: name: type: string example: addSecrets user: type: string example: '' workspace: type: string example: '' payload: type: array items: type: object properties: oldSecretVersion: type: string example: '' newSecretVersion: type: string example: '' channel: type: string example: cli ipAddress: type: string example: 192.168.0.1 updatedAt: type: string example: '2023-01-13T14:16:12.210Z' createdAt: type: string example: '2023-01-13T14:16:12.210Z' SecretSnapshot: type: object properties: workspace: type: string example: '' version: type: number example: 1 secretVersions: type: array items: type: object properties: _id: type: string example: '' SecretVersion: type: object properties: _id: type: string example: '' secret: type: string example: '' version: type: number example: 1 workspace: type: string example: '' type: type: string example: shared user: type: string example: '' environment: type: string example: dev isDeleted: type: string example: '' secretKeyCiphertext: type: string example: '' secretKeyIV: type: string example: '' secretKeyTag: type: string example: '' secretValueCiphertext: type: string example: '' secretValueIV: type: string example: '' secretValueTag: type: string example: '' ServiceTokenData: type: object properties: _id: type: string example: '' name: type: string example: '' workspace: type: string example: '' environment: type: string example: '' user: type: object properties: _id: type: string example: '' firstName: type: string example: '' lastName: type: string example: '' expiresAt: type: string example: '2023-01-13T14:16:12.210Z' encryptedKey: type: string example: '' iv: type: string example: '' tag: type: string example: '' updatedAt: type: string example: '2023-01-13T14:16:12.210Z' createdAt: type: string example: '2023-01-13T14:16:12.210Z' AuditLog: type: object properties: actor: type: object properties: type: type: string example: '' metadata: type: object properties: {} organization: type: string example: '' workspace: type: string example: '' ipAddress: type: string example: '' event: type: object properties: type: type: string example: '' metadata: type: object properties: {} userAgent: type: string example: '' userAgentType: type: string example: '' expiresAt: type: string example: '' securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: An access token in Infisical apiKeyAuth: type: apiKey in: header name: X-API-Key description: An API Key in Infisical