Moveworks Users API
The Users API from Moveworks — 2 operation(s) for users.
The Users API from Moveworks — 2 operation(s) for users.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/moveworks:moveworks-users-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Moveworks Users API
version: 1.0.0
description: 'Operations tagged Users across 3 of this provider''s published API definitions: moveworks-content-gateway-openapi.yaml, moveworks-data-api-openapi.yaml, moveworks-identity-gateway-openapi.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://content-gateway-example.com/v1
description: https://content-gateway-example.com/v1
- url: https://api.moveworks.ai/export/v1/records
description: US PROD server. If you are located in the US region please use this server URL
- url: https://api.am-eu-central.moveworks.ai/export/v1/records
description: EU PROD server. If you are located in the EU region please use this server URL
- url: https://api.am-ca-central.moveworks.ai/export/v1/records
description: CA PROD server. If you are located in the CA region please use this server URL
- url: https://api.moveworksgov.ai/export/v1/records
description: Govcloud PROD server. If you are on GovCloud infrastrucutre (US region) please use this server URL
- url: https://api.jp.moveworks.com/export/v1/records
description: Japan production server
- url: https://api.uk.moveworks.com/export/v1/records
description: UK production server
- url: https://api.prod4.us.moveworks.com/export/v1/records
description: US Prod 4 production server
- url: https://api.prod3.us.moveworks.com/export/v1/records
description: US Prod 3 production server
- url: http://localhost:5000/myinstance1
description: http://localhost:5000/myinstance1
tags:
- name: Users
paths:
/users:
get:
operationId: list-users
summary: List users
description: Retrieve a paginated list of users using OData parameters.
tags:
- Users
parameters:
- name: $top
in: query
description: Number of items to return per page (default pagination)
required: false
schema:
type: integer
- name: $skip
in: query
description: Number of items to skip (default pagination offset)
required: false
schema:
type: integer
- name: $skiptoken
in: query
description: Used when the query parameters can be memoized into an encoded string containing filtering and pagination parameters. If the endpoint supports memoized paging, the first call can use $top and $skip, while @odata.nextLink will return with $skiptoken. If memoized querying is not supported, $top and $skip should be sufficient.
required: false
schema:
type: string
- name: $filter
in: query
required: false
schema:
type: string
- name: $select
in: query
required: false
schema:
type: string
- name: $orderby
in: query
required: false
schema:
type: string
responses:
'200':
description: User list response
content:
application/json:
schema:
$ref: '#/components/schemas/UserCollection'
'400':
description: Bad Request - The request was invalid or cannot be served.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized - The request requires user authentication.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden - The server understood the request but refuses to authorize it.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not Found - The requested resource could not be found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Too Many Requests - Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Server Error - The server encountered an unexpected condition.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'503':
description: Service Unavailable - The server is currently unable to handle the request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
servers:
- url: https://content-gateway-example.com/v1
description: https://content-gateway-example.com/v1
/users/{userId}:
get:
operationId: get-user-by-id
summary: Get User By ID
description: Returns user details given their userId. We recommend a rate limit of 5 req/sec for this endpoint.
tags:
- Users
parameters:
- name: userId
in: path
description: ID of user to fetch details for
required: true
schema:
type: string
- name: Authorization
in: header
description: Bearer authentication
required: true
schema:
type: string
responses:
'200':
description: A single user
content:
application/json:
schema:
$ref: '#/components/schemas/User_2'
servers:
- url: http://localhost:5000/myinstance1
description: http://localhost:5000/myinstance1
components:
schemas:
UserMetadata:
type: object
properties: {}
description: Custom key-value metadata for the user.
title: UserMetadata
User:
type: object
properties:
id:
type: string
description: Unique identifier for the user.
primary_email_addr:
type: string
description: Primary email address of the user.
full_name:
type: string
description: Full name of the user.
state:
type: string
description: 'State of the user account. Enum: Active | Inactive'
last_modified_datetime:
type: string
description: Last modification timestamp (ISO 8601).
metadata:
$ref: '#/components/schemas/UserMetadata'
description: Custom key-value metadata for the user.
title: User
ErrorResponse:
type: object
properties:
error:
$ref: '#/components/schemas/ErrorResponseError'
required:
- error
title: ErrorResponse
ErrorResponseError:
type: object
properties:
code:
type: string
description: Standard error code (e.g., UNAUTHORIZED, INVALID_ARGUMENT, NOT_FOUND).
message:
type: string
description: Human-readable explanation of the error.
required:
- code
- message
title: ErrorResponseError
UserCollection:
type: object
properties:
'@odata.context':
type: string
value:
type: array
items:
$ref: '#/components/schemas/User'
'@odata.nextLink':
type: string
title: UserCollection
UserobjectExternalIdsItems:
type: object
properties:
connector_name:
type: string
description: Name of the connector created in Moveworks Setup
external_id:
type: string
format: uuid
description: External ID from the source system
source:
type: string
description: Identifier for the source system.
title: UserobjectExternalIdsItems
users:
type: object
properties:
'@odata.context':
type: string
description: URL to the metadata of the response.
'@odata.nextLink':
type: string
description: URL to fetch the next set of results.
value:
type: array
items:
$ref: '#/components/schemas/userobject'
title: users
429ErrorResponse:
type: object
properties:
code:
type: string
message:
type: string
title: 429ErrorResponse
500ErrorResponse:
type: object
properties:
code:
type: string
message:
type: string
title: 500ErrorResponse
404ErrorResponse:
type: object
properties:
code:
type: string
message:
type: string
title: 404ErrorResponse
403ErrorResponse:
type: object
properties:
code:
type: string
message:
type: string
title: 403ErrorResponse
400ErrorResponse:
type: object
properties:
code:
type: string
message:
type: string
title: 400ErrorResponse
userobject:
type: object
properties:
id:
type: string
description: User record id generated and stored in Moveworks for the end user
email_addr:
type: string
description: Email of the end user stored in Moveworks. This field is ingested from your systems and reflect the value present in your systems.
access_to_bot:
type: boolean
description: Denotes if the end user has access to Moveworks Assistant or not. This is evaluated through the bot access rule configured in Moveworks Setup.
first_name:
type: string
description: First name of the end user. This field is ingested from your systems and reflect the value present in your systems.
last_name:
type: string
description: Last name of the end user.This field is ingested from your systems and reflect the value present in your systems.
user_preferred_language:
type: string
description: User preferred language set from the end user. EN-US is the default value for this field
first_interaction_time:
type: string
format: date-time
description: Time stamp for the first interaction for the end user.
latest_interaction_time:
type: string
format: date-time
description: Time stamp for the latest interaction of the end user.
external_ids:
type: array
items:
$ref: '#/components/schemas/UserobjectExternalIdsItems'
last_updated_time:
type: string
format: date-time
description: Last updated time for the user entry.
title: userobject
UserUserState:
type: string
enum:
- ACTIVE
- INACTIVE
description: Specifies the state of the user
title: UserUserState
listUsers_Response_200:
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/User_2'
next_page_token:
type: string
description: The value provided serves as the starting point for fetching the next page of records. In the next call, use this value as the pageToken parameter.
required:
- results
title: listUsers_Response_200
UserUserEmploymentInfoEmploymentLocation:
type: object
properties:
location:
type: string
description: Specifies the location of the office
office:
type: string
description: Denotes the name of the office
country_code:
type: string
description: Specifies the country code of the employee in E.164 format
region:
type: string
description: The geographical region to which the office is assigned
timezone:
type: string
description: Indicates the time zone in which the office is located
title: UserUserEmploymentInfoEmploymentLocation
User_2:
type: object
properties:
user:
$ref: '#/components/schemas/UserUser'
system_identity:
$ref: '#/components/schemas/UserSystemIdentity'
last_updated_at:
type: string
format: timestamp
description: Represents the timestamp indicating the most recent modification or update made to the user's information (in ISO-8601 UTC)
required:
- user
- system_identity
- last_updated_at
title: User
UserUserEmploymentInfo:
type: object
properties:
employee_start_date_ts:
type: string
format: timestamp
description: Joining date of the employee in in ISO-8601 UTC.
role:
type: string
description: Role of the user in the organisation
manager_email:
type: string
format: email
description: Email address of the manager of the user
cost_center_id:
type: string
description: Cost center id for the user
cost_center_name:
type: string
description: Cost center name for the user
department:
type: string
description: Specifies the department the user belongs to
office_phone_number:
type: string
description: Specifies the office phone number of the user
assistant_full_name:
type: string
description: Assistant's full name of the user
employment_location:
$ref: '#/components/schemas/UserUserEmploymentInfoEmploymentLocation'
title: UserUserEmploymentInfo
UserUser:
type: object
properties:
state:
$ref: '#/components/schemas/UserUserState'
description: Specifies the state of the user
universal_identifier:
type: string
description: Unique identifier of the user. This field should always be populated. It will be used to uniquely identify a user across different systems.
email_addr:
type: string
format: email
description: Email address of the user
first_name:
type: string
description: First name of the user
last_name:
type: string
description: Last name of the user
full_name:
type: string
description: Full name of the user
work_status:
$ref: '#/components/schemas/UserUserWorkStatus'
description: Employement type of the user
employment_info:
$ref: '#/components/schemas/UserUserEmploymentInfo'
required:
- state
- universal_identifier
title: UserUser
UserUserWorkStatus:
type: string
enum:
- UNKNOWN_WORK_STATUS
- CONTINGENT
- INTERN
- FULL_TIME
description: Employement type of the user
title: UserUserWorkStatus
UserSystemIdentity:
type: object
properties:
id:
type: string
description: Refers to the unique identifier assigned to the user in the identity gateway. This is usually primary key of the external system
username:
type: string
description: Refers to the username of the user in the identity system. This is usually lookup key of the external system
required:
- id
title: UserSystemIdentity
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: Authorization
OAuth2:
type: http
scheme: bearer
bearerAuth:
type: http
scheme: bearer
x-refined-from:
- moveworks-content-gateway-openapi.yaml
- moveworks-data-api-openapi.yaml
- moveworks-identity-gateway-openapi.yaml