openapi: 3.2.0 info: title: Bench Account Users API description: 'Versioning The API is currently at version 1.0.' version: '1.0' servers: - url: https://bench.gobridgit.com description: Bridgit Bench production security: - {} tags: - name: Account Users paths: /rp/api/v1/accounts/{accountId}/users: get: tags: - Account Users summary: Gets the users for the given account description: 'Permissions Account: Read' operationId: AccountUsers_Query parameters: - name: accountId in: path description: The Account ID required: true schema: type: integer format: int32 - name: offset in: query description: Offset for pagination schema: maximum: 2147483647 minimum: 0 type: integer format: int32 default: 0 - name: limit in: query description: Maximum number of results in this page schema: maximum: 2147483647 minimum: 1 type: integer format: int32 default: 1000 - name: group in: query description: Optional parameter to filter results based on user groups schema: type: string - name: ids in: query description: (Optional) Filters the result to contain account users that match the ids passed in. schema: type: array items: type: integer format: int32 - name: nameSearch in: query description: (Optional) Searches for users by partial name match (minimum 3 characters). schema: type: string responses: '200': description: 'Success: List of users on the account' content: text/plain: schema: type: array items: $ref: '#/components/schemas/UserResponse' application/json: schema: type: array items: $ref: '#/components/schemas/UserResponse' text/json: schema: type: array items: $ref: '#/components/schemas/UserResponse' '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden /rp/api/v1/accounts/{accountId}/users/{id}: get: tags: - Account Users summary: Gets the the specified user for the given account by ID description: 'Permissions Account: Read' operationId: AccountUsers_Get parameters: - name: accountId in: path description: The Account ID required: true schema: type: integer format: int32 - name: id in: path description: The User's ID required: true schema: type: integer format: int32 responses: '200': description: 'Success: List of users on the account' content: text/plain: schema: $ref: '#/components/schemas/UserResponse' application/json: schema: $ref: '#/components/schemas/UserResponse' text/json: schema: $ref: '#/components/schemas/UserResponse' '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden patch: tags: - Account Users summary: Updates a user for the given account description: 'Name or Title can be null, but they cannot be empty/whitespace. If null the value will not be changed. Permissions Account: Write' operationId: AccountUsers_Patch parameters: - name: accountId in: path description: The Account ID required: true schema: type: integer format: int32 - name: id in: path description: Id of the user to update required: true schema: type: integer format: int32 requestBody: description: Request object in the body with fields to change content: application/json-patch+json: schema: $ref: '#/components/schemas/UserRequest' application/json: schema: $ref: '#/components/schemas/UserRequest' text/json: schema: $ref: '#/components/schemas/UserRequest' application/*+json: schema: $ref: '#/components/schemas/UserRequest' required: true responses: '204': description: No Content '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '409': description: Conflict delete: tags: - Account Users summary: Deactivates a user from the given account description: 'Adminsitrators can only deactivate other users from the account and not themselves. Permissions Account: Write' operationId: AccountUsers_Delete parameters: - name: accountId in: path description: The Account ID required: true schema: type: integer format: int32 - name: id in: path description: Id of the user to remove required: true schema: type: integer format: int32 responses: '204': description: No Content '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden /rp/api/v1/accounts/{accountId}/users/{id}/membership: put: tags: - Account Users summary: Modify user's permission group in the account description: 'Groups in the account can be fetched from the api/v{version}/accounts/{accountId}/groups endpoint. Permissions Account: Write' operationId: AccountUsers_SetMembership parameters: - name: accountId in: path description: The Account ID required: true schema: type: integer format: int32 - name: id in: path description: ID of the user to modify required: true schema: type: integer format: int32 requestBody: description: Request object for the user content: application/json-patch+json: schema: $ref: '#/components/schemas/AccountMembershipRequest' application/json: schema: $ref: '#/components/schemas/AccountMembershipRequest' text/json: schema: $ref: '#/components/schemas/AccountMembershipRequest' application/*+json: schema: $ref: '#/components/schemas/AccountMembershipRequest' required: true responses: '204': description: No Content '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden /rp/api/v1/accounts/{accountId}/users/{userId}/reset-auth-method: post: tags: - Account Users summary: Resets a user's authentication method and sends a new invitation email. description: 'Permissions Account: Write' operationId: AccountUsers_ResetAuthMethod parameters: - name: accountId in: path description: The account that is currently calling this method. required: true schema: type: integer format: int32 - name: userId in: path description: The ID of the account user. required: true schema: type: integer format: int32 responses: '202': description: Accepted '204': description: No Content '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '422': description: Unprocessable Entity components: schemas: AccountMembershipRequest: type: object properties: groupingPermissions: type: - array - 'null' items: $ref: '#/components/schemas/GroupingGroup' group: type: - string - 'null' example: Administrator additionalProperties: false UserRequest: type: object properties: name: type: - string - 'null' example: John Smith title: type: - string - 'null' example: Human Resources Manager phoneNumber: type: - string - 'null' example: '+18005551234' team: type: - string - 'null' example: Management additionalProperties: false GroupingGroup: type: object properties: id: type: integer format: int64 example: 124 groupId: type: integer format: int32 example: 323 additionalProperties: false UserResponse: type: object properties: id: type: integer format: int32 example: 2313 name: type: - string - 'null' example: John Smith title: type: - string - 'null' example: Human Resources Manager team: type: - string - 'null' example: Management email: type: - string - 'null' example: johnsmith@example.com state: enum: - Inactive - Enabled - Disabled - PendingEmailChange type: string example: Active group: type: - string - 'null' example: Administrator groupingPermissions: type: - array - 'null' items: $ref: '#/components/schemas/GroupingGroup' phoneNumber: type: - string - 'null' example: '+18005551234' createdOn: type: string format: date-time example: '2020-01-01' invitationId: type: - integer - 'null' format: int64 lastLoginOn: type: - string - 'null' format: date-time example: '2026-01-15T10:30:00Z' additionalProperties: false securitySchemes: Bearer: type: http description: Standard Authorization header using the Bearer scheme scheme: bearer bearerFormat: JWT