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.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/chili-piper-user-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: 3.2.0
info:
title: Chili Piper User API
version: '1.0'
description: 'Operations tagged user across 12 of this provider''s published API definitions: chili-piper-availability-inspector-openapi.yaml, chili-piper-chat-conversation-inspector-openapi.yaml, chili-piper-concierge-debugger-openapi.yaml, chili-piper-concierge-router-builder-openapi.yaml, chili-piper-concierge-router-configuration-openapi.yaml, chili-piper-distribution-analysis-openapi.yaml, chili-piper-handoff-router-configuration-openapi.yaml, chili-piper-no-show-analyzer-openapi.yaml…'
servers:
- url: https://fire.chilipiper.com/api/fire-edge
description: Production
security:
- apiKeyAuth: []
tags:
- name: User
paths:
/v1/org/user/find:
get:
tags:
- User
summary: Finds user
description: '[operation: user-find]
READ-ONLY
Searches users by free-text query matched against email and name (partial matches supported). Paginated.
- query (req): partial email or name
- page (opt), pageSize (opt, default 200)
→ paginated list of users, each with: {id, name, email, isSuperAdmin, licenses, workspaces, salesforce (opt), hubspot (opt), slug (opt), managedWorkspaces, managedTeams}
see: user-read (full profile), user-find-by-ids (batch by ID), user-find-by-filter (advanced multi-field filtering)'
operationId: userFind
parameters:
- name: query
in: query
description: Search by email or name
required: true
schema:
type: string
- name: page
in: query
description: Page number. First page has index 0.
required: false
schema:
default: 0
type: integer
format: int64
minimum: 0
example: 0
- name: pageSize
in: query
description: Number of items per page. Maximum is 50
required: false
schema:
default: 10
type: integer
format: int64
exclusiveMinimum: 0
example: 10
responses:
'200':
description: ''
headers:
Cache-Control:
required: true
schema:
type: string
X-Robots-Tag:
required: true
schema:
type: string
Pragma:
required: true
schema:
type: string
Expires:
required: true
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedResult_User'
'400':
description: 'Invalid value for: query parameter query, Invalid value for: query parameter page, Invalid value for: query parameter pageSize'
content:
text/plain:
schema:
type: string
default:
description: ''
headers:
Location:
required: false
schema:
type: string
content:
application/json:
schema:
type: object
required:
- errorCode
- errorMessage
properties:
errorCode:
type: string
errorMessage:
type: string
arguments:
$ref: '#/components/schemas/Map_String'
security:
- apiKeyAuth: []
X-Chili-Required-Permissions:
- user.read
servers:
- url: https://fire.chilipiper.com/api/fire-edge
description: Production
/v1/org/user/read/{userId}:
get:
tags:
- User
summary: Reads user information
description: '[operation: user-read]
READ-ONLY
Fetches full profile for a single user by userId.
- userId (req): UUID
→
{id, name, email, isSuperAdmin, licenses, workspaces (set of workspaceIds), salesforce: {email, id} (opt), hubspot: {email, id} (opt), slug (opt), managedWorkspaces, managedTeams}
Note: top-level field is id (not userId); workspaces (not workspaceMemberships); salesforce is an object {email, id} (not a string salesforceId)
see: user-find (look up userId by email/name), user-find-by-ids (batch fetch), user-update-licenses/workspace-add-users/team-add-users (act on user)'
operationId: userRead
parameters:
- name: userId
in: path
required: true
schema:
type: string
pattern: '[^\s\\/]+'
responses:
'200':
description: ''
headers:
Cache-Control:
required: true
schema:
type: string
X-Robots-Tag:
required: true
schema:
type: string
Pragma:
required: true
schema:
type: string
Expires:
required: true
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'400':
description: 'Invalid value for: path parameter userId'
content:
text/plain:
schema:
type: string
default:
description: ''
headers:
Location:
required: false
schema:
type: string
content:
application/json:
schema:
type: object
required:
- errorCode
- errorMessage
properties:
errorCode:
type: string
errorMessage:
type: string
arguments:
$ref: '#/components/schemas/Map_String'
security:
- apiKeyAuth: []
X-Chili-Required-Permissions:
- user.read
servers:
- url: https://fire.chilipiper.com/api/fire-edge
description: Production
/v1/org/user/find-by-id:
post:
tags:
- User
summary: Finds users by IDs
description: '[operation: user-find-by-ids]
READ-ONLY
Batch-fetches full profiles for a known set of userIds in one request — the id-list counterpart to user-read. The body is a bare JSON array of userId UUIDs (e.g. ["uuid1", "uuid2"]), not wrapped in an object.
→ paginated list of users, each with: {id, name, email, isSuperAdmin, licenses, workspaces, salesforce: {email, id} (opt), hubspot: {email, id} (opt), slug (opt), managedWorkspaces, managedTeams}
see: user-find/find-by-filter (look up userIds), user-update-licenses/team-add-users/workspace-add-users (act on results)'
operationId: userFindByIds
parameters:
- name: page
in: query
description: Page number. First page has index 0.
required: false
schema:
default: 0
type: integer
format: int64
minimum: 0
example: 0
- name: pageSize
in: query
description: Number of items per page. Maximum is 50
required: false
schema:
default: 10
type: integer
format: int64
exclusiveMinimum: 0
example: 10
requestBody:
content:
application/json:
schema:
type: array
items:
type: string
pattern: '[^\s\\/]+'
required: false
responses:
'200':
description: ''
headers:
Cache-Control:
required: true
schema:
type: string
X-Robots-Tag:
required: true
schema:
type: string
Pragma:
required: true
schema:
type: string
Expires:
required: true
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedResult_User_2'
'400':
description: 'Invalid value for: query parameter page, Invalid value for: query parameter pageSize, Invalid value for: body'
content:
text/plain:
schema:
type: string
default:
description: ''
headers:
Location:
required: false
schema:
type: string
content:
application/json:
schema:
type: object
required:
- errorCode
- errorMessage
properties:
errorCode:
type: string
errorMessage:
type: string
arguments:
$ref: '#/components/schemas/Map_String'
security:
- apiKeyAuth: []
X-Chili-Required-Permissions:
- user.read
servers:
- url: https://fire.chilipiper.com/api/fire-edge
description: Production
/v1/org/user/licenses:
post:
tags:
- User
summary: Updates licenses for users
description: '[operation: user-update-licenses]
MUTATING — IDEMPOTENT
Bulk-updates CP product licenses for one or more users. Unlisted users are unaffected.
- update (req): [{userId, licenseType}]; valid types: Distro, ChiliCalOrg, Concierge, ConciergeLive, Chat, Handoff; use user-find for userIds
→
{}
⚠ downgrade takes effect immediately (disables gated features); fails if org lacks sufficient seats
see: user-find/find-by-ids (resolve userIds and verify after)'
operationId: userUpdateLicenses
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateLicensesRequest'
required: true
responses:
'200':
description: ''
headers:
Cache-Control:
required: true
schema:
type: string
X-Robots-Tag:
required: true
schema:
type: string
Pragma:
required: true
schema:
type: string
Expires:
required: true
schema:
type: string
'400':
description: 'Invalid value for: body'
content:
text/plain:
schema:
type: string
default:
description: ''
headers:
Location:
required: false
schema:
type: string
content:
application/json:
schema:
type: object
required:
- errorCode
- errorMessage
properties:
errorCode:
type: string
errorMessage:
type: string
arguments:
$ref: '#/components/schemas/Map_String'
security:
- apiKeyAuth: []
X-Chili-Required-Permissions:
- licenses.modify
servers:
- url: https://fire.chilipiper.com/api/fire-edge
description: Production
components:
schemas:
PaginatedResult_User:
title: PaginatedResult_User
type: object
required:
- total
- page
- pageSize
properties:
results:
type: array
items:
$ref: '#/components/schemas/User'
total:
type: integer
format: int64
page:
type: integer
format: int64
minimum: 0
pageSize:
type: integer
format: int64
exclusiveMinimum: 0
UserLicenses:
title: UserLicenses
type: object
required:
- distro
- chiliCalOrg
- concierge
- conciergeLive
- chat
- handoff
properties:
distro:
type: boolean
chiliCalOrg:
type: boolean
concierge:
type: boolean
conciergeLive:
type: boolean
chat:
type: boolean
handoff:
type: boolean
Email:
title: Email
examples:
- john.doe@acme.com
type: string
pattern: .+@.+
User:
title: User
type: object
required:
- id
- name
- email
- isSuperAdmin
- licenses
properties:
id:
$ref: '#/components/schemas/UserId'
name:
type: string
minLength: 1
email:
$ref: '#/components/schemas/Email'
isSuperAdmin:
type: boolean
managedWorkspaces:
type: array
uniqueItems: true
items:
type: string
pattern: '[^\s\\/]+'
managedTeams:
type: array
uniqueItems: true
items:
type: string
pattern: '[^\s\\/]+'
licenses:
$ref: '#/components/schemas/UserLicenses'
salesforce:
$ref: '#/components/schemas/SalesforceUser'
hubspot:
$ref: '#/components/schemas/HubspotUser'
slug:
type: string
pattern: '[-0-9a-z_]+'
workspaces:
type: array
uniqueItems: true
items:
type: string
pattern: '[^\s\\/]+'
personalWorkspaceId:
type: string
pattern: '[^\s\\/]+'
Map_String:
title: Map_String
type: object
additionalProperties:
type: string
SalesforceUser:
title: SalesforceUser
type: object
required:
- email
- id
properties:
email:
$ref: '#/components/schemas/Email'
id:
type: string
pattern: '[^\s\\/]+'
UserId:
title: UserId
examples:
- 64ee0722-c7c6-4b48-bc89-356c99f1d25d
type: string
pattern: '[^\s\\/]+'
HubspotUser:
title: HubspotUser
type: object
required:
- email
- id
properties:
email:
$ref: '#/components/schemas/Email'
id:
type: integer
format: int64
User1:
title: User
type: object
required:
- id
- name
- email
- isSuperAdmin
- licenses
properties:
id:
$ref: '#/components/schemas/UserId'
name:
type: string
minLength: 1
email:
$ref: '#/components/schemas/Email'
isSuperAdmin:
type: boolean
managedWorkspaces:
type: array
uniqueItems: true
items:
type: string
pattern: '[^\s\\/]+'
managedTeams:
type: array
uniqueItems: true
items:
type: string
pattern: '[^\s\\/]+'
licenses:
$ref: '#/components/schemas/UserLicenses_2'
salesforce:
$ref: '#/components/schemas/SalesforceUser'
hubspot:
$ref: '#/components/schemas/HubspotUser'
slug:
type: string
pattern: '[-0-9a-z_]+'
workspaces:
type: array
uniqueItems: true
items:
type: string
pattern: '[^\s\\/]+'
personalWorkspaceId:
type: string
pattern: '[^\s\\/]+'
PaginatedResult_User_2:
title: PaginatedResult_User
type: object
required:
- total
- page
- pageSize
properties:
results:
type: array
items:
$ref: '#/components/schemas/User1'
total:
type: integer
format: int64
page:
type: integer
format: int64
minimum: 0
pageSize:
type: integer
format: int64
exclusiveMinimum: 0
UserLicenses_2:
title: UserLicenses
type: object
required:
- chiliCalOrg
- handoff
properties:
distro:
type: boolean
chiliCalOrg:
type: boolean
concierge:
type: boolean
conciergeLive:
type: boolean
chat:
type: boolean
handoff:
type: boolean
tier:
$ref: '#/components/schemas/Tier'
Tier:
title: Tier
type: string
enum:
- RoutingAndScheduling
- Experiences
- ChiliDataPlatform
User1_2:
title: User
type: object
required:
- id
- name
- email
- isSuperAdmin
- licenses
properties:
id:
$ref: '#/components/schemas/UserId'
name:
type: string
minLength: 1
email:
$ref: '#/components/schemas/Email'
isSuperAdmin:
type: boolean
managedWorkspaces:
type: array
uniqueItems: true
items:
type: string
pattern: '[^\s\\/]+'
managedTeams:
type: array
uniqueItems: true
items:
type: string
pattern: '[^\s\\/]+'
licenses:
$ref: '#/components/schemas/UserLicenses_3'
salesforce:
$ref: '#/components/schemas/SalesforceUser'
hubspot:
$ref: '#/components/schemas/HubspotUser'
slug:
type: string
pattern: '[-0-9a-z_]+'
workspaces:
type: array
uniqueItems: true
items:
type: string
pattern: '[^\s\\/]+'
personalWorkspaceId:
type: string
pattern: '[^\s\\/]+'
PaginatedResult_User_3:
title: PaginatedResult_User
type: object
required:
- total
- page
- pageSize
properties:
results:
type: array
items:
$ref: '#/components/schemas/User1_2'
total:
type: integer
format: int64
page:
type: integer
format: int64
minimum: 0
pageSize:
type: integer
format: int64
exclusiveMinimum: 0
UserLicenses_3:
title: UserLicenses
type: object
required:
- chiliCalOrg
- handoff
properties:
distro:
type: boolean
chiliCalOrg:
type: boolean
concierge:
type: boolean
conciergeLive:
type: boolean
chat:
type: boolean
handoff:
type: boolean
tier:
$ref: '#/components/schemas/Tier'
User1_3:
title: User
type: object
required:
- id
- name
- email
- isSuperAdmin
- licenses
properties:
id:
$ref: '#/components/schemas/UserId'
name:
type: string
minLength: 1
email:
$ref: '#/components/schemas/Email'
isSuperAdmin:
type: boolean
managedWorkspaces:
type: array
uniqueItems: true
items:
type: string
pattern: '[^\s\\/]+'
managedTeams:
type: array
uniqueItems: true
items:
type: string
pattern: '[^\s\\/]+'
licenses:
$ref: '#/components/schemas/UserLicenses_4'
salesforce:
$ref: '#/components/schemas/SalesforceUser'
hubspot:
$ref: '#/components/schemas/HubspotUser'
slug:
type: string
pattern: '[-0-9a-z_]+'
workspaces:
type: array
uniqueItems: true
items:
type: string
pattern: '[^\s\\/]+'
personalWorkspaceId:
type: string
pattern: '[^\s\\/]+'
PaginatedResult_User_4:
title: PaginatedResult_User
type: object
required:
- total
- page
- pageSize
properties:
results:
type: array
items:
$ref: '#/components/schemas/User1_3'
total:
type: integer
format: int64
page:
type: integer
format: int64
minimum: 0
pageSize:
type: integer
format: int64
exclusiveMinimum: 0
UserLicenses_4:
title: UserLicenses
type: object
required:
- chiliCalOrg
- handoff
properties:
distro:
type: boolean
chiliCalOrg:
type: boolean
concierge:
type: boolean
conciergeLive:
type: boolean
chat:
type: boolean
handoff:
type: boolean
tier:
$ref: '#/components/schemas/Tier'
User1_4:
title: User
type: object
required:
- id
- name
- email
- isSuperAdmin
- licenses
properties:
id:
$ref: '#/components/schemas/UserId'
name:
type: string
minLength: 1
email:
$ref: '#/components/schemas/Email'
description: User's email address.
isSuperAdmin:
description: Whether the user is a super administrator of the tenant.
type: boolean
managedWorkspaces:
description: Workspaces the user administers.
type: array
uniqueItems: true
items:
type: string
pattern: '[^\s\\/]+'
managedTeams:
description: Teams the user administers.
type: array
uniqueItems: true
items:
type: string
pattern: '[^\s\\/]+'
licenses:
$ref: '#/components/schemas/UserLicenses_5'
salesforce:
$ref: '#/components/schemas/SalesforceUser_2'
hubspot:
$ref: '#/components/schemas/HubspotUser_2'
slug:
description: User's personal booking-page slug; absent if they have none.
type: string
pattern: '[-0-9a-z_]+'
workspaces:
description: All workspaces the user is a member of.
type: array
uniqueItems: true
items:
type: string
pattern: '[^\s\\/]+'
personalWorkspaceId:
description: The user's personal workspace, when they have one.
type: string
pattern: '[^\s\\/]+'
PaginatedResult_User_5:
title: PaginatedResult_User
type: object
required:
- total
- page
- pageSize
properties:
results:
type: array
items:
$ref: '#/components/schemas/User1_4'
total:
type: integer
format: int64
page:
type: integer
format: int64
minimum: 0
pageSize:
type: integer
format: int64
exclusiveMinimum: 0
UserLicenses_5:
title: UserLicenses
type: object
required:
- chiliCalOrg
- handoff
properties:
distro:
description: Whether the user holds a Distro (lead-routing) license.
type: boolean
chiliCalOrg:
description: Whether the user holds a ChiliCal organization license.
type: boolean
concierge:
description: Whether the user holds a Concierge license.
type: boolean
conciergeLive:
description: Whether the user holds a Concierge Live license.
type: boolean
chat:
description: Whether the user holds a Chat license.
type: boolean
handoff:
description: Whether the user holds a Handoff license.
type: boolean
tier:
$ref: '#/components/schemas/Tier'
SalesforceUser_2:
title: SalesforceUser
type: object
required:
- email
- id
properties:
email:
$ref: '#/components/schemas/Email'
description: Email of the linked Salesforce user.
id:
description: Identifier of the linked Salesforce user.
type: string
pattern: '[^\s\\/]+'
HubspotUser_2:
title: HubspotUser
type: object
required:
- email
- id
properties:
email:
$ref: '#/components/schemas/Email'
description: Email of the linked HubSpot user.
id:
description: Identifier of the linked HubSpot user.
type: integer
format: int64
User1_5:
title: User
type: object
required:
- id
- name
- email
- isSuperAdmin
- licenses
properties:
id:
$ref: '#/components/schemas/UserId'
name:
type: string
minLength: 1
email:
$ref: '#/components/schemas/Email'
isSuperAdmin:
type: boolean
managedWorkspaces:
type: array
uniqueItems: true
items:
type: string
pattern: '[^\s\\/]+'
managedTeams:
type: array
uniqueItems: true
items:
type: string
pattern: '[^\s\\/]+'
licenses:
$ref: '#/components/schemas/UserLicenses_6'
salesforce:
$ref: '#/components/schemas/SalesforceUser'
hubspot:
$ref: '#/components/schemas/HubspotUser'
slug:
type: string
pattern: '[-0-9a-z_]+'
workspaces:
type: array
uniqueItems: true
items:
type: string
pattern: '[^\s\\/]+'
personalWorkspaceId:
type: string
pattern: '[^\s\\/]+'
PaginatedResult_User_6:
title: PaginatedResult_User
type: object
required:
- total
- page
- pageSize
properties:
results:
type: array
items:
$ref: '#/components/schemas/User1_5'
total:
type: integer
format: int64
page:
type: integer
format: int64
minimum: 0
pageSize:
type: integer
format: int64
exclusiveMinimum: 0
UserLicenses_6:
title: UserLicenses
type: object
required:
- chiliCalOrg
- handoff
properties:
distro:
type: boolean
chiliCalOrg:
type: boolean
concierge:
type: boolean
conciergeLive:
type: boolean
chat:
type: boolean
handoff:
type: boolean
tier:
$ref: '#/components/schemas/Tier'
User1_6:
title: User
type: object
required:
- id
- name
- email
- isSuperAdmin
- licenses
properties:
id:
$ref: '#/components/schemas/UserId'
name:
type: string
minLength: 1
email:
$ref: '#/components/schemas/Email'
isSuperAdmin:
type: boolean
managedWorkspaces:
type: array
uniqueItems: true
items:
type: string
pattern: '[^\s\\/]+'
managedTeams:
type: array
uniqueItems: true
items:
type: string
pattern: '[^\s\\/]+'
licenses:
$ref: '#/components/schemas/UserLicenses_7'
salesforce:
$ref: '#/components/schemas/SalesforceUser'
hubspot:
$ref: '#/components/schemas/HubspotUser'
slug:
type: string
pattern: '[-0-9a-z_]+'
workspaces:
type: array
uniqueItems: true
items:
type: string
pattern: '[^\s\\/]+'
personalWorkspaceId:
type: string
pattern: '[^\s\\/]+'
PaginatedResult_User_7:
title: PaginatedResult_User
type: object
required:
- total
- page
- pageSize
properties:
results:
type: array
items:
$ref: '#/components/schemas/User1_6'
total:
type: integer
format: int64
page:
type: integer
format: int64
minimum: 0
pageSize:
type: integer
format: int64
exclusiveMinimum: 0
UserLicenses_7:
title: UserLicenses
type: object
required:
- chiliCalOrg
- handoff
properties:
distro:
type: boolean
chiliCalOrg:
type: boolean
concierge:
type: boolean
conciergeLive:
type: boolean
chat:
type: boolean
handoff:
type: boolean
tier:
$ref: '#/components/schemas/Tier'
UpdateLicensesRequest:
title: UpdateLicensesRequest
type: object
required:
- update
properties:
update:
$ref: '#/components/schemas/Map_Refined_String_Refinement_V'
UserLicenses_8:
title: UserLicenses
type: object
required:
- chiliCalOrg
- handoff
properties:
distro:
type: boolean
chiliCalOrg:
type: boolean
concierge:
type: boolean
conciergeLive:
type: boolean
chat:
type: boolean
handoff:
type: boolean
tier:
$ref: '#/components/schemas/Tier'
NoTimezone:
title: NoTimezone
type: object
required:
- type
properties:
type:
type: string
const: NoTimezone
Map_Refined_String_Refinement_V:
title: Map_Refined_String_Refinement_V
type: object
additionalProperties:
$ref: '#/components/schemas/AvailabilityFailure'
ExternalCalendarIntegrationFailure:
title: ExternalCalendarIntegrationFailure
type: object
required:
- type
properties:
type:
type: string
const: ExternalCalendarIntegrationFailure
Other:
title: Other
type: object
required:
- type
properties:
type:
type: string
const: Other
AvailabilityFailure:
title: AvailabilityFailure
oneOf:
- $ref: '#/components/schemas/ExternalCalendarIntegrationFailure'
- $ref: '#/components/schemas/NoTimezone'
- $ref: '#/components/schemas/Other'
discriminator:
propertyName: type
mapping:
ExternalCalendarIntegrationFailure: '#/components/schemas/ExternalCalendarIntegrationFailure'
NoTimezone: '#/components/schemas/NoTimezone'
Other: '#/components/schemas/Other'
securitySchemes:
apiKeyAuth:
type: apiKey
description: 'API key in Authorization header. Format: ''Authorization: Bearer <api-key>'' — the word ''Bearer'' followed by a space and the key is required. Sending the key without the Bearer prefix returns 401.'
name: Authorization
in: header
x-refined-from:
- chili-piper-availability-inspector-openapi.yaml
- chili-piper-chat-conversation-inspector-openapi.yaml
- chili-piper-concierge-debugger-openapi.yaml
- chili-piper-concierge-router-builder-openapi.yaml
- chili-piper-concierge-router-configuration-openapi.yaml
- chili-piper-distribution-analysis-openapi.yaml
- chili-piper-handoff-router-configuration-openapi.yaml
- chili-piper-no-show-analyzer-openapi.yaml
- chili-piper-scheduling-link-management-openapi.yaml
- chili-piper-user-copy-openapi.yaml
- chili-piper-user-details-openapi.yaml
- chili-piper-user-offboarding-openapi.yaml