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:
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.
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
1The type of employee.
employee "employee"
The id of the user who last updated the recipient.
"abc12345"
The data source of the recipient.
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.
The person in charge of the recipient's gifting.