openapi: 3.0.3 info: title: Infisical Admin Groups 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: Groups paths: /api/v1/groups: post: operationId: createGroup tags: - Groups requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 255 description: The name of the group to create. slug: type: string minLength: 5 maxLength: 255 description: The slug of the group to create. role: type: string minLength: 1 default: no-access description: The role of the group to create. required: - name additionalProperties: false responses: '200': description: Default Response content: application/json: schema: type: object properties: id: type: string format: uuid orgId: type: string format: uuid name: type: string slug: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - orgId - name - slug - createdAt - updatedAt 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: operationId: listGroups tags: - Groups responses: '200': description: Default Response content: application/json: schema: type: array items: type: object properties: id: type: string format: uuid orgId: type: string format: uuid name: type: string slug: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time role: type: string roleId: type: string nullable: true required: - id - orgId - name - slug - createdAt - updatedAt - role 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/groups/{id}: get: operationId: getGroupById tags: - Groups parameters: - schema: type: string in: path name: id required: true description: The ID of the group to fetch. responses: '200': description: Default Response content: application/json: schema: type: object properties: id: type: string format: uuid orgId: type: string format: uuid name: type: string slug: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time role: type: string roleId: type: string nullable: true customRoleSlug: type: string nullable: true required: - id - orgId - name - slug - createdAt - updatedAt - role - customRoleSlug 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: updateGroup tags: - Groups requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 maxLength: 255 description: The new name of the group to update to. slug: type: string minLength: 5 maxLength: 255 description: The new slug of the group to update to. role: type: string minLength: 1 description: The new role of the group to update to. additionalProperties: false parameters: - schema: type: string in: path name: id required: true description: The ID of the group to update. responses: '200': description: Default Response content: application/json: schema: type: object properties: id: type: string format: uuid orgId: type: string format: uuid name: type: string slug: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - orgId - name - slug - createdAt - updatedAt 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: deleteGroup tags: - Groups parameters: - schema: type: string in: path name: id required: true description: The ID of the group to delete. responses: '200': description: Default Response content: application/json: schema: type: object properties: id: type: string format: uuid orgId: type: string format: uuid name: type: string slug: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - orgId - name - slug - createdAt - updatedAt 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/groups/{id}/users: get: operationId: listGroupUsers tags: - Groups 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 user. - schema: type: number minimum: 1 maximum: 100 default: 10 in: query name: limit required: false description: The number of users to return. - schema: type: string in: query name: username required: false description: The username to search for. - schema: type: string in: query name: search required: false description: The text string that user email or name will be filtered by. - schema: type: string enum: - existingMembers - nonMembers in: query name: filter required: false description: Whether to filter the list of returned users. 'existingMembers' will only return existing users in the group, 'nonMembers' will only return users not in the group, undefined will return all users in the organization. - schema: type: string in: path name: id required: true description: The ID of the group to list users for. responses: '200': description: Default Response content: application/json: schema: type: object properties: users: type: array items: type: object properties: email: type: string nullable: true username: type: string firstName: type: string nullable: true lastName: type: string nullable: true id: type: string format: uuid isPartOfGroup: type: boolean joinedGroupAt: type: string format: date-time nullable: true required: - username - id - isPartOfGroup - joinedGroupAt additionalProperties: false totalCount: type: number required: - users - 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/groups/{id}/machine-identities: get: operationId: listGroupMachineIdentities tags: - Groups 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. - schema: type: number minimum: 1 maximum: 100 default: 10 in: query name: limit required: false description: The number of identities to return. - schema: type: string in: query name: search required: false description: The text string that machine identity name will be filtered by. - schema: type: string enum: - assignedMachineIdentities - nonAssignedMachineIdentities in: query name: filter required: false description: Whether to filter the list of returned identities. 'assignedMachineIdentities' will only return identities assigned to the group, 'nonAssignedMachineIdentities' will only return identities not assigned to the group, undefined will return all identities in the organization. - schema: type: string in: path name: id required: true description: The ID of the group to list identities for. responses: '200': description: Default Response content: application/json: schema: type: object properties: machineIdentities: type: array items: type: object properties: id: type: string format: uuid name: type: string isPartOfGroup: type: boolean joinedGroupAt: type: string format: date-time nullable: true required: - id - name - isPartOfGroup - joinedGroupAt additionalProperties: false totalCount: type: number required: - machineIdentities - 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/groups/{id}/members: get: operationId: listGroupMembers tags: - Groups 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 member. - schema: type: number minimum: 1 maximum: 100 default: 10 in: query name: limit required: false description: The number of members to return. - schema: type: string in: query name: search required: false description: The text string that member email(in case of users) or name(in case of machine identities) will be filtered by. - schema: type: string enum: - name default: name in: query name: orderBy required: false description: The column to order members by. - schema: type: string enum: - asc - desc in: query name: orderDirection required: false description: The direction to order members in. - schema: anyOf: - type: string enum: - users - machineIdentities - type: array items: type: string enum: - users - machineIdentities in: query name: memberTypeFilter required: false description: Filter members by type. Can be a single value ('users' or 'machineIdentities') or an array of values. If not specified, both users and machine identities will be returned. - schema: type: string in: path name: id required: true description: The ID of the group to list members for. responses: '200': description: Default Response content: application/json: schema: type: object properties: members: type: array items: anyOf: - type: object properties: id: type: string joinedGroupAt: type: string format: date-time nullable: true type: type: string enum: - user user: type: object properties: id: type: string format: uuid firstName: type: string nullable: true lastName: type: string nullable: true email: type: string nullable: true username: type: string required: - id - username additionalProperties: false required: - id - joinedGroupAt - type - user additionalProperties: false - type: object properties: id: type: string joinedGroupAt: type: string format: date-time nullable: true type: type: string enum: - machineIdentity machineIdentity: type: object properties: id: type: string format: uuid name: type: string required: - id - name additionalProperties: false required: - id - joinedGroupAt - type - machineIdentity additionalProperties: false totalCount: type: number required: - members - 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/groups/{id}/projects: get: operationId: listGroupProjects tags: - Groups 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 project. - schema: type: number minimum: 1 maximum: 100 default: 10 in: query name: limit required: false description: The number of projects to return. - schema: type: string in: query name: search required: false description: The text string that project name or slug will be filtered by. - schema: type: string enum: - assignedProjects - unassignedProjects in: query name: filter required: false description: Whether to filter the list of returned projects. 'assignedProjects' will only return projects assigned to the group, 'unassignedProjects' will only return projects not assigned to the group, undefined will return all projects in the organization. - schema: type: string enum: - name default: name in: query name: orderBy required: false description: The column to order projects by. - schema: type: string enum: - asc - desc default: asc in: query name: orderDirection required: false description: The direction to order projects in. - schema: type: string in: path name: id required: true description: The ID of the group to list projects for. responses: '200': description: Default Response content: application/json: schema: type: object properties: projects: type: array items: type: object properties: id: type: string name: type: string slug: type: string description: type: string nullable: true type: type: string joinedGroupAt: type: string format: date-time nullable: true required: - id - name - slug - type - joinedGroupAt additionalProperties: false totalCount: type: number required: - projects - 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/groups/{id}/users/{username}: post: operationId: addUserToGroup tags: - Groups parameters: - schema: type: string in: path name: id required: true description: The ID of the group to add the user to. - schema: type: string in: path name: username required: true description: The username of the user to add to the group. responses: '200': description: Default Response content: application/json: schema: type: object properties: email: type: string nullable: true username: type: string firstName: type: string nullable: true lastName: type: string nullable: true id: type: string format: uuid required: - username - id 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: removeUserFromGroup tags: - Groups parameters: - schema: type: string in: path name: id required: true description: The ID of the group to remove the user from. - schema: type: string in: path name: username required: true description: The username of the user to remove from the group. responses: '200': description: Default Response content: application/json: schema: type: object properties: email: type: string nullable: true username: type: string firstName: type: string nullable: true lastName: type: string nullable: true id: type: string format: uuid required: - username - id 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/groups/{id}/machine-identities/{machineIdentityId}: post: operationId: addMachineIdentityToGroup tags: - Groups parameters: - schema: type: string in: path name: id required: true description: The ID of the group to add the machine identity to. - schema: type: string in: path name: machineIdentityId required: true description: The ID of the machine identity to add to the group. responses: '200': description: Default Response content: application/json: schema: type: object properties: id: type: string required: - id 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: removeMachineIdentityFromGroup tags: - Groups parameters: - schema: type: string in: path name: id required: true description: The ID of the group to remove the machine identity from. - schema: type: string in: path name: machineIdentityId required: true description: The ID of the machine identity to remove from the group. responses: '200': description: Default Response content: application/json: schema: type: object properties: id: type: string required: - id 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/organization/available-groups: get: operationId: listAvailableOrganizationGroups tags: - Groups description: List available groups from parent org for linking to sub-organization responses: '200': description: Default Response content: application/json: schema: type: object properties: groups: type: array items: type: object properties: id: type: string format: uuid name: type: string slug: type: string required: - id - name - slug additionalProperties: false required: - groups 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/organizations/memberships/groups: get: operationId: listOrganizationGroupMemberships tags: - Groups description: List organization group memberships parameters: - schema: type: number minimum: 1 maximum: 100 default: 100 in: query name: limit required: false - schema: type: number minimum: 0 default: 0 in: query name: offset required: false - schema: type: string in: query name: search required: false - schema: anyOf: - type: string - type: array items: type: string in: query name: roles required: false - schema: type: string enum: - name - slug - role in: query name: orderBy required: false - schema: type: string enum: - asc - desc in: query name: orderDirection required: false security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: groupMemberships: type: array items: type: object properties: id: type: string format: uuid groupId: type: string format: uuid group: type: object properties: id: type: string format: uuid name: type: string slug: type: string orgId: type: string format: uuid required: - id - name - slug additionalProperties: false 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 createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - role - isTemporary additionalProperties: false createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - groupId - group - roles - createdAt - updatedAt additionalProperties: false totalCount: type: number required: - groupMemberships - 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/organizations/memberships/groups/{groupId}: post: operationId: createOrganizationGroupMembership tags: - Groups description: 'Create organization group membership (link group to current org). Sub-org only: links a parent-org group.' requestBody: required: true content: application/json: schema: type: object properties: roles: type: array items: anyOf: - type: object properties: role: type: string isTemporary: type: boolean enum: - false default: false required: - role additionalProperties: false - type: object properties: role: type: string isTemporary: type: boolean enum: - true temporaryMode: type: string enum: - relative temporaryRange: type: string temporaryAccessStartTime: type: string format: date-time required: - role - isTemporary - temporaryMode - temporaryRange - temporaryAccessStartTime additionalProperties: false minItems: 1 required: - roles additionalProperties: false parameters: - schema: type: string format: uuid in: path name: groupId required: true description: The ID of the group to link to the current organization security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: groupMembership: type: object properties: id: type: string format: uuid groupId: type: string format: uuid group: type: object properties: id: type: string format: uuid name: type: string slug: type: string orgId: type: string format: uuid required: - id - name - slug additionalProperties: false 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 createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - role - isTemporary additionalProperties: false createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - groupId - group - roles - createdAt - updatedAt additionalProperties: false required: - groupMembership 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: operationId: getOrganizationGroupMembership tags: - Groups description: Get organization group membership by group ID. parameters: - schema: type: string format: uuid in: path name: groupId required: true security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: groupMembership: type: object properties: id: type: string format: uuid groupId: type: string format: uuid group: type: object properties: id: type: string format: uuid name: type: string slug: type: string orgId: type: string format: uuid required: - id - name - slug additionalProperties: false 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 createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - role - isTemporary additionalProperties: false createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - groupId - group - roles - createdAt - updatedAt additionalProperties: false required: - groupMembership 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: updateOrganizationGroupMembership tags: - Groups description: Update organization group membership roles. requestBody: required: true content: application/json: schema: type: object properties: roles: type: array items: anyOf: - type: object properties: role: type: string isTemporary: type: boolean enum: - false default: false required: - role additionalProperties: false - type: object properties: role: type: string isTemporary: type: boolean enum: - true temporaryMode: type: string enum: - relative temporaryRange: type: string temporaryAccessStartTime: type: string format: date-time required: - role - isTemporary - temporaryMode - temporaryRange - temporaryAccessStartTime additionalProperties: false minItems: 1 required: - roles additionalProperties: false parameters: - schema: type: string format: uuid in: path name: groupId required: true security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: groupMembership: type: object properties: id: type: string format: uuid groupId: type: string format: uuid group: type: object properties: id: type: string format: uuid name: type: string slug: type: string orgId: type: string format: uuid required: - id - name - slug additionalProperties: false 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 createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - role - isTemporary additionalProperties: false createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - groupId - group - roles - createdAt - updatedAt additionalProperties: false required: - groupMembership 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: deleteOrganizationGroupMembership tags: - Groups description: Unlink a group from the current organization. Only applicable in sub-organizations where the group is linked; cannot be used in the organization that owns the group. parameters: - schema: type: string format: uuid in: path name: groupId required: true security: - bearerAuth: [] responses: '200': description: Default Response content: application/json: schema: type: object properties: groupMembership: type: object properties: id: type: string format: uuid groupId: type: string format: uuid orgId: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - groupId - orgId - createdAt - updatedAt additionalProperties: false required: - groupMembership 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