The Edge API lets you run a Concierge router from outside the Chili Piper UI – server-side, from a backend agent, or from a hybrid embed. There are two ways to use it:
- Return a booking URL that you redirect the lead to (the embed pattern);
- Schedule a meeting programmatically without any UI (the no-UI pattern).
Both call the same routing endpoint with an API token; the difference is whether you pass an interval.
Table of Contents
- Prerequisites
- Step 1: Generate an API Token
- Step 2: Pick an Access Pattern
- Option A: Return a Booking URL
- Option B: Schedule Programmatically
- Qualify a Lead Without Scheduling
- Body Fields and Triggers
- Share Instructions with Your Developer
- Good to Know
Prerequisites
Before setting up the Edge API, confirm the following:
- You have a Concierge router with one of these triggers configured: Third-party Form is Submitted, Button is clicked in-app, or Router link is clicked or Router link form is submitted;
- A user with the Admin role in Chili Piper is available to generate the API token in Admin Center.
⚠️ Warning: Only users with the Admin role can generate API tokens in Admin Center. Workspace Managers do not have access to the credentials page.
Step 1: Generate an API Token
- Go to Admin Center and navigate to the Credentials page;
- Click Generate Token;
- Select the Concierge.route and Concierge.schedule permissions;
- Name the token to match the router you are using;
- Copy the token immediately – it is only shown once and cannot be retrieved later.
⚠️ Warning: Store your API token securely. If you lose it, you will need to generate a new one. Tokens cannot be viewed again after creation.
Step 2: Pick an Access Pattern
| Pattern | When to use | What you pass | What you get back |
|---|---|---|---|
| Return a booking URL | You can redirect the lead to a Chili Piper page to complete scheduling |
form data (no interval) |
A routingLink to redirect the lead to |
| Schedule programmatically | You need to book the meeting without sending the lead through any UI |
form data plus interval
|
Available startTimes plus a routingId for the second call |
Both patterns POST to the same endpoint:
https://fire.chilipiper.com/api/fire-edge/v1/org/concierge/routers/[routerSlug]/rest
Authenticate with your API token in the Authorization header:
Authorization: Bearer ADD_TOKEN_HERE
You can also click Copy on the Custom API tab inside the router's Booking Page settings to copy the URL and a starter request body.
Option A: Return a Booking URL
Use this when the lead can be redirected to a Chili Piper page to pick a slot and book.
Request:
{
"form": {
"PersonEmail": "lead@example.com",
"PersonFirstName": "Jamie"
},
"options": {
"trigger": "InAppButton"
}
}Response (key fields):
{
"routeId": "9413f879-...",
"routingLink": "https://your-tenant.chilipiper.com/concierge-router/[routerSlug]/routing/9413f879-...",
"schedulingAllowed": true,
"assignment": { "userId": "...", "type": "user" }
}Redirect the lead to routingLink to complete the booking.
Option B: Schedule Programmatically
Use this when no Chili Piper UI is involved.
This is a two-step flow.
Step 1: Route and get available slots
{
"form": {
"PersonEmail": "lead@example.com",
"PersonFirstName": "Jamie"
},
"options": {
"trigger": "InAppButton"
},
"interval": {
"startsAt": "2026-04-14T00:00:00Z",
"duration": "7 days"
}
}The response includes schedulingData with startTimes:
{
"routeId": "9413f879-...",
"schedulingAllowed": true,
"schedulingData": {
"meetingTypeRef": { "id": "..." },
"duration": "1800000 milliseconds",
"startTimes": [
{ "startTime": "2026-04-14T17:00:00Z", "attendees": [...] },
{ "startTime": "2026-04-14T17:30:00Z", "attendees": [...] }
]
}
}Step 2: Book a Slot
{
"startTime": "2026-04-14T17:00:00Z"
}⚠️ Warning: A routing session is single-use. If the schedule call fails, call the routing endpoint again to get a new session.
Qualify a Lead Without Scheduling
- Confirm a lead is routable;
- See which user they would be assigned to;
- Decide whether to surface a scheduler.
No routing session is consumed until scheduling occurs.
Body Fields and Triggers
| Trigger | What to send as form keys |
|---|---|
| Third-party Form | Form Field Names from your form mapping |
| In-app Button | Data Field names (e.g., PersonEmail) |
| Router Link | Field names from the Router link form |
Note: Field names may differ based on your tenant configuration. Always refer to the Custom API tab.
Always pass options.trigger.
ThirdPartyFormInAppButtonRouterLink
Share Instructions with Your Developer
If another team member is implementing the API integration, you can use the Share Instructions button in the Custom API tab.
- The endpoint URL;
- Token generation steps;
- A link to Admin Center;
- A link to this support article.
Good to Know
- The Edge API works with all supported triggers;
- API tokens are shown only once;
- Only Admins can generate tokens;
- Scope each token to a single router;
- Tokens must be created in Admin Center;
- Routing sessions are single-use.
Comments
0 comments
Please sign in to leave a comment.