Skip to main content

Send an intake packet to a patient

Goal​

Send a full Packet of intake forms to a Patient by SMS or email, so it's completed before their visit.

What 'sending' actually is in this API

There is no dedicated "send packet" endpoint. Sending is done by creating a Message that references the Packet, POST /v2/messages with a packet field and message_type: "packet_response_request". The Message is the resource your integration creates; Zentake delivers it and tracks status.

Prerequisites​

  • A Zentake API key pair (X-API-KEY / X-API-SECRET), see Authentication.
  • A Packet already built in the Zentake dashboard. Packets are authored in the dashboard and exposed read-only via the API. You can't create one through this API, only look up an existing one's id.

Steps​

1. Find or create the Patient​

Search for an existing Patient first:

curl --request GET \
--url 'https://api.app.zentake.com/v2/patients?search=jane%20doe' \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <your_api_key>' \
--header 'X-API-SECRET: <your_api_secret>'

If none matches, create one:

curl --request POST \
--url https://api.app.zentake.com/v2/patients \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <your_api_key>' \
--header 'X-API-SECRET: <your_api_secret>' \
--data '{
"first_name": "Jane",
"last_name": "Doe",
"email": "jane.doe@example.com",
"phone_number": "+15555550123"
}'

Keep the id from the response. You'll need it as patient below.

Contains PHI

Patient records hold personally identifiable and health-related information. Treat the request and response bodies above as PHI.

2. Look up the Packet you want to send​

Packets are read-only via the API, so list them to find the right id:

curl --request GET \
--url https://api.app.zentake.com/v2/packets \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <your_api_key>' \
--header 'X-API-SECRET: <your_api_secret>'

Or fetch one directly if you already know its id: Get packet by id.

3. Create the Message​

curl --request POST \
--url https://api.app.zentake.com/v2/messages \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <your_api_key>' \
--header 'X-API-SECRET: <your_api_secret>' \
--data '{
"patient": "<patient_id>",
"packet": "<packet_id>",
"message_type": "packet_response_request",
"preferred_delivery_method": "email",
"target_email": "jane.doe@example.com"
}'
  • Exactly one of form, packet, or document must be set on a Message, here it's packet.
  • target_email / target_phone override the Patient's stored contact info if you need to send somewhere else for this one message.
  • To send later instead of immediately, add "scheduled_at": "2025-05-10T15:00:00Z", see Create a new message.

What success looks like​

  • 201 Created with a Message object whose id, status, and message_code are populated.
  • The Patient receives an SMS or email with a link to open the Packet.
  • Once they open it, a Packet Response is created and the Message's packet_response field (fetch the Message again to see it) points at it.

Next​