Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/workleap-users-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
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 Specification
openapi: 3.2.0
info:
title: Workleap Users API
description: The Workleap REST API provides programmatic access to user and group management, provisioning workflows, engagement scores, pulse survey feedback, GoodVibes recognition data, and organizational attributes across the Workleap platform.
version: 1.0.0
contact:
url: https://docs.api.workleap.com/docs/getting-started
termsOfService: https://workleap.com/legal/terms-of-service
license:
name: Proprietary
servers:
- url: https://api.workleap.com/public
description: Workleap Production API
security:
- SubscriptionKey: []
tags:
- name: Users
description: User management and provisioning
paths:
/users/activate:
post:
operationId: activateUsers
summary: Activate users
description: Update users state to active
tags:
- Users
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserStateChangeRequest'
responses:
'200':
description: Users activated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/UserStateChangeResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/users:
post:
operationId: createUser
summary: Create a user
description: Create a user in an organization
tags:
- Users
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserRequest'
responses:
'201':
description: User created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'409':
$ref: '#/components/responses/Conflict'
/users/deactivate:
post:
operationId: deactivateUsers
summary: Deactivate users
description: Update users state to deactivated
tags:
- Users
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserStateChangeRequest'
responses:
'200':
description: Users deactivated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/UserStateChangeResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/users/{userId}:
get:
operationId: getUser
summary: Get a user
description: Get a user from an organization
tags:
- Users
parameters:
- name: userId
in: path
required: true
schema:
type: string
format: uuid
description: The unique identifier of the user
responses:
'200':
description: Successful response with the user
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateUser
summary: Update a user
description: Update a user in an organization
tags:
- Users
parameters:
- name: userId
in: path
required: true
schema:
type: string
format: uuid
description: The unique identifier of the user
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateUserRequest'
responses:
'200':
description: User updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteUser
summary: Delete a user
description: Delete a user in an organization
tags:
- Users
parameters:
- name: userId
in: path
required: true
schema:
type: string
format: uuid
description: The unique identifier of the user
responses:
'204':
description: User deleted successfully
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/users/search:
post:
operationId: searchUsers
summary: Search users
description: Search users from an organization
tags:
- Users
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserSearchRequest'
responses:
'200':
description: Successful response with matching users
content:
application/json:
schema:
type: object
properties:
users:
type: array
items:
$ref: '#/components/schemas/User'
totalCount:
type: integer
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/users/{userId}/avatar:
put:
operationId: updateUserAvatar
summary: Update a user avatar
description: Upload an avatar for a user identified by user ID
tags:
- Users
parameters:
- name: userId
in: path
required: true
schema:
type: string
format: uuid
description: The unique identifier of the user
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
image:
type: string
format: binary
description: The avatar image file
required:
- image
responses:
'200':
description: Avatar updated successfully
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/users/avatar:
put:
operationId: updateUserAvatarByEmail
summary: Update a user avatar by email
description: Upload an avatar for a user identified by the image filename (email address)
tags:
- Users
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
image:
type: string
format: binary
description: The avatar image file named after the user's email address
required:
- image
responses:
'200':
description: Avatar updated successfully
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
UserStateChangeResponse:
type: object
properties:
succeeded:
type: array
items:
type: string
format: uuid
description: User IDs that were successfully updated
failed:
type: array
items:
type: object
properties:
userId:
type: string
format: uuid
reason:
type: string
UserSearchRequest:
type: object
properties:
query:
type: string
description: Search query for user name or email
status:
type: string
enum:
- active
- deactivated
description: Filter by user status
page:
type: integer
default: 1
description: Page number for pagination
pageSize:
type: integer
default: 25
description: Number of results per page
UserStateChangeRequest:
type: object
required:
- userIds
properties:
userIds:
type: array
items:
type: string
format: uuid
description: List of user IDs to activate or deactivate
UpdateUserRequest:
type: object
properties:
firstName:
type: string
description: The user's first name
lastName:
type: string
description: The user's last name
jobTitle:
type: string
description: The user's job title
department:
type: string
description: The user's department
managerId:
type: string
format: uuid
description: The user ID of the user's manager
User:
type: object
properties:
userId:
type: string
format: uuid
description: The unique identifier of the user
email:
type: string
format: email
description: The user's email address
firstName:
type: string
description: The user's first name
lastName:
type: string
description: The user's last name
status:
type: string
enum:
- active
- deactivated
description: The user's account status
jobTitle:
type: string
description: The user's job title
department:
type: string
description: The user's department
managerId:
type: string
format: uuid
description: The user ID of the user's manager
createdAt:
type: string
format: date-time
description: When the user was created
updatedAt:
type: string
format: date-time
description: When the user was last updated
Error:
type: object
properties:
code:
type: string
description: Error code
message:
type: string
description: Human-readable error message
details:
type: array
items:
type: object
properties:
field:
type: string
message:
type: string
CreateUserRequest:
type: object
required:
- email
- firstName
- lastName
properties:
email:
type: string
format: email
description: The user's email address
firstName:
type: string
description: The user's first name
lastName:
type: string
description: The user's last name
jobTitle:
type: string
description: The user's job title
department:
type: string
description: The user's department
managerId:
type: string
format: uuid
description: The user ID of the user's manager
responses:
NotFound:
description: Not found - the requested resource does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: Bad request - invalid parameters or request body
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Conflict:
description: Conflict - resource already exists
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Forbidden:
description: Forbidden - insufficient permissions or plan restrictions
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Unauthorized - missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
SubscriptionKey:
type: apiKey
in: header
name: workleap-subscription-key
description: API key for authenticating requests to the Workleap API