/v1/lead_form_responsesList a Lead's form responses
Returns the forms a Lead submitted, newest first. lead_id is required. The same submissions are summarized in the form_responses array of the Lead itself. Enquiries a staff member recorded by hand are not returned, because they have no form. Lost Leads are included. Carebit Pro is required.
Required API scopes: leads.read
Parameters
lead_id
query · required
string
The Lead whose form submissions should be returned.
limit
query
integer
The maximum number of items to return. Defaults to
25; the maximum is100.starting_after
query
string
Return items after this resource ID. You cannot use this with
cursor.cursor
query
string
The
next_cursorvalue from the previous page. You cannot use this withstarting_after.
Responses
Paginated list of LeadFormResponse objects.
dataarrayrequireditemsobjectanswersarrayrequiredThe questions and answers, in the order the respondent saw them. Layout blocks, hidden fields and the form's bot trap are omitted. A file upload question is omitted too; the uploaded files appear in the Lead's
attachments.itemsobjectOne question and its submitted answer, embedded in a FormResponse.
field_namestring | nullrequiredThe machine name of the question, for example
presenting_problem. Match on this rather than onlabel, which an Organization can reword at any time.field_typestring | nullrequiredThe kind of question asked, for example
text_areaordate_field. Use it to parsevalue.labelstringrequiredThe question as it was shown to the respondent, with HTML sanitized. A question saved with no label returns an empty string.
valuestring | nullrequiredThe submitted answer, always a string. A
date_fieldreturns an ISO 8601 date such as1990-06-15. Aconsent_fieldreturns a UTC ISO 8601 timestamp. Anumber_fieldreturns a decimal such as12.5. Acheckboxreturnstrueorfalse. Adropdownorradioreturns the selected option's value, such asboth_knees, not its display label. Amultiselectreturns null and usesvaluesinstead.valuesarrayrequiredThe selected option values for a
multiselectquestion, such as["both_knees"]. Empty for every other question type. Likevalue, these are option values rather than display labels, because a label is free text the Organization can reword at any time.itemsstring
created_atstring · date-timerequiredAn ISO 8601 timestamp in UTC, with a
Zsuffix. For example,2026-07-01T09:00:00Z.form_namestringrequiredThe name of the form the respondent submitted.
form_typestringrequiredWhether the submission came from an enquiry form or a referral form. This describes the form, not the Lead. A Lead whose
lead_typeisreferralcan still hold aninquiry_formsubmission.Allowed values:
inquiry_form | referral_formidstring · uuidrequiredThe resource's unique identifier, formatted as an RFC 4122 version 4 UUID.
lead_idstring · uuidrequiredThe Lead the submission created or updated.
linksobjectrequiredURLs to related resources.
leadstring · urirequiredThe full URL of a related resource.
selfstring · urirequiredThe full URL of a related resource.
objectanyrequiredDiscriminator value emitted at
object.referral_notesstring | nullrequiredThe referral notes captured with this submission. The Lead's own
referral_notesis taken from its first submission that supplied one, so this can differ.referral_sourcestring | nullrequiredHow this submission reached the Organization. A form submitted on the Organization's website records
website.Allowed values:
consultant | embassy | family_or_friend | gp_practice | hospital | insurance_company | physiotherapist | presentation_talk | previous_patient | private_practice | search_engine | self_referral | social_media | website | other | nullreferred_by_clinician_idstring | null · uuidrequiredThe Clinician who referred this submission, when one was identified.
referred_by_organization_idstring | null · uuidrequiredThe Organization that referred this submission, when one was identified.
submitted_atstring · date-timerequiredAn ISO 8601 timestamp in UTC, with a
Zsuffix. For example,2026-07-01T09:00:00Z.trackingobjectrequiredThe marketing attribution captured with this submission.
ad_idstring | nullrequiredThe
ad_idadvertising identifier.fbclidstring | nullrequiredThe Facebook click identifier.
gad_campaign_idstring | nullrequiredThe Google Ads campaign identifier, from
gad_campaignid.gad_sourcestring | nullrequiredThe Google Ads source.
gbraidstring | nullrequiredThe Google
gbraidclick identifier.gclidstring | nullrequiredThe Google click identifier.
landing_page_originstring | null · urirequiredThe scheme and host of the page the form was submitted from, for example
https://www.example.com. Null when no landing page URL was recorded.utm_campaignstring | nullrequiredThe
utm_campaignparameter.utm_contentstring | nullrequiredThe
utm_contentparameter.utm_mediumstring | nullrequiredThe
utm_mediumparameter.utm_sourcestring | nullrequiredThe
utm_sourceparameter.utm_termstring | nullrequiredThe
utm_termparameter.
updated_atstring · date-timerequiredAn ISO 8601 timestamp in UTC, with a
Zsuffix. For example,2026-07-01T09:00:00Z.
has_morebooleanrequiredWhether another page is available after
next_cursor.next_cursorstring | nullrequiredThe value to pass as
cursorfor the next page. Null on the last page.objectanyrequiredAlways
list.urlstringrequiredThe API path that returned this list.
Example
{
"object": "list",
"data":
"id": "b5f5c363-d0b7-4e92-86ef-1d87afe8e8f8",
"object": "lead_form_response",
"answers":
"field_name": "presenting_problem",
"field_type": "text_area",
"label": "What can we help with?",
"value": "Persistent knee pain",
"values": []
}
],
"created_at": "2026-01-01T09:00:00Z",
"form_name": "New patient inquiry",
"form_type": "inquiry_form",
"lead_id": "00000000-0000-4000-8000-00000000000c",
"links":
"lead": "https://api.carebit.co/v1/leads/00000000-0000-4000-8000-00000000000c",
"self": "https://api.carebit.co/v1/lead_form_responses/b5f5c363-d0b7-4e92-86ef-1d87afe8e8f8"
},
"referral_notes": null,
"referral_source": "consultant",
"referred_by_clinician_id": "b5ac896f-f746-4df1-899a-c12d33b84b2d",
"referred_by_organization_id": "8cda84a9-bf46-4f81-8f3c-66dd352e95db",
"submitted_at": "2026-01-01T09:00:00Z",
"tracking":
"ad_id": null,
"fbclid": null,
"gad_campaign_id": null,
"gad_source": null,
"gbraid": null,
"gclid": null,
"landing_page_origin": null,
"utm_campaign": null,
"utm_content": null,
"utm_medium": null,
"utm_source": null,
"utm_term": null
},
"updated_at": "2026-01-01T09:00:00Z"
}
],
"has_more": false,
"next_cursor": "eyJzdGFydF90aW1lIjoiMjAyNi0wMS0wMVQwOTowMDowMFoifQ",
"url": "/v1/lead_form_responses"
}The lead_id parameter is missing, or a pagination parameter is invalid.
errorobjectrequiredThe structured details that describe why the request failed.
codestringrequiredThe machine-readable error code.
errorsarray | nullAdditional errors from a failed validation.
itemsobjectcodestringThe machine-readable code for this validation error.
messagestringA message that explains this validation error.
paramstring | nullThe name of the parameter that caused this validation error, when known.
messagestringrequiredA message that explains the error and how to resolve it.
paramstring | nullThe name of the parameter that caused the error, when known.
typestringrequiredThe high-level category of the error.
Allowed values:
authentication_error | permission_error | invalid_request_error | rate_limit_error | api_error
Example
{
"error":
"code": "resource_missing",
"errors":
"code": "resource_missing",
"message": "The requested resource was not found.",
"param": "patient_id"
}
],
"message": "The requested resource was not found.",
"param": "patient_id",
"type": "authentication_error"
}
}The access token is missing, invalid, expired, or revoked.
errorobjectrequiredThe structured details that describe why the request failed.
codestringrequiredThe machine-readable error code.
errorsarray | nullAdditional errors from a failed validation.
itemsobjectcodestringThe machine-readable code for this validation error.
messagestringA message that explains this validation error.
paramstring | nullThe name of the parameter that caused this validation error, when known.
messagestringrequiredA message that explains the error and how to resolve it.
paramstring | nullThe name of the parameter that caused the error, when known.
typestringrequiredThe high-level category of the error.
Allowed values:
authentication_error | permission_error | invalid_request_error | rate_limit_error | api_error
Example
{
"error":
"code": "resource_missing",
"errors":
"code": "resource_missing",
"message": "The requested resource was not found.",
"param": "patient_id"
}
],
"message": "The requested resource was not found.",
"param": "patient_id",
"type": "authentication_error"
}
}The access token lacks the required scope, the project is disabled, or the Organization does not have Carebit Pro.
errorobjectrequiredThe structured details that describe why the request failed.
codestringrequiredThe machine-readable error code.
errorsarray | nullAdditional errors from a failed validation.
itemsobjectcodestringThe machine-readable code for this validation error.
messagestringA message that explains this validation error.
paramstring | nullThe name of the parameter that caused this validation error, when known.
messagestringrequiredA message that explains the error and how to resolve it.
paramstring | nullThe name of the parameter that caused the error, when known.
typestringrequiredThe high-level category of the error.
Allowed values:
authentication_error | permission_error | invalid_request_error | rate_limit_error | api_error
Example
{
"error":
"code": "resource_missing",
"errors":
"code": "resource_missing",
"message": "The requested resource was not found.",
"param": "patient_id"
}
],
"message": "The requested resource was not found.",
"param": "patient_id",
"type": "authentication_error"
}
}The Lead does not exist in this Organization.
errorobjectrequiredThe structured details that describe why the request failed.
codestringrequiredThe machine-readable error code.
errorsarray | nullAdditional errors from a failed validation.
itemsobjectcodestringThe machine-readable code for this validation error.
messagestringA message that explains this validation error.
paramstring | nullThe name of the parameter that caused this validation error, when known.
messagestringrequiredA message that explains the error and how to resolve it.
paramstring | nullThe name of the parameter that caused the error, when known.
typestringrequiredThe high-level category of the error.
Allowed values:
authentication_error | permission_error | invalid_request_error | rate_limit_error | api_error
Example
{
"error":
"code": "resource_missing",
"errors":
"code": "resource_missing",
"message": "The requested resource was not found.",
"param": "patient_id"
}
],
"message": "The requested resource was not found.",
"param": "patient_id",
"type": "authentication_error"
}
}Too many requests. Retry after the delay indicated by Retry-After.
errorobjectrequiredThe structured details that describe why the request failed.
codestringrequiredThe machine-readable error code.
errorsarray | nullAdditional errors from a failed validation.
itemsobjectcodestringThe machine-readable code for this validation error.
messagestringA message that explains this validation error.
paramstring | nullThe name of the parameter that caused this validation error, when known.
messagestringrequiredA message that explains the error and how to resolve it.
paramstring | nullThe name of the parameter that caused the error, when known.
typestringrequiredThe high-level category of the error.
Allowed values:
authentication_error | permission_error | invalid_request_error | rate_limit_error | api_error
Example
{
"error":
"code": "resource_missing",
"errors":
"code": "resource_missing",
"message": "The requested resource was not found.",
"param": "patient_id"
}
],
"message": "The requested resource was not found.",
"param": "patient_id",
"type": "authentication_error"
}
}