Lyrebird Health is introducing an Open API, allowing electronic medical records (EMRs) to integrate with Lyrebird’s AI scribe, pull and push information to and from Lyrebird and improve the clinician’s experience while using the software.
Today we would like to introduce the Partner API allowing any EMR to push upcoming appointments into Lyrebird, and write consultation notes back to their EMR using a webhook.
The integration makes it easy to push upcoming appointments into Lyrebird, and write your notes back to the EMR.
Setup / Testing Instructions
Partner API can be setup by first configuring it in API Settings:
1. Go to User Settings:
2. Go to API page:
3. Click ‘Set Up’ next to 'Partner API':
4. Fill out the information, including the integration name, that will be shown on the save to EMR button as seen in step 7.
If you want lyrebird to write consultation notes back to your EMR, make sure to add your webhook url in the endpoint url field. Lyrebird writes back with the API key as basic auth, for example:
curl -X POST "https://api.partner.com/v1/notes" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <YOUR_LYREBIRD_PARTNER_API_KEY>" \
-d '{
"content": "Patient presented with...",
"patient_id": "pat_12345",
"practitioner_id": "prac_67890",
"appointment_id": "appt_abcde",
"timestamp": "2025-11-19T01:55:00.000Z",
"user_id": "user_uuid_from_lyrebird"
}'
5. Once you click “Generate API Key”, Lyrebird will display the API key, which can be used when programmatically accessing Lyrebird Health. Make sure to save it, since it will only be showed once:
6. Lyrebird Partner API will show as configured:
7. Now, you can request the following API routes programmatically:
curl -X GET "https://app.lyrebirdhealth.com/partnerapi/v1/practitioners" \
-H "Authorization: Bearer YOUR_API_KEY_HERE" \
-H "Content-Type: application/json"
{
"success": true,
"practitioners": [
{
"id": "uuid",
"email": "string",
"firstName": "string",
"lastName": "string",
"role": "string|null",
"admin": boolean,
"fieldOfPractice": "string|null",
"phoneNumber": "string|null"
}
],
"summary": {
"total": number,
"organisationId": "string"
}
}
curl -X POST "https://app.lyrebirdhealth.com/partnerapi/v1/appointments" \
-H "Authorization: Bearer YOUR_API_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"userId": "uuid-of-practitioner",
"appointments": [
{
"appointmentId": "ext-appt-123",
"patientId": "ext-patient-456",
"practitionerId": "ext-prac-789",
"appointmentDateTime": "2025-11-06T14:30:00Z",
"patientName": "John Doe",
"patientGender": "MALE",
"patientPhone": "+61412345678",
"metadata": {
"appointmentType": "consultation",
"notes": "Follow-up visit"
}
}
]
}'
{
"success": true,
"message": "Successfully created N appointment(s)",
"results": [
{
"appointmentId": "string",
"patientName": "string",
"appointmentDateTime": "string",
"success": true
}
],
"summary": {
"total": number,
"successful": number,
"failed": number
}
}
8. After you’ve pushed upcoming appointments into Lyrebird, the following will show in ‘Upcoming patients’:
