openapi: 3.1.0 info: title: Fast ACCOUNT_COSTS USER API version: 0.1.0 tags: - name: USER paths: /users/: get: tags: - USER summary: User Get All operationId: user_get_all_users__get security: - HTTPBearer: [] - HTTPBearer: [] parameters: - name: company in: query required: false schema: anyOf: - type: string - type: 'null' title: Company - name: search in: query required: false schema: anyOf: - type: string - type: 'null' title: Search - name: sortOrder in: query required: false schema: type: string default: asc title: Sortorder - name: sortColumn in: query required: false schema: type: string default: created_at title: Sortcolumn - name: with_service_user in: query required: false schema: type: boolean default: false title: With Service User - name: all_users in: query required: false schema: type: boolean default: false title: All Users - name: page in: query required: false schema: type: integer default: 0 title: Page - name: size in: query required: false schema: type: integer default: 10 title: Size - name: search_term in: query required: false schema: anyOf: - type: string - type: 'null' title: Search Term - name: include_deleted in: query required: false schema: type: boolean default: true title: Include Deleted - name: has_role_conflict in: query required: false schema: anyOf: - type: boolean - type: 'null' title: Has Role Conflict - name: navigationSource in: query required: false schema: anyOf: - type: string - type: 'null' title: Navigationsource - name: x-tenant in: header required: false schema: type: string title: X-Tenant responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/app__schemas__responses__UsersResponse' '403': description: Operation not allowed content: application/json: schema: type: object additionalProperties: true title: Response 403 User Get All Users Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /users/download: get: tags: - USER summary: User Download All operationId: user_download_all_users_download_get security: - HTTPBearer: [] - HTTPBearer: [] parameters: - name: company in: query required: false schema: anyOf: - type: string - type: 'null' title: Company - name: search in: query required: false schema: anyOf: - type: string - type: 'null' title: Search - name: sortOrder in: query required: false schema: type: string default: asc title: Sortorder - name: sortColumn in: query required: false schema: type: string default: created_at title: Sortcolumn - name: type in: query required: false schema: type: string default: csv title: Type - name: with_service_user in: query required: false schema: type: boolean default: false title: With Service User - name: all_users in: query required: false schema: type: boolean default: false title: All Users - name: navigationSource in: query required: false schema: anyOf: - type: string - type: 'null' title: Navigationsource - name: x-tenant in: header required: false schema: type: string title: X-Tenant responses: '200': description: Successful Response content: application/json: schema: {} '403': description: Operation not allowed content: application/json: schema: type: object additionalProperties: true title: Response 403 User Download All Users Download Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /users/profile: patch: tags: - USER summary: User Tz Edit operationId: user_tz_edit_users_profile_patch deprecated: true security: - HTTPBearer: [] - HTTPBearer: [] parameters: - name: x-tenant in: header required: false schema: type: string title: X-Tenant requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UserSelfUpdate' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/UserSelfResponse' '400': description: Invalid request content: application/json: schema: type: object additionalProperties: true title: Response 400 User Tz Edit Users Profile Patch '404': description: User not found content: application/json: schema: type: object additionalProperties: true title: Response 404 User Tz Edit Users Profile Patch '403': description: Operation not allowed content: application/json: schema: type: object additionalProperties: true title: Response 403 User Tz Edit Users Profile Patch '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /users/me: get: tags: - USER summary: Get Me operationId: get_me_users_me_get security: - HTTPBearer: [] - HTTPBearer: [] parameters: - name: x-tenant in: header required: false schema: type: string title: X-Tenant responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/UserSelfResponse' '404': description: User not found content: application/json: schema: type: object additionalProperties: true title: Response 404 Get Me Users Me Get '403': description: Operation not allowed content: application/json: schema: type: object additionalProperties: true title: Response 403 Get Me Users Me Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /users/chat: get: tags: - USER summary: User Get All operationId: user_get_all_users_chat_get security: - HTTPBearer: [] - HTTPBearer: [] parameters: - name: company in: query required: false schema: anyOf: - type: string - type: 'null' title: Company - name: search in: query required: false schema: anyOf: - type: string - type: 'null' title: Search - name: sortOrder in: query required: false schema: type: string default: asc title: Sortorder - name: sortColumn in: query required: false schema: type: string default: created_at title: Sortcolumn - name: x-tenant in: header required: false schema: type: string title: X-Tenant responses: '200': description: Successful Response content: application/json: schema: type: array items: $ref: '#/components/schemas/UserIndexResponse' title: Response User Get All Users Chat Get '403': description: Operation not allowed content: application/json: schema: type: object additionalProperties: true title: Response 403 User Get All Users Chat Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /users/invite: post: tags: - USER summary: Invite User description: User can be invited by the super admin in the root domain, or by the other tenant user in the tenant domain. operationId: invite_user_users_invite_post security: - HTTPBearer: [] - HTTPBearer: [] parameters: - name: x-tenant in: header required: false schema: type: string title: X-Tenant requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UserInviteIn' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/InviteUserResponse' '400': description: User already exists content: application/json: schema: type: object additionalProperties: true title: Response 400 Invite User Users Invite Post '403': description: Operation not allowed content: application/json: schema: type: object additionalProperties: true title: Response 403 Invite User Users Invite Post '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /users/onboard: post: tags: - USER summary: User Onboard operationId: user_onboard_users_onboard_post security: - HTTPBearer: [] - HTTPBearer: [] parameters: - name: x-tenant in: header required: false schema: type: string title: X-Tenant responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/StandardResponse' '404': description: User not found content: application/json: schema: type: object additionalProperties: true title: Response 404 User Onboard Users Onboard Post '403': description: Operation not allowed content: application/json: schema: type: object additionalProperties: true title: Response 403 User Onboard Users Onboard Post '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /users/get_role: get: tags: - USER summary: Get Role operationId: get_role_users_get_role_get deprecated: true security: - HTTPBearer: [] - HTTPBearer: [] parameters: - name: x-tenant in: header required: false schema: type: string title: X-Tenant responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/RolePermissionFull' '404': description: User not found content: application/json: schema: type: object additionalProperties: true title: Response 404 Get Role Users Get Role Get '403': description: Operation not allowed content: application/json: schema: type: object additionalProperties: true title: Response 403 Get Role Users Get Role Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /users/role_edit: post: tags: - USER summary: User Role Edit operationId: user_role_edit_users_role_edit_post security: - HTTPBearer: [] - HTTPBearer: [] parameters: - name: x-tenant in: header required: false schema: type: string title: X-Tenant requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UserRoleUpdateRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/StandardResponse' '404': description: User not found content: application/json: schema: type: object additionalProperties: true title: Response 404 User Role Edit Users Role Edit Post '403': description: Operation not allowed content: application/json: schema: type: object additionalProperties: true title: Response 403 User Role Edit Users Role Edit Post '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /users/resolve_role_conflict: post: tags: - USER summary: Resolve Role Conflict description: Resolve an SSO role conflict for a user. Owner-only. operationId: resolve_role_conflict_users_resolve_role_conflict_post deprecated: true security: - HTTPBearer: [] - HTTPBearer: [] parameters: - name: x-tenant in: header required: false schema: type: string title: X-Tenant requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ResolveRoleConflictRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/StandardResponse' '404': description: User not found content: application/json: schema: type: object additionalProperties: true title: Response 404 Resolve Role Conflict Users Resolve Role Conflict Post '403': description: Operation not allowed content: application/json: schema: type: object additionalProperties: true title: Response 403 Resolve Role Conflict Users Resolve Role Conflict Post '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /users/default_user_group: post: tags: - USER summary: Update Default User Group operationId: update_default_user_group_users_default_user_group_post deprecated: true security: - HTTPBearer: [] - HTTPBearer: [] parameters: - name: default_group_id in: query required: true schema: type: integer title: Default Group Id - name: x-tenant in: header required: false schema: type: string title: X-Tenant responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/StandardResponse' '404': description: User not found content: application/json: schema: type: object additionalProperties: true title: Response 404 Update Default User Group Users Default User Group Post '403': description: Operation not allowed content: application/json: schema: type: object additionalProperties: true title: Response 403 Update Default User Group Users Default User Group Post '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /users/{user_uuid}: get: tags: - USER summary: User Get One operationId: user_get_one_users__user_uuid__get security: - HTTPBearer: [] - HTTPBearer: [] parameters: - name: user_uuid in: path required: true schema: type: string format: uuid title: User Uuid - name: x-tenant in: header required: false schema: type: string title: X-Tenant responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/UserIndexResponse' '404': description: User not found content: application/json: schema: type: object additionalProperties: true title: Response 404 User Get One Users User Uuid Get '403': description: Operation not allowed content: application/json: schema: type: object additionalProperties: true title: Response 403 User Get One Users User Uuid Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' patch: tags: - USER summary: User Edit operationId: user_edit_users__user_uuid__patch security: - HTTPBearer: [] - HTTPBearer: [] parameters: - name: user_uuid in: path required: true schema: type: string format: uuid title: User Uuid - name: x-tenant in: header required: false schema: type: string title: X-Tenant requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UserUpdateIn' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/StandardResponse' '404': description: User not found content: application/json: schema: type: object additionalProperties: true title: Response 404 User Edit Users User Uuid Patch '403': description: Operation not allowed content: application/json: schema: type: object additionalProperties: true title: Response 403 User Edit Users User Uuid Patch '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - USER summary: User Delete description: User can be invited by the super admin in the root domain, but not in the other tenant user. operationId: user_delete_users__user_uuid__delete security: - HTTPBearer: [] - HTTPBearer: [] parameters: - name: user_uuid in: path required: true schema: type: string format: uuid title: User Uuid - name: company in: query required: true schema: type: string title: Company - name: x-tenant in: header required: false schema: type: string title: X-Tenant responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/StandardResponse' '404': description: User not found content: application/json: schema: type: object additionalProperties: true title: Response 404 User Delete Users User Uuid Delete '403': description: Operation not allowed content: application/json: schema: type: object additionalProperties: true title: Response 403 User Delete Users User Uuid Delete '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: Roles: type: string enum: - Owner - Admin - User - Owner (Read Only) title: Roles ResolveRoleConflictRequest: properties: user_uuid: type: string format: uuid title: User Uuid action: $ref: '#/components/schemas/ConflictResolutionAction' type: object required: - user_uuid - action title: ResolveRoleConflictRequest InviteUserResponse: properties: id: type: integer title: Id uuid: type: string format: uuid title: Uuid first_name: anyOf: - type: string - type: 'null' title: First Name last_name: anyOf: - type: string - type: 'null' title: Last Name email: type: string title: Email phone: anyOf: - type: string - type: 'null' title: Phone is_active: type: boolean title: Is Active is_verified: type: boolean title: Is Verified is_invited: type: boolean title: Is Invited is_onboarded: type: boolean title: Is Onboarded created_at: type: string format: date-time title: Created At role_title: anyOf: - type: string - type: 'null' title: Role Title type: object required: - id - uuid - email - is_active - is_verified - is_invited - is_onboarded - created_at title: InviteUserResponse ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type type: object required: - loc - msg - type title: ValidationError UserSelfUpdate: properties: tz: anyOf: - type: string - type: 'null' title: Tz type: object title: UserSelfUpdate HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError ConflictResolutionAction: type: string enum: - accept_sso - dismiss title: ConflictResolutionAction StandardResponse: properties: ok: type: boolean title: Ok type: object required: - ok title: StandardResponse UserInviteIn: properties: company: type: string title: Company email: type: string format: email title: Email role: $ref: '#/components/schemas/Roles' type: object required: - company - email - role title: UserInviteIn UserSelfResponse: properties: id: type: integer title: Id uuid: type: string format: uuid title: Uuid first_name: anyOf: - type: string - type: 'null' title: First Name last_name: anyOf: - type: string - type: 'null' title: Last Name email: type: string title: Email phone: anyOf: - type: string - type: 'null' title: Phone is_active: type: boolean title: Is Active is_verified: type: boolean title: Is Verified is_invited: type: boolean title: Is Invited is_onboarded: type: boolean title: Is Onboarded created_at: type: string title: Created At role_title: anyOf: - type: string - type: 'null' title: Role Title display_name: anyOf: - type: string - type: 'null' title: Display Name attributes: anyOf: - additionalProperties: true type: object - type: 'null' title: Attributes tz: anyOf: - type: string - type: 'null' title: Tz type: object required: - id - uuid - email - is_active - is_verified - is_invited - is_onboarded - created_at title: UserSelfResponse RolePermissionFull: properties: role_name: type: string title: Role Name role_description: type: string title: Role Description role_title: type: string title: Role Title is_custom: type: boolean title: Is Custom permission: items: $ref: '#/components/schemas/PermissionsFull' type: array title: Permission type: object required: - role_name - role_description - role_title - is_custom - permission title: RolePermissionFull UserUpdateIn: properties: first_name: anyOf: - type: string - type: 'null' title: First Name last_name: anyOf: - type: string - type: 'null' title: Last Name email: anyOf: - type: string format: email - type: 'null' title: Email phone: anyOf: - type: string - type: 'null' title: Phone password: anyOf: - type: string - type: 'null' title: Password password_confirmation: anyOf: - type: string - type: 'null' title: Password Confirmation user_role_uuid: anyOf: - type: string format: uuid - type: 'null' title: User Role Uuid is_verified: anyOf: - type: boolean - type: 'null' title: Is Verified is_onboarded: anyOf: - type: boolean - type: 'null' title: Is Onboarded is_active: anyOf: - type: boolean - type: 'null' title: Is Active is_invited: anyOf: - type: boolean - type: 'null' title: Is Invited attributes: anyOf: - additionalProperties: true type: object - type: 'null' title: Attributes type: object title: UserUpdateIn UserIndexResponse: properties: id: type: integer title: Id uuid: type: string format: uuid title: Uuid first_name: anyOf: - type: string - type: 'null' title: First Name last_name: anyOf: - type: string - type: 'null' title: Last Name email: type: string title: Email phone: anyOf: - type: string - type: 'null' title: Phone is_active: type: boolean title: Is Active is_verified: type: boolean title: Is Verified is_invited: type: boolean title: Is Invited is_onboarded: type: boolean title: Is Onboarded created_at: anyOf: - type: string - type: 'null' title: Created At role_title: anyOf: - type: string - type: 'null' title: Role Title display_name: anyOf: - type: string - type: 'null' title: Display Name attributes: anyOf: - additionalProperties: true type: object - type: 'null' title: Attributes deleted_at: anyOf: - type: string format: date-time - type: 'null' title: Deleted At last_login_at: anyOf: - type: string - type: 'null' title: Last Login At role_source: anyOf: - type: string - type: 'null' title: Role Source has_role_conflict: type: boolean title: Has Role Conflict default: false sso_resolved_role_id: anyOf: - type: integer - type: 'null' title: Sso Resolved Role Id sso_resolved_role_title: anyOf: - type: string - type: 'null' title: Sso Resolved Role Title type: object required: - id - uuid - email - is_active - is_verified - is_invited - is_onboarded - created_at title: UserIndexResponse PaginationMeta: properties: page: type: integer title: Page default: 1 size: type: integer title: Size default: 20 count: type: integer title: Count default: 0 total_pages: type: integer title: Total Pages default: 0 has_next: type: boolean title: Has Next default: false has_prev: type: boolean title: Has Prev default: false type: object title: PaginationMeta app__schemas__responses__UsersResponse: properties: users: items: $ref: '#/components/schemas/UserIndexResponse' type: array title: Users meta: anyOf: - $ref: '#/components/schemas/PaginationMeta' - type: 'null' type: object required: - users title: UsersResponse PermissionsFull: properties: uuid: type: string format: uuid title: Uuid name: type: string title: Name title: type: string title: Title description: type: string title: Description group: anyOf: - type: string - type: 'null' title: Group type: object required: - uuid - name - title - description title: PermissionsFull UserRoleUpdateRequest: properties: user_uuid: type: string format: uuid title: User Uuid role_title: $ref: '#/components/schemas/Roles' type: object required: - user_uuid - role_title title: UserRoleUpdateRequest securitySchemes: HTTPBearer: type: http scheme: bearer