This method updates/creates a user and an account and returns the user object representing that newly created user/account.
You can provide vanity referral codes and sharelinks in a user upsert. New sharelinks and referral codes will be set as primary for the upserted user. If a referral code is passed without an associated sharelink for that program, then one will be generated and vice versa for sharelinks. For more information, visit Assign Vanity Share Links or Referral Codes.
Because this call creates a user, it requires either a write token or an API key.
Path Parameters
accountId
string required
accountId
string requiredThe account to upsert.
userId
string required
userId
string requiredThe user to upsert.
tenant_alias
string required
tenant_alias
string requiredTenant being referenced. E.g., "aboih12h16t"
or "Barb Dwyer"
Query Parameters
fields
string
fields
stringThe fields to be included in the response. Cannot coexist with extraFields. E.g., "firstName,lastName,dateBlocked".
Defaults to null.
extraFields
string
extraFields
stringSpecifies additional fields to include in the response, beyond the default fields. To include only default fields, use the fields
parameter instead. This option cannot be used together with fields
, e.g., "firstName, lastName, dateBlocked"
. Defaults to null.
Body Parameters
id
string required
id
string requiredThe unique identifier provided for this user. Use the user's email as their Id.
accountId
string required
accountId
string requiredThe unique identifier of the account. Value must match id
. Use the user's email as their account Id.
firstName
string
firstName
stringThe user's first name.
lastName
string
lastName
stringThe user's last name.
email
string
email
stringThe email address provided for the user. Advocate uses this to notify someone when they have a successful referral.
referable
boolean
referable
booleanFlag used by Advocate to determine whether a user is able to be referred.
referralCodes
object
referralCodes
objectThe primary custom referral codes for different programs.
View child attributes
programId
string
programId
stringThe Id of the program.
code
string
code
stringThe referral code used for sharing by this user.
locale
string
locale
stringThe user's locale, used for Internationalization. The locale must be of the format language_COUNTRY
where the language code must be lowercase and the country code must be uppercase. The separator must be an underscore.
countryCode
string
countryCode
stringThe user's ISO 3166-1 Alpha-2 country code. For example, "CA" for Canada and "ES" for Spain.
referredByCodes
array of strings
referredByCodes
array of stringsAn array of referral codes used to refer this account.
cookies
string
cookies
stringThe Base64URL encoded attribution cookie values. When decoded, the schema will resemble the following:
{"app.referralsaasquatch.com": {"tenantAlias_CODE": {"codes": {"program1": "CODE1"},"codesExp": {"CODE1": 1234567}}}}
segments
array of strings
segments
array of stringsA list of operations for adding and removing a user from segments.
Details about the supported operators and operations for adding and removing users from a segment can be found in our User Segmentation.
shareLinks
object
shareLinks
objectThe primary custom shareLinks for different programs. If a given program does not have a referral code, one will be generated.
View child attributes
programId
string
programId
stringThe Id of the program.
sharelink
string
sharelink
stringThe custom link used for sharing by this user.
customFields
object
customFields
objectAn object containing the custom fields for this user.
Learn more about the available custom field functionality in our Custom Fields article.
Responses
Refer to this guide for Error Responses.
Example request
curl 'https://app.referralsaasquatch.com/api/v1/{tenant_alias}/open/account/{accountId}/user/{userId}?fields=&extraFields=' \
-X PUT \
-u :API_KEY \
-H 'Content-Type: application/json' \
-d '{
"id": "[email protected]",
"accountId": "[email protected]",
"firstName": "Joe",
"lastName": "Testerson",
"email": "[email protected]",
"referable": true,
"referralCodes": {
"12345": "JOETESTERSON",
"22345": "JOE123"
},
"locale": "en_US",
"countryCode": "US",
"dateUsTaxFormSubmitted": 1619647338270,
"referredByCodes": [
"JONDOE1234",
"JOHNDOE"
],
"cookies": "eyJhcHAucmVmZXJyYWxzYWFzcXVhdGNoLmNvbSI6eyJ0ZW5hbnRBbGlhc19DT0RFIjp7ImNvZGVzIjp7InByb2dyYW0xIjoiQ09ERTEifSwiY29kZXNFeHAiOnsiQ09ERTEiOjEyMzQ1Njd9fX19",
"segments": [
"segment1",
"segment2"
],
"shareLinks": {
"12345": "http://example.com/free"
},
"customFields": {
"lastPurchaseDate": 1512152525513,
"plan": "Pro+",
"phone": 19055551234
}
}'
Example response
{
"id": "5d266be33d08baefc3d29c608d8ce6327874a12ab5b345d54fa1ae1822ddfdbd",
"accountId": "5d266be33d08baefc3d29c608d8ce6327874a12ab5b345d54fa1ae1822ddfdbd",
"firstName": "Joe",
"lastName": "Testerson",
"referralCodes": {
"33255": "JOETESTERSON",
"34681": "JOE123"
},
"imageUrl": "",
"email": "[email protected]",
"cookieId": null,
"locale": "en_US",
"countryCode": "US",
"referable": true,
"firstSeenIP": null,
"lastSeenIP": null,
"dateCreated": 1749503206814,
"programShareLinks": {
"33255": {
"cleanShareLink": "https://ssqt.co/mzEwu2Z",
"UNKNOWN": {
"DIRECT": "https://ssqt.co/mvEwu2Z"
},
"EMAIL": {
"DIRECT": "https://ssqt.co/mPEwu2Z"
},
"MOBILE": {
"DIRECT": "https://ssqt.co/meEwu2Z"
}
}
},
"customFields": {
"lastPurchaseDate": 1512152525513,
"phone": 19055551234,
"plan": "Pro+"
},
"segments": [
"segment1",
"segment2"
],
"referredByCodes": [
"JONDOE1234",
"JOHNDOE"
]
}