Create recipient
Use this endpoint to add a new Recipient to your Company’s contact list. Once created, the Recipient can be associated with multiple Accounts and referenced by ID across multiple gift sends.
Required fields:
firstName- the Recipient’s first namecountry- ISO 3166-1 alpha-2 country codeaccounts- array of at least one Account ID to associate this Recipient with
Optional fields:
lastName- the Recipient’s last nameemail- the Recipient’s primary email (used as the primary identifier)emailOverride- alternative email for notifications (e.g. personal email whenemailis work email)mobilePhone- mobile phone numberbirthday- ISO 8601 date for birthday-trigger flowsexternalId- your internal ID for this Recipient (HRIS, CRM)type- Recipient type. Currently onlyemployeeis supported.employee- work-related details:workingSince(start date),departmentowner- the person responsible for this Recipient:firstName,lastName,emailrecipientCustomFields- array of custom field objects (fieldName,displayName,fieldValue)
Optional parameters:
companyIdquery parameter - Company ID (when not inferable from the calling key)Request-Sourceheader - source of the request
Behavior Notes:
- Returns
201with the created Recipient on success. - Returns
409if a Recipient with the same identifying data already exists in the Company. - Returns
422for business-rule violations (e.g. invalid Account IDs). - The
source.typeon the response will beapiIntegrationfor recipients created via this endpoint.
Permissions
- Requires:
recipients:create
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_KEYAPI 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"
Query Parameters
Company ID
^[A-Za-z0-9]{8,}$"12345678"
Body
Create recipient request body.
the first name of the recipient
"John"
Country code
^[A-Za-z]+$"US"
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"
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"
}An external id used by the customer to track their recipients
"1234567890"
The person in charge of the recipient's gifting.
{
"firstName": "Jane",
"lastName": "Doe",
"email": "jane.doe@example.com"
}Response
Recipient created successfully
Created 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"
}