AI Appointment Assistant API
https://api.aiappointmentassistant.com/v1Welcome to the official API documentation for AI Appointment Assistant. Developers can integrate leads, appointments, conversations, user data, and custom automations using our secure REST API.
📦 Resources Overview
🔐 Authentication
All API requests require one of the following authentication methods:
1. API Key (Server-to-Server)
Send your API key in the Authorization header:
Authorization: Bearer YOUR_API_KEY2. OAuth 2.0 (User integrations)
We support:
- Authorization Code Flow
- Client Credentials Flow
📘 Quick Start
Create your first lead in seconds:
curl -X POST https://api.aiappointmentassistant.com/v1/leads \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "prospect@example.com",
"name": "John Doe",
"phone": "+1-444-123-9876",
"source": "website"
}'📍 Leads API
/leadsCreate a new lead.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| string | yes | Lead email | |
| name | string | no | Lead name |
| phone | string | no | Phone number |
| source | string | no | Source tag |
Response Example
{
"id": "lead_83hd92k1",
"email": "prospect@example.com",
"status": "new",
"created_at": 1732819200
}/leadsList all leads.
Parameters
limit- Max items (default 20)page- Pagination
curl -X GET https://api.aiappointmentassistant.com/v1/leads \
-H "Authorization: Bearer YOUR_API_KEY"/leads/:idRetrieve a specific lead.
curl -X GET https://api.aiappointmentassistant.com/v1/leads/lead_83hd92k1 \
-H "Authorization: Bearer YOUR_API_KEY"/leads/:idUpdate a lead.
curl -X PATCH https://api.aiappointmentassistant.com/v1/leads/lead_83hd92k1 \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{ "status": "contacted" }'/leads/:idDelete a lead.
curl -X DELETE https://api.aiappointmentassistant.com/v1/leads/lead_83hd92k1 \
-H "Authorization: Bearer YOUR_API_KEY"📅 Appointments API
/appointmentsCreate a new appointment.
Request Fields
lead_id- requireddatetime- required (ISO 8601)duration- default 30 mins
curl -X POST https://api.aiappointmentassistant.com/v1/appointments \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"lead_id": "lead_83hd92k1",
"datetime": "2025-01-10T14:00:00Z",
"duration": 30
}'GET /appointments - Filter by date, status, lead, or team
PATCH /appointments/:id - Reschedule or update details
DELETE /appointments/:id - Cancel an appointment
💬 Conversations API
/conversationsList all conversations.
/conversations/:idRetrieve detailed transcript.
curl -X GET https://api.aiappointmentassistant.com/v1/conversations/cnv_028kd \
-H "Authorization: Bearer YOUR_API_KEY"/conversations/:id/messagesSend message into an AI conversation thread.
👤 Users API
/usersList users (admins only).
/usersCreate user.
Fields
emailnamerole: admin | manager | staff | viewer
📡 Webhooks
Use webhooks to receive real-time events.
Webhook Endpoint Example
POST https://yourdomain.com/webhooks/aiassistantSupported Events
| Event | Description |
|---|---|
| lead.created | New lead generated |
| lead.updated | Status changed |
| appointment.booked | Appointment confirmed |
| appointment.rescheduled | User rescheduled |
| conversation.completed | AI finished the conversation |
| message.created | New AI message |
Webhook Request Example
{
"event": "appointment.booked",
"timestamp": 1732819200,
"data": {
"appointment_id": "apt_22jdh38",
"lead_id": "lead_83hd92k1"
}
}⚠️ Errors
| Code | Meaning |
|---|---|
| 400 | Invalid request |
| 401 | Invalid or missing API key |
| 403 | Insufficient permissions |
| 404 | Resource not found |
| 429 | Rate limit exceeded |
| 500 | Server error |
📈 Rate Limits
- 60 requests per minute per API key
- Bursting supported
📄 Changelog
v1.1
Added webhooks + conversations API
v1.0
Initial public API
🚀 Want API Access?
API is available on Growth and Pro plans.
View Pricing