BetterCloud Users API
Manage users across integrated SaaS applications
Manage users across integrated SaaS applications
openapi: 3.0.3
info:
title: BetterCloud Platform Events Users API
description: The BetterCloud Platform API provides REST API access for managing SaaS application operations, automated workflows, user lifecycle management, and security policies across enterprise SaaS environments. It enables IT and security teams to programmatically manage users, groups, directories, and automation workflows across 100+ integrated SaaS applications.
version: v1
contact:
name: BetterCloud Developer Support
url: https://developer.bettercloud.com/
x-generated-from: documentation
servers:
- url: https://api.bettercloud.com/v1
description: BetterCloud Platform API v1
security:
- apiKeyAuth: []
tags:
- name: Users
description: Manage users across integrated SaaS applications
paths:
/users:
get:
operationId: listUsers
summary: BetterCloud List Users
description: Returns a paginated list of users discovered across all integrated SaaS applications.
tags:
- Users
parameters:
- name: page
in: query
description: Page number for pagination.
required: false
schema:
type: integer
default: 1
example: 1
- name: per_page
in: query
description: Number of results per page (max 100).
required: false
schema:
type: integer
default: 25
maximum: 100
example: 25
- name: email
in: query
description: Filter users by email address.
required: false
schema:
type: string
format: email
example: jsmith@example.com
- name: status
in: query
description: Filter users by status.
required: false
schema:
type: string
enum:
- active
- suspended
- deprovisioned
example: active
responses:
'200':
description: Paginated list of users.
content:
application/json:
schema:
$ref: '#/components/schemas/UserListResponse'
examples:
ListUsers200Example:
summary: Default listUsers 200 response
x-microcks-default: true
value:
data:
- id: user-a1b2c3d4
email: jsmith@example.com
first_name: Jane
last_name: Smith
status: active
department: Engineering
title: Senior Engineer
created_at: '2025-01-15T10:00:00Z'
updated_at: '2026-04-01T08:30:00Z'
meta:
page: 1
per_page: 25
total: 150
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/users/{id}:
get:
operationId: getUser
summary: BetterCloud Get User
description: Returns a single user by ID with their SaaS application details.
tags:
- Users
parameters:
- name: id
in: path
required: true
description: The unique identifier of the user.
schema:
type: string
example: user-a1b2c3d4
responses:
'200':
description: User details.
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
examples:
GetUser200Example:
summary: Default getUser 200 response
x-microcks-default: true
value:
data:
id: user-a1b2c3d4
email: jsmith@example.com
first_name: Jane
last_name: Smith
status: active
department: Engineering
title: Senior Engineer
manager_email: manager@example.com
location: San Francisco
created_at: '2025-01-15T10:00:00Z'
updated_at: '2026-04-01T08:30:00Z'
'404':
description: User not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
patch:
operationId: updateUser
summary: BetterCloud Update User
description: Updates user attributes across integrated SaaS applications.
tags:
- Users
parameters:
- name: id
in: path
required: true
description: The unique identifier of the user.
schema:
type: string
example: user-a1b2c3d4
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserUpdateRequest'
examples:
UpdateUserRequestExample:
summary: Default updateUser request
x-microcks-default: true
value:
department: Product
title: Product Manager
responses:
'200':
description: User updated successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
examples:
UpdateUser200Example:
summary: Default updateUser 200 response
x-microcks-default: true
value:
data:
id: user-a1b2c3d4
email: jsmith@example.com
first_name: Jane
last_name: Smith
status: active
department: Product
title: Product Manager
updated_at: '2026-04-19T10:00:00Z'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/users/{id}/suspend:
post:
operationId: suspendUser
summary: BetterCloud Suspend User
description: Suspends a user across all integrated SaaS applications.
tags:
- Users
parameters:
- name: id
in: path
required: true
description: The unique identifier of the user.
schema:
type: string
example: user-a1b2c3d4
responses:
'200':
description: User suspended successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
examples:
SuspendUser200Example:
summary: Default suspendUser 200 response
x-microcks-default: true
value:
data:
id: user-a1b2c3d4
email: jsmith@example.com
status: suspended
updated_at: '2026-04-19T10:00:00Z'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/users/{id}/deprovision:
post:
operationId: deprovisionUser
summary: BetterCloud Deprovision User
description: Deprovisions a user and removes access across all integrated SaaS applications.
tags:
- Users
parameters:
- name: id
in: path
required: true
description: The unique identifier of the user.
schema:
type: string
example: user-a1b2c3d4
responses:
'200':
description: User deprovisioned successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
examples:
DeprovisionUser200Example:
summary: Default deprovisionUser 200 response
x-microcks-default: true
value:
data:
id: user-a1b2c3d4
email: jsmith@example.com
status: deprovisioned
updated_at: '2026-04-19T10:00:00Z'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
UserListResponse:
title: User List Response
description: Paginated list of users.
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/User'
meta:
$ref: '#/components/schemas/MetaResponse'
ErrorResponse:
title: Error Response
description: Standard error response from BetterCloud API.
type: object
properties:
code:
type: string
description: Machine-readable error code.
example: RESOURCE_NOT_FOUND
id:
type: string
description: Unique identifier for this error occurrence.
example: err-500123
href:
type: string
description: Link to documentation for this error code.
example: https://developer.bettercloud.com/errors/RESOURCE_NOT_FOUND
reason:
type: string
description: Human-readable explanation of the error.
example: The requested resource was not found
required:
- code
- id
- href
- reason
User:
title: User
description: A user discovered and managed across BetterCloud integrations.
type: object
properties:
id:
type: string
description: Unique identifier for the user in BetterCloud.
example: user-a1b2c3d4
email:
type: string
format: email
description: Primary email address of the user.
example: jsmith@example.com
first_name:
type: string
description: User's first name.
example: Jane
last_name:
type: string
description: User's last name.
example: Smith
status:
type: string
description: Current status of the user.
enum:
- active
- suspended
- deprovisioned
example: active
department:
type: string
nullable: true
description: Department or organizational unit.
example: Engineering
title:
type: string
nullable: true
description: Job title.
example: Senior Engineer
manager_email:
type: string
format: email
nullable: true
description: Email of the user's manager.
example: manager@example.com
location:
type: string
nullable: true
description: Office location.
example: San Francisco
created_at:
type: string
format: date-time
description: When the user was first discovered.
example: '2025-01-15T10:00:00Z'
updated_at:
type: string
format: date-time
description: When the user record was last updated.
example: '2026-04-01T08:30:00Z'
UserUpdateRequest:
title: User Update Request
description: Fields to update on a user (all optional).
type: object
properties:
first_name:
type: string
description: New first name.
example: Jane
last_name:
type: string
description: New last name.
example: Smith
department:
type: string
description: New department.
example: Product
title:
type: string
description: New job title.
example: Product Manager
location:
type: string
description: New office location.
example: New York
UserResponse:
title: User Response
description: Single user response.
type: object
properties:
data:
$ref: '#/components/schemas/User'
MetaResponse:
title: Meta Response
description: Pagination metadata for list responses.
type: object
properties:
page:
type: integer
description: Current page number.
example: 1
per_page:
type: integer
description: Number of items per page.
example: 25
total:
type: integer
description: Total number of items.
example: 150
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: X-API-Key
description: API key authentication. Provide your BetterCloud API key in the X-API-Key header. Keys can be generated from the BetterCloud developer portal.