Documentation Index
Fetch the complete documentation index at: https://docs.morf.health/docs/llms.txt
Use this file to discover all available pages before exploring further.
Events
Triggering Webhook Types
The following event types are associated with the Contact event payload from Spruce.Spruce Contact CreatedSpruce Contact UpdatedSpruce Contact DeletedSpruce Contact Merged
{
"api_url": "https://api.sprucehealth.com/v1/contacts/contact_12345",
"app_url": "https://app.sprucehealth.com/contacts/contact_12345",
"can_delete": null,
"can_edit": null,
"category": "patient",
"company_name": "ACME Healthcare",
"created_at": "2023-11-13T17:42:17Z",
"custom_contact_fields": [
{
"id": "entityCustomField_0E5QDGJC03000",
"name": "Insurance Provider",
"value": "Blue Cross Blue Shield"
}
],
"date_of_birth": "1990-01-15",
"deleted_contact_ids": [
"entity_0E5QDGJC03001"
],
"display_name": "John Doe",
"email_addresses": [
{
"id": "entityContact_26RRC7PQ6JG00",
"label": "primary",
"value": "john.doe@example.com"
}
],
"fax_numbers": [
{
"display_value": "(555) 123-4567",
"id": "entityContact_26RRC7PQ6JG00",
"label": "mobile",
"value": null
}
],
"first_name": "John",
"gender": "male",
"gender_detail": null,
"has_account": null,
"has_pending_invite": null,
"id": "entity_0E5QDGJC03000",
"integration_links": [
{
"contact_id": "entity_0E5QDGJC03000",
"external_id": "ext_12345",
"integration_type": "epic",
"url": "https://hint.com/patient/100031277"
}
],
"internal_member_ids": [],
"last_name": "Doe",
"middle_name": "Smith",
"object": "contact",
"organization_contact_fields": [
{
"id": "managedCustomField_0E5QDGJC03000",
"name": "Patient ID",
"value": "PT12345"
}
],
"phone_numbers": [
{
"display_value": "(555) 123-4567",
"id": "entityContact_26RRC7PQ6JG00",
"label": "mobile",
"value": null
}
],
"pronouns": "he/him",
"tags": [
{
"id": "tag_0E5QDGJC03000",
"value": "high-priority"
}
]
}
{
"api_url": "API URL for this contact.",
"app_url": "App URL for this contact.",
"can_delete": "Whether this contact can be deleted.",
"can_edit": "Whether this contact can be edited.",
"category": "Contact category.",
"company_name": "Company name associated with the contact.",
"created_at": "Timestamp when the contact was created.",
"custom_contact_fields": {
"id": "Unique identifier for the custom field.",
"name": "Name of the custom field.",
"value": "Value of the custom field."
},
"date_of_birth": "Date of birth",
"deleted_contact_ids": "Prior contact IDs merged into this Contact (note: they are deleted post-merge)",
"display_name": "Display name for the contact.",
"email_addresses": {
"id": "Unique identifier for the email address.",
"label": "Label for the email address.",
"value": "Email address value."
},
"fax_numbers": {
"display_value": "Formatted display value for the phone number.",
"id": "Unique identifier for the phone number.",
"label": "Label for the phone number.",
"value": "Phone number value."
},
"first_name": "Given name (first name) of the contact.",
"gender": "Gender of the contact.",
"gender_detail": "Additional gender details.",
"has_account": "Whether the contact has a Spruce account.",
"has_pending_invite": "Whether the contact has a pending invitation to Spruce.",
"id": "Unique identifier for the contact in the Spruce system.",
"integration_links": {
"contact_id": "Contact ID in Spruce.",
"external_id": "External system identifier.",
"integration_type": "Type of integration.",
"url": "URL to the external system."
},
"internal_member_ids": "Internal member IDs associated with this contact.",
"last_name": "Family name (last name) of the contact.",
"middle_name": "Middle name of the contact.",
"object": "Object type identifier.",
"organization_contact_fields": {
"id": "Unique identifier for the organization field.",
"name": "Name of the organization field.",
"value": "Value of the organization field."
},
"phone_numbers": {
"display_value": "Formatted display value for the phone number.",
"id": "Unique identifier for the phone number.",
"label": "Label for the phone number.",
"value": "Phone number value."
},
"pronouns": "Preferred pronouns of the contact.",
"tags": {
"id": "Unique identifier for the tag.",
"value": "Tag value."
}
}
Payload Field Details
Hide fields
Hide fields
ID Unique identifier for the contact in the Spruce system.CEL
id
Example
"entity_0E5QDGJC03000"
API URL for this contact.
CEL
api_url
Example
"https://api.sprucehealth.com/v1/contacts/contact_12345"
App URL for this contact.
CEL
app_url
Example
"https://app.sprucehealth.com/contacts/contact_12345"
Whether this contact can be deleted.
CEL
can_delete
Example
null
Whether this contact can be edited.
CEL
can_edit
Example
null
Contact category.
CEL
category
Example
spruce.v1.ContactCategory.CONTACT_CATEGORY_PATIENT
spruce.v1.ContactCategory.CONTACT_CATEGORY_PROFESSIONAL
spruce.v1.ContactCategory.CONTACT_CATEGORY_CLINIC
PII Company name associated with the contact.CEL
company_name
Example
"ACME Healthcare"
Timestamp when the contact was created.
CEL
created_at
Example
"2023-11-13T17:42:17Z"
Custom contact fields defined by the organization.
CEL
custom_contact_fields
Example
[
{
"id": "entityCustomField_0E5QDGJC03000",
"name": "Insurance Provider",
"value": "Blue Cross Blue Shield"
}
]
ID Mapped array of: Unique identifier for the custom field.CEL
custom_contact_fields.map(x, x.id)
Example
[
"entityCustomField_0E5QDGJC03000"
]
Mapped array of: Name of the custom field.
CEL
custom_contact_fields.map(x, x.name)
Example
[
"Insurance Provider"
]
PII Mapped array of: Value of the custom field.CEL
custom_contact_fields.map(x, x.value)
Example
[
"Blue Cross Blue Shield"
]
HI Date of birthCEL
date_of_birth
Example
"1990-01-15"
PII Display name for the contact.CEL
display_name
Example
"John Doe"
Email addresses associated with the contact.
CEL
email_addresses
Example
[
{
"id": "entityContact_26RRC7PQ6JG00",
"label": "primary",
"value": "john.doe@example.com"
}
]
ID Mapped array of: Unique identifier for the email address.CEL
email_addresses.map(x, x.id)
Example
[
"entityContact_26RRC7PQ6JG00"
]
Mapped array of: Label for the email address.
CEL
email_addresses.map(x, x.label)
Example
[
"primary"
]
PII Mapped array of: Email address value.CEL
email_addresses.map(x, x.value)
Example
[
"john.doe@example.com"
]
PII Family name (last name) of the contact.CEL
last_name
Example
"Doe"
Fax numbers associated with the contact.
CEL
fax_numbers
Example
[
{
"display_value": "(555) 123-4567",
"id": "entityContact_26RRC7PQ6JG00",
"label": "mobile",
"value": null
}
]
ID Mapped array of: Unique identifier for the phone number.CEL
fax_numbers.map(x, x.id)
Example
[
"entityContact_26RRC7PQ6JG00"
]
Mapped array of: Label for the phone number.
CEL
fax_numbers.map(x, x.label)
Example
[
"mobile"
]
Mapped array of: Phone number value.
CEL
fax_numbers.map(x, x.value)
Example
[
null
]
Mapped array of: Formatted display value for the phone number.
CEL
fax_numbers.map(x, x.display_value)
Example
[
"(555) 123-4567"
]
HI Gender of the contact.CEL
gender
Example
"male"
HI Additional gender details.CEL
gender_detail
Example
null
PII Given name (first name) of the contact.CEL
first_name
Example
"John"
Whether the contact has a Spruce account.
CEL
has_account
Example
null
Whether the contact has a pending invitation to Spruce.
CEL
has_pending_invite
Example
null
Links to third-party integrations.
CEL
integration_links
Example
[
{
"contact_id": "entity_0E5QDGJC03000",
"external_id": "ext_12345",
"integration_type": "epic",
"url": "https://hint.com/patient/100031277"
}
]
ID Mapped array of: Contact ID in Spruce.CEL
integration_links.map(x, x.contact_id)
Example
[
"entity_0E5QDGJC03000"
]
ID Mapped array of: External system identifier.CEL
integration_links.map(x, x.external_id)
Example
[
"ext_12345"
]
Mapped array of: Type of integration.
CEL
integration_links.map(x, x.integration_type)
Example
[
"epic"
]
ID PII Mapped array of: URL to the external system.CEL
integration_links.map(x, x.url)
Example
[
"https://hint.com/patient/100031277"
]
ID Internal member IDs associated with this contact.CEL
internal_member_ids
Example
[]
PII Middle name of the contact.CEL
middle_name
Example
"Smith"
Object type identifier.
CEL
object
Example
"contact"
Organization-specific contact fields.
CEL
organization_contact_fields
Example
[
{
"id": "managedCustomField_0E5QDGJC03000",
"name": "Patient ID",
"value": "PT12345"
}
]
ID Mapped array of: Unique identifier for the organization field.CEL
organization_contact_fields.map(x, x.id)
Example
[
"managedCustomField_0E5QDGJC03000"
]
Mapped array of: Name of the organization field.
CEL
organization_contact_fields.map(x, x.name)
Example
[
"Patient ID"
]
ID Mapped array of: Value of the organization field.CEL
organization_contact_fields.map(x, x.value)
Example
[
"PT12345"
]
Phone numbers associated with the contact.
CEL
phone_numbers
Example
[
{
"display_value": "(555) 123-4567",
"id": "entityContact_26RRC7PQ6JG00",
"label": "mobile",
"value": null
}
]
ID Mapped array of: Unique identifier for the phone number.CEL
phone_numbers.map(x, x.id)
Example
[
"entityContact_26RRC7PQ6JG00"
]
Mapped array of: Label for the phone number.
CEL
phone_numbers.map(x, x.label)
Example
[
"mobile"
]
Mapped array of: Phone number value.
CEL
phone_numbers.map(x, x.value)
Example
[
null
]
Mapped array of: Formatted display value for the phone number.
CEL
phone_numbers.map(x, x.display_value)
Example
[
"(555) 123-4567"
]
PII Preferred pronouns of the contact.CEL
pronouns
Example
"he/him"
Tags associated with the contact.
CEL
tags
Example
[
{
"id": "tag_0E5QDGJC03000",
"value": "high-priority"
}
]
ID Mapped array of: Unique identifier for the tag.CEL
tags.map(x, x.id)
Example
[
"tag_0E5QDGJC03000"
]
Mapped array of: Tag value.
CEL
tags.map(x, x.value)
Example
[
"high-priority"
]
PII Prior contact IDs merged into this Contact (note: they are deleted post-merge)CEL
deleted_contact_ids
Example
[
"entity_0E5QDGJC03001"
]
