openapi: 3.1.0 info: title: Demandbase Account List Account Lists Users API description: Create, manage, and sync target account lists for ABM campaigns and personalization efforts. Build dynamic and static account lists, add or remove accounts, and sync lists with CRM systems. version: '1.0' contact: name: Demandbase Support url: https://support.demandbase.com/ termsOfService: https://www.demandbase.com/terms-of-service/ servers: - url: https://api.demandbase.com/accounts description: Demandbase Account List API Production security: - bearerAuth: [] tags: - name: Users description: User management operations paths: /admin/v1/users: get: operationId: listUsers summary: Demandbase List users description: Retrieve a list of all users in the Demandbase One organization with their roles and status. tags: - Users parameters: - name: status in: query required: false description: Filter by user status schema: type: string enum: - active - inactive - pending - name: role in: query required: false description: Filter by user role schema: type: string - name: limit in: query required: false schema: type: integer default: 25 maximum: 100 - name: offset in: query required: false schema: type: integer default: 0 responses: '200': description: List of users content: application/json: schema: type: object properties: users: type: array items: $ref: '#/components/schemas/User' total: type: integer '401': description: Unauthorized '403': description: Forbidden - insufficient permissions post: operationId: createUser summary: Demandbase Create a user description: Create a new user in the Demandbase One organization. tags: - Users requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateUserRequest' responses: '201': description: User created content: application/json: schema: $ref: '#/components/schemas/User' '400': description: Invalid request '401': description: Unauthorized '403': description: Forbidden '409': description: User with email already exists /admin/v1/users/{userId}: get: operationId: getUser summary: Demandbase Get a user description: Retrieve details of a specific user. tags: - Users parameters: - $ref: '#/components/parameters/userId' responses: '200': description: User details content: application/json: schema: $ref: '#/components/schemas/User' '401': description: Unauthorized '403': description: Forbidden '404': description: User not found put: operationId: updateUser summary: Demandbase Update a user description: Update an existing user's details and role assignments. tags: - Users parameters: - $ref: '#/components/parameters/userId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateUserRequest' responses: '200': description: User updated content: application/json: schema: $ref: '#/components/schemas/User' '400': description: Invalid request '401': description: Unauthorized '403': description: Forbidden '404': description: User not found delete: operationId: deleteUser summary: Demandbase Delete a user description: Delete a user from the Demandbase One organization. tags: - Users parameters: - $ref: '#/components/parameters/userId' responses: '204': description: User deleted '401': description: Unauthorized '403': description: Forbidden '404': description: User not found components: parameters: userId: name: userId in: path required: true description: User unique identifier schema: type: string schemas: UpdateUserRequest: type: object properties: first_name: type: string description: First name last_name: type: string description: Last name role: type: string description: Role to assign status: type: string enum: - active - inactive description: User status User: type: object properties: id: type: string description: User unique identifier email: type: string format: email description: User email address first_name: type: string description: First name last_name: type: string description: Last name role: type: string description: Assigned role status: type: string enum: - active - inactive - pending description: User status last_login: type: string format: date-time description: Last login timestamp created_at: type: string format: date-time description: Account creation timestamp updated_at: type: string format: date-time description: Last update timestamp CreateUserRequest: type: object required: - email - first_name - last_name - role properties: email: type: string format: email description: User email address first_name: type: string description: First name last_name: type: string description: Last name role: type: string description: Role to assign securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: OAuth 2.0 bearer token for API access externalDocs: description: Demandbase Account List API Documentation url: https://docs.demandbase.com/docs/account-list-api