Outbound API documentation
Read-only REST API for pulling leads and patients out of HomeoAxis into your own systems (CRM, spreadsheet, Zapier, n8n). Authenticated by a per-organization API key.
Authentication
Every request is authenticated by a per-organization API key, sent as the X-Api-Key header (or an api_key query parameter, if your tool can’t set custom headers). The key scopes every response to that one clinic organization automatically — there is no way to read another organization’s data with a valid key.
Generate a key from inside HomeoAxis: Leads → Connect → Integrations → Outbound API Keys. Each key is shown once at creation time and stored hashed — keep it somewhere safe, since it can’t be retrieved again (only revoked and replaced).
curl https://homeoaxis.com/api/v1/integration/leads \
-H "X-Api-Key: your_api_key_here"Rate limit: 60 requests/minute per key. All endpoints are read-only (GET).
GET /api/v1/integration/leads
New enquiries captured by the clinic — website forms, ad webhooks, walk-ins, phone calls.
Query parameters
sinceISO date/datetimeOnly leads created on or after this timestamp.statusstringFilter to one status: new, contacted, followup, converted, invalid.per_pageintegerPage size, 1–100 (default 50).Response fields (per lead)
idintegerLead ID.namestringLead's name.phonestringContact phone number.emailstring | nullContact email, if given.problemstring | nullReason for enquiry / chief complaint, if given.sourcestring | nullHow the lead arrived — facebook, google, organic, referral, walkin, youtube, other.statusstringnew, contacted, followup, converted, or invalid.clinic_namestring | nullThe clinic the lead was captured for.consultation_modestring | nullonline or in_person, if a preference was given.preferred_datedate | nullRequested appointment date, if given.preferred_timestring | nullRequested appointment time, if given.created_atISO 8601When the lead was captured.Example response
{
"success": true,
"message": "Success",
"data": [
{
"id": 4021,
"name": "Anita Sharma",
"phone": "9876543210",
"email": "anita@example.com",
"problem": "Chronic migraine",
"source": "google",
"status": "new",
"clinic_name": "Dr. Deepika's Homeopathy - Sector 62",
"consultation_mode": "in_person",
"preferred_date": "2026-09-20",
"preferred_time": "17:30",
"created_at": "2026-09-14T09:12:03+00:00"
}
],
"meta": { "current_page": 1, "last_page": 3, "per_page": 50, "total": 128 }
}GET /api/v1/integration/patients
Patient records, enriched with billing and visit summary fields useful for outbound automation (payment reminders, recall campaigns).
Query parameters
sinceISO date/datetimeOnly patients created on or after this timestamp.per_pageintegerPage size, 1–100 (default 50).Response fields (per patient)
idintegerPatient ID.namestringPatient's name.phonestringContact phone number.emailstring | nullContact email, if on file.case_numberstringClinic case number.genderstring | nullPatient's gender, if on file.agenumber | nullPatient's age, if on file.citystring | nullPatient's city, if on file.created_atISO 8601When the patient record was created.pending_invoiceobject{ outstanding_amount, invoice_count, oldest_due_date } across every unpaid, non-cancelled invoice.last_consultation_idinteger | nullID of the most recent completed consultation.last_visit_datedate | nullDate of the most recent completed consultation.last_visit_clinicstring | nullClinic where the last visit happened.next_followup_datedate | nullNearest upcoming follow-up date across all consultations, if any.Errors
401Missing API key.No X-Api-Key header or api_key query parameter was sent.401Invalid or revoked API key.The key doesn't match an active key on file.403Not permitted.The key exists but isn't scoped to read this resource (leads or patients).Need a key, or want to connect via Zapier instead?
Generate an API key from Leads → Connect → Integrations, or use the HomeoAxis Zapier integration for a no-code setup.
