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:
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"
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.
An external id used by the customer to track their recipients
"1234567890"
The person in charge of the recipient's gifting.
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
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.