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://infisical.com description: Production server - url: http://localhost:8080 description: Local server paths: /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 '400': description: Bad Request /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 '400': description: Bad Request 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 '400': description: Bad Request /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 - 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 '400': description: Bad Request /api/v1/workspace/{workspaceId}/secret-snapshots/count: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /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 responses: '200': description: OK content: application/json: schema: type: object properties: secrets: type: array items: $ref: '#/components/schemas/Secret' description: Secrets rolled back to '400': description: Bad Request requestBody: required: true content: application/json: schema: type: object properties: version: type: integer description: Version of secret snapshot to roll back to /api/v1/workspace/{workspaceId}/logs: get: summary: Return project (audit) logs description: Return project (audit) logs parameters: - name: workspaceId in: path required: true schema: type: string description: ID of project - name: userId description: ID of project member required: false in: query schema: type: string - name: offset description: Number of logs to skip required: false in: query schema: type: string - name: limit description: Maximum number of logs to return required: false in: query schema: type: string - name: sortBy description: Order to sort the logs by schema: type: string enum: - oldest - recent required: false in: query - name: actionNames description: Names of log actions (comma-separated) required: false in: query schema: type: string responses: '200': description: OK content: application/json: schema: type: object properties: logs: type: array items: $ref: '#/components/schemas/Log' description: Project logs '400': description: Bad Request /api/v1/action/{actionId}: get: description: '' parameters: - name: actionId in: path required: true schema: type: string responses: '200': description: OK /api/v1/signup/email/signup: post: description: '' parameters: [] responses: '200': description: OK '400': description: Bad Request '403': description: Forbidden requestBody: content: application/json: schema: type: object properties: email: example: any /api/v1/signup/email/verify: post: description: '' parameters: [] responses: '200': description: OK '400': description: Bad Request '403': description: Forbidden requestBody: content: application/json: schema: type: object properties: email: example: any code: example: any /api/v1/auth/token: post: description: '' parameters: [] responses: '200': description: OK '400': description: Bad Request /api/v1/auth/login1: post: description: '' parameters: [] responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: email: example: any clientPublicKey: example: any /api/v1/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/v1/auth/logout: post: description: '' parameters: - name: user-agent in: header schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v1/auth/checkAuth: post: description: '' parameters: [] responses: '200': description: OK /api/v1/bot/{workspaceId}: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /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 requestBody: content: application/json: schema: type: object properties: isActive: example: any botKey: example: any /api/v1/user/: get: description: '' parameters: [] responses: '200': description: OK /api/v1/user-action/: post: description: '' parameters: [] responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: action: example: any get: description: '' parameters: - name: action in: query schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v1/organization/: get: description: '' parameters: [] responses: '200': description: OK '400': description: Bad Request post: description: '' parameters: [] responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: organizationName: example: any /api/v1/organization/{organizationId}: get: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v1/organization/{organizationId}/users: get: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v1/organization/{organizationId}/my-workspaces: get: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v1/organization/{organizationId}/name: patch: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: name: example: any /api/v1/organization/{organizationId}/incidentContactOrg: get: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request post: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: email: example: any delete: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: email: example: any /api/v1/organization/{organizationId}/customer-portal-session: post: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v1/organization/{organizationId}/subscriptions: get: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /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 '400': description: Bad Request /api/v1/workspace/{workspaceId}/users: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v1/workspace/: get: description: '' parameters: [] responses: '200': description: OK '400': description: Bad Request post: description: '' parameters: [] responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: workspaceName: example: any organizationId: example: any /api/v1/workspace/{workspaceId}: get: description: '' parameters: - name: workspaceId 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 responses: '200': description: OK '400': description: Bad Request /api/v1/workspace/{workspaceId}/name: post: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: name: example: any /api/v1/workspace/{workspaceId}/invite-signup: post: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: email: example: any /api/v1/workspace/{workspaceId}/integrations: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v1/workspace/{workspaceId}/authorizations: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v1/workspace/{workspaceId}/service-tokens: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /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: '400': description: Bad Request /api/v1/membership/{workspaceId}/connect: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v1/membership/{membershipId}: delete: description: '' parameters: - name: membershipId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /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 requestBody: content: application/json: schema: type: object properties: role: example: any /api/v1/membership/{membershipId}/deny-permissions: post: description: '' parameters: - name: membershipId in: path required: true schema: type: string responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: permissions: example: any /api/v1/key/{workspaceId}: post: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: key: example: any /api/v1/key/{workspaceId}/latest: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v1/invite-org/signup: post: description: '' parameters: - name: host in: header schema: type: string responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: organizationId: example: any inviteeEmail: example: any /api/v1/invite-org/verify: post: description: '' parameters: [] responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: email: example: any code: example: any /api/v1/secret/{workspaceId}: post: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request 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 '400': description: Bad Request /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 '400': description: Bad Request /api/v1/service-token/: get: description: '' parameters: [] responses: '200': description: OK post: description: '' parameters: [] 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: '' parameters: [] responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: clientPublicKey: example: any /api/v1/password/change-password: post: description: '' parameters: [] responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: clientProof: example: any protectedKey: example: any protectedKeyIV: example: any protectedKeyTag: example: any encryptedPrivateKey: example: any encryptedPrivateKeyIV: example: any encryptedPrivateKeyTag: example: any salt: example: any verifier: example: any /api/v1/password/email/password-reset: post: description: '' parameters: [] responses: '200': description: OK '400': description: Bad Request '403': description: Forbidden requestBody: content: application/json: schema: type: object properties: email: example: any /api/v1/password/email/password-reset-verify: post: description: '' parameters: [] responses: '200': description: OK '400': description: Bad Request '403': description: Forbidden requestBody: content: application/json: schema: type: object properties: email: example: any code: example: any /api/v1/password/backup-private-key: get: description: '' parameters: [] responses: '200': description: OK '400': description: Bad Request post: description: '' parameters: [] responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: clientProof: example: any encryptedPrivateKey: example: any iv: example: any tag: example: any salt: example: any verifier: example: any /api/v1/password/password-reset: post: description: '' parameters: [] responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: protectedKey: example: any protectedKeyIV: example: any protectedKeyTag: example: any encryptedPrivateKey: example: any encryptedPrivateKeyIV: example: any encryptedPrivateKeyTag: example: any salt: example: any verifier: example: any /api/v1/stripe/webhook: post: description: '' parameters: - name: stripe-signature in: header schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v1/integration/: post: description: '' parameters: [] responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: integrationAuthId: example: any app: example: any appId: example: any isActive: example: any sourceEnvironment: example: any targetEnvironment: example: any targetEnvironmentId: example: any targetService: example: any targetServiceId: example: any owner: example: any path: example: any region: example: any /api/v1/integration/{integrationId}: patch: description: '' parameters: - name: integrationId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: environment: example: any isActive: example: any app: example: any appId: example: any targetEnvironment: example: any owner: example: any delete: description: '' parameters: - name: integrationId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v1/integration-auth/integration-options: get: description: '' parameters: [] 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: '' parameters: [] responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: workspaceId: example: any code: example: any integration: example: any /api/v1/integration-auth/access-token: post: description: '' parameters: [] responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: workspaceId: example: any accessId: example: any accessToken: example: any integration: example: any /api/v1/integration-auth/{integrationAuthId}/apps: get: description: '' parameters: - name: integrationAuthId in: path required: true schema: type: string - name: teamId in: query schema: type: string responses: '200': description: OK '400': description: Bad Request /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 - name: appId in: query 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 - name: appId in: query 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 - name: appId in: query schema: type: string responses: '200': description: OK /api/v2/signup/complete-account/signup: post: description: '' parameters: [] responses: '200': description: OK '400': description: Bad Request '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: [] responses: '200': description: OK '400': description: Bad Request '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: '' parameters: [] responses: '200': description: OK '400': description: Bad Request 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: '' parameters: [] responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: email: example: any /api/v2/auth/mfa/verify: post: description: '' parameters: - name: user-agent in: header schema: type: string responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: email: example: any mfaToken: example: any /api/v2/users/me: get: summary: Retrieve the current user on the request description: Retrieve the current user on the request parameters: [] responses: '200': description: OK content: application/json: schema: type: object properties: user: type: object $ref: '#/components/schemas/CurrentUser' description: Current user on request '400': description: Bad Request /api/v2/users/me/mfa: patch: description: '' parameters: [] responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: isMfaEnabled: example: any /api/v2/users/me/organizations: get: summary: Return organizations that current user is part of description: Return organizations that current user is part of parameters: [] 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 '400': description: Bad Request /api/v2/organizations/{organizationId}/memberships: get: summary: Return organization memberships description: Return organization 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 '400': description: Bad Request /api/v2/organizations/{organizationId}/memberships/{membershipId}: patch: summary: Update organization membership description: Update organization 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 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 membership description: Delete organization 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 '400': description: Bad Request /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 /api/v2/organizations/{organizationId}/service-accounts: get: description: '' parameters: - name: organizationId in: path required: true schema: type: string responses: '200': description: OK /api/v2/workspace/{workspaceId}/environments: post: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: environmentName: example: any environmentSlug: example: any put: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: environmentName: example: any environmentSlug: example: any oldEnvironmentSlug: example: any delete: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: environmentSlug: example: any get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK /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 requestBody: content: application/json: schema: type: object properties: name: example: any slug: example: any /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 '400': description: Bad Request 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 '400': description: Bad Request /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 '400': description: Bad Request /api/v2/workspace/{workspaceId}/service-token-data: get: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v2/workspace/{workspaceId}/memberships: get: summary: Return project memberships description: Return project 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 '400': description: Bad Request /api/v2/workspace/{workspaceId}/memberships/{membershipId}: patch: summary: Update project membership description: Update project 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 '400': description: Bad Request requestBody: required: true content: application/json: schema: type: object properties: role: type: string description: Role of membership - either admin or member delete: summary: Delete project membership description: Delete project 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 '400': description: Bad Request /api/v2/workspace/{workspaceId}/auto-capitalization: patch: description: '' parameters: - name: workspaceId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: autoCapitalization: example: any /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 requestBody: content: application/json: schema: type: object properties: workspaceId: example: any environment: example: any requests: example: any /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 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 - name: user-agent in: header schema: type: string - name: content 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 patch: summary: Update secret(s) description: Update secret(s) parameters: [] responses: '200': description: OK content: application/json: schema: type: object properties: secrets: type: array items: $ref: '#/components/schemas/Secret' description: Updated secrets 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 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 parameters: [] 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: '' parameters: [] responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: name: example: any workspaceId: example: any environment: example: any encryptedKey: example: any iv: example: any tag: example: any expiresIn: example: any permissions: example: any /api/v2/service-token/{serviceTokenDataId}: delete: description: '' parameters: - name: serviceTokenDataId in: path required: true schema: type: string responses: '200': description: OK /api/v2/service-accounts/me: get: description: '' parameters: [] responses: '200': description: OK /api/v2/service-accounts/{serviceAccountId}: get: description: '' parameters: - name: serviceAccountId in: path required: true schema: type: string responses: '200': description: OK delete: description: '' parameters: - name: serviceAccountId in: path required: true schema: type: string responses: '200': description: OK /api/v2/service-accounts/: post: description: '' parameters: [] responses: '200': description: OK /api/v2/service-accounts/{serviceAccountId}/name: patch: description: '' parameters: - name: serviceAccountId in: path required: true schema: type: string responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: name: example: any /api/v2/service-accounts/{serviceAccountId}/permissions/workspace: get: description: '' parameters: - name: serviceAccountId in: path required: true schema: type: string responses: '200': description: OK post: description: '' parameters: - name: serviceAccountId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: environment: example: any workspaceId: example: any read: example: any write: example: any encryptedKey: example: any nonce: example: any /api/v2/service-accounts/{serviceAccountId}/permissions/workspace/{serviceAccountWorkspacePermissionId}: delete: description: '' parameters: - name: serviceAccountId in: path required: true schema: type: string - name: serviceAccountWorkspacePermissionId in: path required: true schema: type: string responses: '200': description: OK /api/v2/service-accounts/{serviceAccountId}/keys: get: description: '' parameters: - name: serviceAccountId in: path required: true schema: type: string - name: workspaceId in: query schema: type: string responses: '200': description: OK /api/v2/api-key/: get: description: '' parameters: [] responses: '200': description: OK '400': description: Bad Request post: description: '' parameters: [] responses: '200': description: OK '400': description: Bad Request requestBody: content: application/json: schema: type: object properties: name: example: any expiresIn: example: any /api/v2/api-key/{apiKeyDataId}: delete: description: '' parameters: - name: apiKeyDataId in: path required: true schema: type: string responses: '200': description: OK '400': description: Bad Request /api/v3/secrets/: get: description: '' parameters: - name: workspaceId in: query schema: type: string - name: environment in: query schema: type: string responses: '200': description: OK /api/v3/secrets/{secretName}: post: description: '' parameters: - name: secretName in: path required: true schema: type: string responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: workspaceId: example: any environment: example: any type: example: any secretKeyCiphertext: example: any secretKeyIV: example: any secretKeyTag: example: any secretValueCiphertext: example: any secretValueIV: example: any secretValueTag: example: any secretCommentCiphertext: example: any secretCommentIV: example: any secretCommentTag: example: any get: description: '' parameters: - name: secretName in: path required: true schema: type: string - name: workspaceId in: query schema: type: string - name: environment in: query schema: type: string - name: type in: query schema: type: string responses: '200': description: OK patch: description: '' parameters: - name: secretName in: path required: true schema: type: string responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: workspaceId: example: any environment: example: any type: example: any secretValueCiphertext: example: any secretValueIV: example: any secretValueTag: example: any delete: description: '' parameters: - name: secretName in: path required: true schema: type: string responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: workspaceId: example: any environment: example: any type: example: any /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 requestBody: content: application/json: schema: type: object properties: secretsToUpdate: example: any /api/status: get: description: '' parameters: [] 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' 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 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' 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' securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: >- This security definition uses the HTTP 'bearer' scheme, which allows the client to authenticate using a JSON Web Token (JWT) that is passed in the Authorization header of the request. apiKeyAuth: type: apiKey in: header name: X-API-Key description: >- This security definition uses an API key, which is passed in the header of the request as the value of the "X-API-Key" header. The client must provide a valid key in order to access the API.