Update recipient
Use this endpoint to update the details of a specific Recipient, including their contact information, employee details, and custom fields.
Required fields:
recipientId- the Recipient identifier, passed as a path parameter
Optional fields: (in request body - all updatable)
firstName,lastName- namesemail,emailOverride- email and notification overridemobilePhone- phonecountry- ISO 3166-1 alpha-2 country codebirthday- ISO 8601 dateaccounts- array of Account IDs (replaces existing list)type- Recipient typeemployee-workingSince,departmentrecipientCustomFields- array of custom field objects
Optional parameters
companyIdquery parameter - Company ID (when not inferable from the calling key)Request-Sourceheader - source of the request
Behavior Notes:
- Returns the full updated Recipient on success.
- Returns
404if the Recipient doesn’t exist or isn’t accessible. - Returns
422for business-rule violations (e.g. invalid Account IDs). - The
accountsfield is a replace, not merge - supplying it overwrites the existing list. To add or remove Accounts, fetch the current list first and submit the modified array.
Permissions
- Requires:
recipients:update
Authorizations
Company Level Authentication
Company level authentication provides access to all resources under your company, including accounts, campaigns, gifts, and recipients.
Getting Your API Key
- Create an API Key: Use the
POST /v2/authentication/apiKeysendpoint to generate a new API key - Set Expiration: Choose from 30, 60, 90, or 180 days (default: 90 days)
- Optional mTLS: Enable mutual TLS for enhanced security
- Name Your Key: Provide a descriptive name for easy identification
Using Your API Key
Include your API key in the X-Api-Key header for every request:
X-Api-Key: YOUR_24_CHARACTER_API_KEY
API Key Management
- Maximum Keys: Up to 3 active API keys per company
- Rotation: Delete old keys before creating new ones when at the limit
- Security: Keys are hashed and cannot be retrieved after creation
Enhanced Security (mTLS)
For production environments, enable mutual TLS authentication:
- Set
enforceMtls: truewhen creating the API key - Contact support to obtain your client certificates
- Use the mTLS endpoint:
https://mtls-api.snappy.com/public-api
Headers
Source of the request
api_native, api_zapier, api_salesforce, api_ftp, api_make "api_native"
Path Parameters
The id of the recipient
^[A-Za-z0-9]+$"xyz12345"
Query Parameters
Company ID
^[A-Za-z0-9]{8,}$"12345678"
Body
Update recipient request body.
Date Format: YYYY-MM-DD.
"2022-12-06T00:00:00.000Z"
the first name of the recipient
"John"
the last name of the recipient
"Doe"
the email of the recipient, should be a valid email
"john.doe@example.com"
The sendingEmail of the recipient in the db, used to override the existing email.
"john.doe.override@example.com"
Mobile phone number
^$|^[0-9 \-+().]{3,7}[0-9 \-+().]{3,7}[0-9]{3,7}$"+1234567890"
Country code
^[A-Za-z]+$"US"
The custom fields of the recipient.
The type of employee.
employee "employee"
The employee info object.
{
"workingSince": "2022-01-15T00:00:00.000Z",
"department": "Engineering"
}
Response
Ok
Updated recipient.
The id of the recipient.
"xyz12345"
Date Format: YYYY-MM-DDThh:mm:ss.sZ.
"2022-12-06T09:50:38.536Z"
Date Format: YYYY-MM-DDThh:mm:ss.sZ.
"2022-12-06T09:50:38.536Z"
the first name of the recipient
"John"
Country code
^[A-Za-z]+$"US"
The accounts ids that the recipient is associated with
1["a12bcd34", "a56bcd78"]
The type of employee.
employee "employee"
The id of the user who last updated the recipient.
"abc12345"
The data source of the recipient.
{ "type": "apiIntegration" }
Date Format: YYYY-MM-DD.
"2022-12-06T00:00:00.000Z"
the last name of the recipient
"Doe"
the email of the recipient, should be a valid email
"john.doe@example.com"
The sendingEmail of the recipient in the db, used to override the existing email.
"john.doe.override@example.com"
Mobile phone number
^$|^[0-9 \-+().]{3,7}[0-9 \-+().]{3,7}[0-9]{3,7}$"+1234567890"
An external id used by the customer to track their recipients
"1234567890"
The custom fields of the recipient.
The employee info object.
{
"workingSince": "2022-01-15T00:00:00.000Z",
"department": "Engineering"
}
The person in charge of the recipient's gifting.
{
"firstName": "Jane",
"lastName": "Doe",
"email": "jane.doe@example.com"
}