openapi: 3.2.0
info:
title: Chili Piper Scheduling Links API
version: '1.0'
description: 'Operations tagged schedulingLinks across 2 of this provider''s published API definitions: chili-piper-scheduling-link-management-openapi.yaml, chili-piper-user-details-openapi.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://fire.chilipiper.com/api/fire-edge
description: Production
security:
- apiKeyAuth: []
tags:
- name: schedulingLinks
paths:
/v1/org/schedulingLinks/list-personal/{userId}:
servers:
- url: https://fire.chilipiper.com/api/fire-edge
description: Production
get:
tags:
- schedulingLinks
summary: Scheduling Links - personal
description: "[operation: scheduling-link-list-personal]\n\n\n\nREAD-ONLY\n\n\n\nLists a user's own personal scheduling links (their individual booking URLs, not team/distribution-backed ones). Use scheduling-link-list-round-robin and the other list-* tools for team links.\n\n→\n\n [{slug, meetingTypeId, meetingTypeName, bookingUrl}]\n\nsee: user-find (resolve userId), scheduling-link-list-round-robin (team/distribution-backed links)"
operationId: schedulingLinkListPersonal
parameters:
- name: userId
in: path
required: true
schema:
type: string
pattern: '[^\s\\/]+'
responses:
'200':
description: List of personal scheduling links with full details.
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:
type: array
items:
$ref: '#/components/schemas/PersonalSchedulingLinkDetail'
'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
/v1/org/schedulingLinks/list-round-robin:
servers:
- url: https://fire.chilipiper.com/api/fire-edge
description: Production
post:
tags:
- schedulingLinks
summary: Scheduling Links - round robin
description: "[operation: scheduling-link-list-round-robin]\n\n\n\nREAD-ONLY\n\n\n\nLists round-robin scheduling links — booking URLs backed by a distribution, so each booking is assigned round-robin across the distribution's members. All filters are optional; omit them all for org-wide results.\n\n→\n\n {links: [{workspaceId, distributionId, linkId, name, slug, meetingTypeIds, members, assignments, bookingUrl}]}\n\nsee: distribution-list (find distributionIds), workspace-list (find workspaceIds), scheduling-link-list-personal (per-user links)"
operationId: schedulingLinkListRoundRobin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RoundRobinSchedulingLinksRequest'
required: true
responses:
'200':
description: List of round robin scheduling links. Payload structure might change.
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/RoundRobinSchedulingLinkDetails'
'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:
- scheduling-links.read
/v1/org/schedulingLinks/list-admin-one-on-one:
servers:
- url: https://fire.chilipiper.com/api/fire-edge
description: Production
post:
tags:
- schedulingLinks
summary: Scheduling Links - admin (one-on-one)
description: "[operation: scheduling-link-list-admin-one-on-one]\n\n\n\nREAD-ONLY\n\n\n\nLists admin (one-on-one) scheduling links — admin-provisioned links that each book with a single fixed host (no round-robin). All filters are optional; omit them all for org-wide results.\n\n→\n\n {links: [{workspaceId, linkId, name, slug, meetingTypeIds, bookingUrl}]}\n\nsee: workspace-list (find workspaceIds), scheduling-link-init (book via linkId)"
operationId: schedulingLinkListAdminOneOnOne
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AdminSchedulingLinksRequest'
required: true
responses:
'200':
description: List of admin (one-on-one) scheduling links.
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/AdminSchedulingLinkDetails'
'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:
- scheduling-links.read
/v1/org/schedulingLinks/list-group:
servers:
- url: https://fire.chilipiper.com/api/fire-edge
description: Production
post:
tags:
- schedulingLinks
summary: Scheduling Links - group
description: "[operation: scheduling-link-list-group]\n\n\n\nREAD-ONLY\n\n\n\nLists group scheduling links — meetings with a fixed set of multiple attendees, each independently required or optional. The invite goes to everyone, but offered slots are the intersection of the required attendees' availability only. Attendees can be specific users or picked round-robin at book time. All filters are optional; omit them all for org-wide results.\n\n→\n\n {links: [{workspaceId, linkId, name, slug, meetingTypeIds, bookingUrl}]}\n\nsee: workspace-list (find workspaceIds), scheduling-link-init (book via linkId)"
operationId: schedulingLinkListGroup
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GroupSchedulingLinksRequest'
required: true
responses:
'200':
description: List of group scheduling links.
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/GroupSchedulingLinkDetails'
'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:
- scheduling-links.read
/v1/org/schedulingLinks/list-ownership:
servers:
- url: https://fire.chilipiper.com/api/fire-edge
description: Production
post:
tags:
- schedulingLinks
summary: Scheduling Links - ownership
description: "[operation: scheduling-link-list-ownership]\n\n\n\nREAD-ONLY\n\n\n\nLists ownership scheduling links — links that route each booking to the guest's CRM account owner (lead or contact owner), resolved at book time, which is why scheduling-link-init requires guestEmail. A link may add fixed or round-robin assignees and reference distributions as assignees, as a fallback when no owner matches, or both. All filters are optional; omit them all for org-wide results.\n\n- filterDistributionIds (opt): matches links referencing any of these distributions (as assignee, fallback, or both); use distribution-list.\n\n→\n\n {links: [{workspaceId, linkId, name, slug, meetingTypeIds, ownership, distribution, pageConfig, sharedWith, bookingUrl}]}\n\nsee: distribution-list (find distributionIds), workspace-list (find workspaceIds), scheduling-link-init (book via linkId, guestEmail required)"
operationId: schedulingLinkListOwnership
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OwnershipSchedulingLinksRequest'
required: true
responses:
'200':
description: List of ownership scheduling links.
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/OwnershipSchedulingLinkDetails'
'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:
- scheduling-links.read
/v1/org/schedulingLinks/round-robin:
servers:
- url: https://fire.chilipiper.com/api/fire-edge
description: Production
post:
tags:
- schedulingLinks
summary: Create round-robin scheduling link
description: "[operation: scheduling-link-create-round-robin]\n\n\n\nMUTATING\n\n\n\nCreates a round-robin scheduling link — bookings are distributed across the backing distributions' members. Each distribution is a required assignee and the first one supplies the host.\n\n- slug: URL slug (lowercase letters, digits, hyphens, underscores).\n\n- distributionIds: one or more distributions; use distribution-list.\n\n- sharedWith (opt): sharing scope, {type: \"Workspace\"} (default) or {type: \"Teams\", teamIds}.\n\n→\n\n {workspaceId, linkId, name, slug, meetingTypeIds, assignments, bookingUrl}\n\nsee: distribution-list (find distributionIds), scheduling-link-list-round-robin (browse existing)"
operationId: schedulingLinkCreateRoundRobin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RoundRobinLinkCreate'
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
content:
application/json:
schema:
$ref: '#/components/schemas/RoundRobinSchedulingLinkDetail'
'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:
- scheduling-links.create
/v1/org/schedulingLinks/round-robin/{linkId}:
servers:
- url: https://fire.chilipiper.com/api/fire-edge
description: Production
put:
tags:
- schedulingLinks
summary: Update round-robin scheduling link
description: "[operation: scheduling-link-update-round-robin]\n\n\n\nMUTATING — IDEMPOTENT\n\n\n\nPatches a round-robin scheduling link. Send only the fields you want to change; omitted fields keep their current value. Passing distributionIds replaces the backing distributions (the first becomes the host).\n\n→\n\n {workspaceId, linkId, name, slug, meetingTypeIds, assignments, bookingUrl}\n\n⚠ takes effect immediately\n\nsee: scheduling-link-list-round-robin (find a linkId)"
operationId: schedulingLinkUpdateRoundRobin
parameters:
- name: linkId
in: path
required: true
schema:
type: string
pattern: '[^\s\\/]+'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RoundRobinLinkUpdate'
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
content:
application/json:
schema:
$ref: '#/components/schemas/RoundRobinSchedulingLinkDetail'
'400':
description: 'Invalid value for: path parameter linkId, 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:
- scheduling-links.modify
delete:
tags:
- schedulingLinks
summary: Remove round-robin scheduling link
description: '[operation: scheduling-link-delete-round-robin]
MUTATING — DESTRUCTIVE
Deletes a round-robin scheduling link by id.
- linkId (req): the round-robin link''s id
⚠ irreversible via API; the booking URL stops working immediately
see: scheduling-link-list-round-robin (confirm the id before deleting)'
operationId: schedulingLinkDeleteRoundRobin
parameters:
- name: linkId
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
'400':
description: 'Invalid value for: path parameter linkId'
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:
- scheduling-links.remove
/v1/org/schedulingLinks/admin-one-on-one:
servers:
- url: https://fire.chilipiper.com/api/fire-edge
description: Production
post:
tags:
- schedulingLinks
summary: Create admin (one-on-one) scheduling link
description: "[operation: scheduling-link-create-admin-one-on-one]\n\n\n\nMUTATING\n\n\n\nCreates an admin (one-on-one) scheduling link — each booking gets a single fixed host, drawn from the sharedWith scope.\n\n- slug: URL slug (lowercase letters, digits, hyphens, underscores).\n\n- sharedWith (opt): who can host, {type: \"Workspace\"} (default) or {type: \"Teams\", teamIds}.\n\n→\n\n {workspaceId, linkId, name, slug, meetingTypeIds, bookingUrl}\n\nsee: scheduling-link-list-admin-one-on-one (browse existing)"
operationId: schedulingLinkCreateAdminOneOnOne
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AdminLinkCreate'
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
content:
application/json:
schema:
$ref: '#/components/schemas/AdminSchedulingLinkDetail'
'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:
- scheduling-links.create
/v1/org/schedulingLinks/admin-one-on-one/{linkId}:
servers:
- url: https://fire.chilipiper.com/api/fire-edge
description: Production
put:
tags:
- schedulingLinks
summary: Update admin (one-on-one) scheduling link
description: "[operation: scheduling-link-update-admin-one-on-one]\n\n\n\nMUTATING — IDEMPOTENT\n\n\n\nPatches an admin (one-on-one) scheduling link. Send only the fields you want to change; omitted fields keep their current value.\n\n→\n\n {workspaceId, linkId, name, slug, meetingTypeIds, bookingUrl}\n\n⚠ takes effect immediately\n\nsee: scheduling-link-list-admin-one-on-one (find a linkId)"
operationId: schedulingLinkUpdateAdminOneOnOne
parameters:
- name: linkId
in: path
required: true
schema:
type: string
pattern: '[^\s\\/]+'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AdminLinkUpdate'
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
content:
application/json:
schema:
$ref: '#/components/schemas/AdminSchedulingLinkDetail'
'400':
description: 'Invalid value for: path parameter linkId, 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:
- scheduling-links.modify
delete:
tags:
- schedulingLinks
summary: Remove admin (one-on-one) scheduling link
description: '[operation: scheduling-link-delete-admin-one-on-one]
MUTATING — DESTRUCTIVE
Deletes an admin (one-on-one) scheduling link by id.
- linkId (req): the admin link''s id
⚠ irreversible via API; the booking URL stops working immediately
see: scheduling-link-list-admin-one-on-one (confirm the id before deleting)'
operationId: schedulingLinkDeleteAdminOneOnOne
parameters:
- name: linkId
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
'400':
description: 'Invalid value for: path parameter linkId'
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:
- scheduling-links.remove
/v1/org/schedulingLinks/group:
servers:
- url: https://fire.chilipiper.com/api/fire-edge
description: Production
post:
tags:
- schedulingLinks
summary: Create group scheduling link
description: "[operation: scheduling-link-create-group]\n\n\n\nMUTATING\n\n\n\nCreates a group scheduling link — a meeting with a fixed host plus additional members. Offered slots are the intersection of the host and required members' availability; optional members are invited but do not gate availability.\n\n- slug: URL slug (lowercase letters, digits, hyphens, underscores).\n\n- hostUserId: the host user; use user-find.\n\n- sharedWith (opt): sharing scope, {type: \"Workspace\"} (default) or {type: \"Teams\", teamIds}.\n\n→\n\n {workspaceId, linkId, name, slug, meetingTypeIds, bookingUrl}\n\nsee: user-find (resolve user ids), scheduling-link-list-group (browse existing)"
operationId: schedulingLinkCreateGroup
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GroupLinkCreate'
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
content:
application/json:
schema:
$ref: '#/components/schemas/GroupSchedulingLinkDetail'
'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:
- scheduling-links.create
/v1/org/schedulingLinks/group/{linkId}:
servers:
- url: https://fire.chilipiper.com/api/fire-edge
description: Production
put:
tags:
- schedulingLinks
summary: Update group scheduling link
description: "[operation: scheduling-link-update-group]\n\n\n\nMUTATING — IDEMPOTENT\n\n\n\nPatches a group scheduling link. Send only the fields you want to change; omitted fields keep their current value. Passing requiredMemberIds or optionalMemberIds replaces that member list wholesale.\n\n→\n\n {workspaceId, linkId, name, slug, meetingTypeIds, bookingUrl}\n\n⚠ takes effect immediately\n\nsee: user-find (resolve user ids), scheduling-link-list-group (find a linkId)"
operationId: schedulingLinkUpdateGroup
parameters:
- name: linkId
in: path
required: true
schema:
type: string
pattern: '[^\s\\/]+'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GroupLinkUpdate'
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
content:
application/json:
schema:
$ref: '#/components/schemas/GroupSchedulingLinkDetail'
'400':
description: 'Invalid value for: path parameter linkId, 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
# --- truncated at 32 KB (68 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/chili-piper/refs/heads/main/openapi/chili-piper-schedulinglinks-api-openapi.yml