openapi: 3.0.3 info: title: Infisical Admin Project Identities API description: List of all available APIs that can be consumed version: 0.0.1 servers: - url: https://us.infisical.com description: Production server (US) - url: https://eu.infisical.com description: Production server (EU) - url: http://localhost:8080 description: Local server tags: - name: Project Identities paths: /api/v1/projects/{projectId}/identity-memberships/{identityId}: post: tags: - Project Identities description: Create project identity membership requestBody: required: true content: application/json: schema: type: object properties: role: type: string default: no-access roles: type: array items: anyOf: - type: object properties: role: type: string description: The role slug to assign to the newly created identity project membership. isTemporary: type: boolean enum: - false default: false description: The role slug to assign to the newly created identity project membership. required: - role additionalProperties: false - type: object properties: role: type: string description: The role slug to assign to the newly created identity project membership. isTemporary: type: boolean enum: - true description: The role slug to assign to the newly created identity project membership. temporaryMode: type: string enum: - relative description: The role slug to assign to the newly created identity project membership. temporaryRange: type: string description: The role slug to assign to the newly created identity project membership. temporaryAccessStartTime: type: string format: date-time description: The role slug to assign to the newly created identity project membership. required: - role - isTemporary - temporaryMode - temporaryRange - temporaryAccessStartTime additionalProperties: false description: A list of role slugs to assign to the newly created identity project membership. additionalProperties: false parameters: - schema: type: string in: path name: projectId required: true - schema: type: string in: path name: identityId required: true security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: identityMembership: type: object properties: id: type: string format: uuid projectId: type: string identityId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - projectId - identityId - createdAt - updatedAt additionalProperties: false required: - identityMembership additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: tags: - Project Identities description: Update project identity memberships requestBody: required: true content: application/json: schema: type: object properties: roles: type: array items: anyOf: - type: object properties: role: type: string description: The role slug to assign to the newly created identity project membership. isTemporary: type: boolean enum: - false default: false description: Whether the assigned role is temporary. If isTemporary is set true, must provide temporaryMode, temporaryRange and temporaryAccessStartTime. required: - role additionalProperties: false - type: object properties: role: type: string description: The role slug to assign to the newly created identity project membership. isTemporary: type: boolean enum: - true description: Whether the assigned role is temporary. If isTemporary is set true, must provide temporaryMode, temporaryRange and temporaryAccessStartTime. temporaryMode: type: string enum: - relative description: Type of temporary expiry. temporaryRange: type: string description: Expiry time for temporary access. In relative mode it could be 1s, 2m ,3h, etc. temporaryAccessStartTime: type: string format: date-time description: Time to which the temporary access starts. required: - role - isTemporary - temporaryMode - temporaryRange - temporaryAccessStartTime additionalProperties: false minItems: 1 description: A list of role slugs to assign to the identity project membership. required: - roles additionalProperties: false parameters: - schema: type: string in: path name: projectId required: true description: The ID of the project to update the identity membership for. - schema: type: string in: path name: identityId required: true description: The ID of the machine identity to update the membership for. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: roles: type: array items: type: object properties: id: type: string format: uuid role: type: string projectMembershipId: type: string format: uuid customRoleId: type: string format: uuid nullable: true isTemporary: type: boolean default: false temporaryMode: type: string nullable: true temporaryRange: type: string nullable: true temporaryAccessStartTime: type: string format: date-time nullable: true temporaryAccessEndTime: type: string format: date-time nullable: true createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - role - projectMembershipId - createdAt - updatedAt additionalProperties: false required: - roles additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: tags: - Project Identities description: Delete project identity memberships parameters: - schema: type: string in: path name: projectId required: true description: The ID of the project to delete the identity membership from. - schema: type: string in: path name: identityId required: true description: The ID of the machine identity to delete the membership from. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: identityMembership: type: object properties: id: type: string format: uuid projectId: type: string identityId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - projectId - identityId - createdAt - updatedAt additionalProperties: false required: - identityMembership additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false get: tags: - Project Identities description: Return project identity membership parameters: - schema: type: string in: path name: projectId required: true description: The ID of the project to get the identity membership for. - schema: type: string in: path name: identityId required: true description: The ID of the machine identity to get the membership for. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: identityMembership: type: object properties: id: type: string identityId: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time roles: type: array items: type: object properties: id: type: string role: type: string customRoleId: type: string nullable: true customRoleName: type: string nullable: true customRoleSlug: type: string nullable: true isTemporary: type: boolean temporaryMode: type: string nullable: true temporaryRange: type: string nullable: true temporaryAccessStartTime: type: string format: date-time nullable: true temporaryAccessEndTime: type: string format: date-time nullable: true required: - id - role - isTemporary additionalProperties: false lastLoginAuthMethod: type: string nullable: true lastLoginTime: type: string format: date-time nullable: true identity: type: object properties: name: type: string id: type: string format: uuid projectId: type: string nullable: true orgId: type: string format: uuid authMethods: type: array items: type: string required: - name - id - orgId - authMethods additionalProperties: false project: type: object properties: name: type: string id: type: string required: - name - id additionalProperties: false required: - id - identityId - createdAt - updatedAt - roles - identity - project additionalProperties: false required: - identityMembership additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v1/projects/{projectId}/identity-memberships: get: tags: - Project Identities description: Return project identity memberships parameters: - schema: type: number minimum: 0 default: 0 in: query name: offset required: false description: The offset to start from. If you enter 10, it will start from the 10th identity membership. - schema: type: number minimum: 1 maximum: 20000 default: 100 in: query name: limit required: false description: The number of identity memberships to return. - schema: type: string enum: - name default: name in: query name: orderBy required: false description: The column to order identity memberships by. - schema: type: string enum: - asc - desc default: asc in: query name: orderDirection required: false description: The direction identity memberships will be sorted in. - schema: type: string in: query name: search required: false description: The text string that identity membership names will be filtered by. - schema: type: string in: path name: projectId required: true description: The ID of the project to get identity memberships from. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: identityMemberships: type: array items: type: object properties: id: type: string identityId: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time roles: type: array items: type: object properties: id: type: string role: type: string customRoleId: type: string nullable: true customRoleName: type: string nullable: true customRoleSlug: type: string nullable: true isTemporary: type: boolean temporaryMode: type: string nullable: true temporaryRange: type: string nullable: true temporaryAccessStartTime: type: string format: date-time nullable: true temporaryAccessEndTime: type: string format: date-time nullable: true required: - id - role - isTemporary additionalProperties: false identity: type: object properties: name: type: string id: type: string format: uuid projectId: type: string nullable: true orgId: type: string format: uuid authMethods: type: array items: type: string required: - name - id - orgId - authMethods additionalProperties: false project: type: object properties: name: type: string id: type: string required: - name - id additionalProperties: false required: - id - identityId - createdAt - updatedAt - roles - identity - project additionalProperties: false totalCount: type: number required: - identityMemberships - totalCount additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v1/projects/identity-memberships/{identityMembershipId}: get: tags: - Project Identities parameters: - schema: type: string in: path name: identityMembershipId required: true responses: '200': description: Default Response content: application/json: schema: type: object properties: identityMembership: type: object properties: id: type: string identityId: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time roles: type: array items: type: object properties: id: type: string role: type: string customRoleId: type: string nullable: true customRoleName: type: string nullable: true customRoleSlug: type: string nullable: true isTemporary: type: boolean temporaryMode: type: string nullable: true temporaryRange: type: string nullable: true temporaryAccessStartTime: type: string format: date-time nullable: true temporaryAccessEndTime: type: string format: date-time nullable: true required: - id - role - isTemporary additionalProperties: false identity: type: object properties: name: type: string id: type: string format: uuid authMethods: type: array items: type: string required: - name - id - authMethods additionalProperties: false project: type: object properties: name: type: string id: type: string required: - name - id additionalProperties: false required: - id - identityId - createdAt - updatedAt - roles - identity - project additionalProperties: false required: - identityMembership additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v1/projects/{projectId}/memberships/identities/{identityId}: post: operationId: createProjectIdentityMembership tags: - Project Identities description: Create project identity membership requestBody: required: true content: application/json: schema: type: object properties: role: type: string default: no-access roles: type: array items: anyOf: - type: object properties: role: type: string description: The role slug to assign to the newly created identity project membership. isTemporary: type: boolean enum: - false default: false description: The role slug to assign to the newly created identity project membership. required: - role additionalProperties: false - type: object properties: role: type: string description: The role slug to assign to the newly created identity project membership. isTemporary: type: boolean enum: - true description: The role slug to assign to the newly created identity project membership. temporaryMode: type: string enum: - relative description: The role slug to assign to the newly created identity project membership. temporaryRange: type: string description: The role slug to assign to the newly created identity project membership. temporaryAccessStartTime: type: string format: date-time description: The role slug to assign to the newly created identity project membership. required: - role - isTemporary - temporaryMode - temporaryRange - temporaryAccessStartTime additionalProperties: false description: A list of role slugs to assign to the newly created identity project membership. additionalProperties: false parameters: - schema: type: string in: path name: projectId required: true - schema: type: string in: path name: identityId required: true security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: identityMembership: type: object properties: id: type: string format: uuid projectId: type: string identityId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - projectId - identityId - createdAt - updatedAt additionalProperties: false required: - identityMembership additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: operationId: updateProjectIdentityMembership tags: - Project Identities description: Update project identity memberships requestBody: required: true content: application/json: schema: type: object properties: roles: type: array items: anyOf: - type: object properties: role: type: string description: The role slug to assign to the newly created identity project membership. isTemporary: type: boolean enum: - false default: false description: Whether the assigned role is temporary. If isTemporary is set true, must provide temporaryMode, temporaryRange and temporaryAccessStartTime. required: - role additionalProperties: false - type: object properties: role: type: string description: The role slug to assign to the newly created identity project membership. isTemporary: type: boolean enum: - true description: Whether the assigned role is temporary. If isTemporary is set true, must provide temporaryMode, temporaryRange and temporaryAccessStartTime. temporaryMode: type: string enum: - relative description: Type of temporary expiry. temporaryRange: type: string description: Expiry time for temporary access. In relative mode it could be 1s, 2m ,3h, etc. temporaryAccessStartTime: type: string format: date-time description: Time to which the temporary access starts. required: - role - isTemporary - temporaryMode - temporaryRange - temporaryAccessStartTime additionalProperties: false minItems: 1 description: A list of role slugs to assign to the identity project membership. required: - roles additionalProperties: false parameters: - schema: type: string in: path name: projectId required: true description: The ID of the project to update the identity membership for. - schema: type: string in: path name: identityId required: true description: The ID of the machine identity to update the membership for. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: identityMembership: type: object properties: id: type: string format: uuid projectId: type: string identityId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - projectId - identityId - createdAt - updatedAt additionalProperties: false required: - identityMembership additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: operationId: deleteProjectIdentityMembership tags: - Project Identities description: Delete project identity memberships parameters: - schema: type: string in: path name: projectId required: true description: The ID of the project to delete the identity membership from. - schema: type: string in: path name: identityId required: true description: The ID of the machine identity to delete the membership from. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: identityMembership: type: object properties: id: type: string format: uuid projectId: type: string identityId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - projectId - identityId - createdAt - updatedAt additionalProperties: false required: - identityMembership additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/workspace/{projectId}/identity-memberships/{identityId}: post: tags: - Project Identities description: Create project identity membership requestBody: required: true content: application/json: schema: type: object properties: role: type: string default: no-access roles: type: array items: anyOf: - type: object properties: role: type: string description: The role slug to assign to the newly created identity project membership. isTemporary: type: boolean enum: - false default: false description: The role slug to assign to the newly created identity project membership. required: - role additionalProperties: false - type: object properties: role: type: string description: The role slug to assign to the newly created identity project membership. isTemporary: type: boolean enum: - true description: The role slug to assign to the newly created identity project membership. temporaryMode: type: string enum: - relative description: The role slug to assign to the newly created identity project membership. temporaryRange: type: string description: The role slug to assign to the newly created identity project membership. temporaryAccessStartTime: type: string format: date-time description: The role slug to assign to the newly created identity project membership. required: - role - isTemporary - temporaryMode - temporaryRange - temporaryAccessStartTime additionalProperties: false description: A list of role slugs to assign to the newly created identity project membership. additionalProperties: false parameters: - schema: type: string in: path name: projectId required: true - schema: type: string in: path name: identityId required: true security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: identityMembership: type: object properties: id: type: string format: uuid projectId: type: string identityId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - projectId - identityId - createdAt - updatedAt additionalProperties: false required: - identityMembership additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false patch: tags: - Project Identities description: Update project identity memberships requestBody: required: true content: application/json: schema: type: object properties: roles: type: array items: anyOf: - type: object properties: role: type: string description: The role slug to assign to the newly created identity project membership. isTemporary: type: boolean enum: - false default: false description: Whether the assigned role is temporary. If isTemporary is set true, must provide temporaryMode, temporaryRange and temporaryAccessStartTime. required: - role additionalProperties: false - type: object properties: role: type: string description: The role slug to assign to the newly created identity project membership. isTemporary: type: boolean enum: - true description: Whether the assigned role is temporary. If isTemporary is set true, must provide temporaryMode, temporaryRange and temporaryAccessStartTime. temporaryMode: type: string enum: - relative description: Type of temporary expiry. temporaryRange: type: string description: Expiry time for temporary access. In relative mode it could be 1s, 2m ,3h, etc. temporaryAccessStartTime: type: string format: date-time description: Time to which the temporary access starts. required: - role - isTemporary - temporaryMode - temporaryRange - temporaryAccessStartTime additionalProperties: false minItems: 1 description: A list of role slugs to assign to the identity project membership. required: - roles additionalProperties: false parameters: - schema: type: string in: path name: projectId required: true description: The ID of the project to update the identity membership for. - schema: type: string in: path name: identityId required: true description: The ID of the machine identity to update the membership for. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: roles: type: array items: type: object properties: id: type: string format: uuid role: type: string projectMembershipId: type: string format: uuid customRoleId: type: string format: uuid nullable: true isTemporary: type: boolean default: false temporaryMode: type: string nullable: true temporaryRange: type: string nullable: true temporaryAccessStartTime: type: string format: date-time nullable: true temporaryAccessEndTime: type: string format: date-time nullable: true createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - role - projectMembershipId - createdAt - updatedAt additionalProperties: false required: - roles additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false delete: tags: - Project Identities description: Delete project identity memberships parameters: - schema: type: string in: path name: projectId required: true description: The ID of the project to delete the identity membership from. - schema: type: string in: path name: identityId required: true description: The ID of the machine identity to delete the membership from. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: identityMembership: type: object properties: id: type: string format: uuid projectId: type: string identityId: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - projectId - identityId - createdAt - updatedAt additionalProperties: false required: - identityMembership additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false get: tags: - Project Identities description: Return project identity membership parameters: - schema: type: string in: path name: projectId required: true description: The ID of the project to get the identity membership for. - schema: type: string in: path name: identityId required: true description: The ID of the machine identity to get the membership for. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: identityMembership: type: object properties: id: type: string identityId: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time roles: type: array items: type: object properties: id: type: string role: type: string customRoleId: type: string nullable: true customRoleName: type: string nullable: true customRoleSlug: type: string nullable: true isTemporary: type: boolean temporaryMode: type: string nullable: true temporaryRange: type: string nullable: true temporaryAccessStartTime: type: string format: date-time nullable: true temporaryAccessEndTime: type: string format: date-time nullable: true required: - id - role - isTemporary additionalProperties: false identity: type: object properties: name: type: string id: type: string format: uuid authMethods: type: array items: type: string required: - name - id - authMethods additionalProperties: false project: type: object properties: name: type: string id: type: string required: - name - id additionalProperties: false required: - id - identityId - createdAt - updatedAt - roles - identity - project additionalProperties: false required: - identityMembership additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/workspace/{projectId}/identity-memberships: get: tags: - Project Identities description: Return project identity memberships parameters: - schema: type: number minimum: 0 default: 0 in: query name: offset required: false description: The offset to start from. If you enter 10, it will start from the 10th identity membership. - schema: type: number minimum: 1 maximum: 20000 default: 100 in: query name: limit required: false description: The number of identity memberships to return. - schema: type: string enum: - name default: name in: query name: orderBy required: false description: The column to order identity memberships by. - schema: type: string enum: - asc - desc default: asc in: query name: orderDirection required: false description: The direction identity memberships will be sorted in. - schema: type: string in: query name: search required: false description: The text string that identity membership names will be filtered by. - schema: type: string in: path name: projectId required: true description: The ID of the project to get identity memberships from. security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: identityMemberships: type: array items: type: object properties: id: type: string identityId: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time roles: type: array items: type: object properties: id: type: string role: type: string customRoleId: type: string nullable: true customRoleName: type: string nullable: true customRoleSlug: type: string nullable: true isTemporary: type: boolean temporaryMode: type: string nullable: true temporaryRange: type: string nullable: true temporaryAccessStartTime: type: string format: date-time nullable: true temporaryAccessEndTime: type: string format: date-time nullable: true required: - id - role - isTemporary additionalProperties: false identity: type: object properties: name: type: string id: type: string format: uuid authMethods: type: array items: type: string required: - name - id - authMethods additionalProperties: false project: type: object properties: name: type: string id: type: string required: - name - id additionalProperties: false required: - id - identityId - createdAt - updatedAt - roles - identity - project additionalProperties: false totalCount: type: number required: - identityMemberships - totalCount additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false /api/v2/workspace/identity-memberships/{identityMembershipId}: get: tags: - Project Identities parameters: - schema: type: string in: path name: identityMembershipId required: true responses: '200': description: Default Response content: application/json: schema: type: object properties: identityMembership: type: object properties: id: type: string identityId: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time roles: type: array items: type: object properties: id: type: string role: type: string customRoleId: type: string nullable: true customRoleName: type: string nullable: true customRoleSlug: type: string nullable: true isTemporary: type: boolean temporaryMode: type: string nullable: true temporaryRange: type: string nullable: true temporaryAccessStartTime: type: string format: date-time nullable: true temporaryAccessEndTime: type: string format: date-time nullable: true required: - id - role - isTemporary additionalProperties: false identity: type: object properties: name: type: string id: type: string format: uuid authMethods: type: array items: type: string required: - name - id - authMethods additionalProperties: false project: type: object properties: name: type: string id: type: string required: - name - id additionalProperties: false required: - id - identityId - createdAt - updatedAt - roles - identity - project additionalProperties: false required: - identityMembership additionalProperties: false '400': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 400 message: type: string error: type: string details: {} required: - reqId - statusCode - message - error additionalProperties: false '401': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 401 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '403': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 403 message: type: string details: {} error: type: string required: - reqId - statusCode - message - error additionalProperties: false '404': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 404 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false '422': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 422 message: {} error: type: string required: - reqId - statusCode - error additionalProperties: false '500': description: Default Response content: application/json: schema: type: object properties: reqId: type: string statusCode: type: number enum: - 500 message: type: string error: type: string required: - reqId - statusCode - message - error additionalProperties: false components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: An access token in Infisical