Link user accounts together
Link accounts for given primary and recipe user id
POST
/appid-{appId}/recipe/accountlinking/user/linkAuthorization
api-keyAPI key · headerrequiredThe core service API token. If you are using a self-hosted core service and you have not generated a token, you can omit the header.
Header parameters
ridstringcdi-versionstringX.Y of the X.Y.Z CDI version.
Request body
application/jsonprimaryUserIdstringrequiredThe primary user ID to link with
recipeUserIdstringrequiredThe recipe user ID to link
Responses
200Indicates success with the status and accountsAlreadyLinked properties
One of:
object
statusstatusOKAllowed:
OKaccountsAlreadyLinkedbooleanIndicates if accounts were already linked
userauthRecipeUserShow propertiesHide properties
iduserIdisPrimaryUserbooleantenantIdstenantId[]timeJoinedtimeJoinedemailsemail[]phoneNumbersphoneNumber[]thirdPartyobject[]Show propertiesHide properties
Array of
objectidthirdPartyIduserIdthirdPartyUserIdloginMethodsobject[]Show propertiesHide properties
Array of
objecttenantIdstenantId[]recipeUserIduserIdverifiedbooleantimeJoinedtimeJoinedrecipeIdrecipeIdAllowed:
emailpasswordpasswordlessthirdpartyemailemailphoneNumberphoneNumberthirdPartyobjectShow propertiesHide properties
idthirdPartyIduserIdthirdPartyUserIdobject
statusstringAllowed:
ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERRORprimaryUserIdstringThe ID of the primary user that already has this account info
descriptionstringError description
object
statusstringAllowed:
RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERRORprimaryUserIdstringThe ID of the primary user this recipe user is already linked to
userauthRecipeUserShow propertiesHide properties
iduserIdisPrimaryUserbooleantenantIdstenantId[]timeJoinedtimeJoinedemailsemail[]phoneNumbersphoneNumber[]thirdPartyobject[]Show propertiesHide properties
Array of
objectidthirdPartyIduserIdthirdPartyUserIdloginMethodsobject[]Show propertiesHide properties
Array of
objecttenantIdstenantId[]recipeUserIduserIdverifiedbooleantimeJoinedtimeJoinedrecipeIdrecipeIdAllowed:
emailpasswordpasswordlessthirdpartyemailemailphoneNumberphoneNumberthirdPartyobjectShow propertiesHide properties
idthirdPartyIduserIdthirdPartyUserIddescriptionstringError description
object
statusstringAllowed:
INPUT_USER_IS_NOT_A_PRIMARY_USER400error code 400
string401error code 401
string402error code 402
string404error code 404
string500error code 500
stringTry it
Server
Authorization
Parameters
Bodyapplication/json
Request
curl -X POST "/appid-{appId}/recipe/accountlinking/user/link" \
-H "api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"primaryUserId": "fa7a0841-b533-4478-9253-0fde890c576",
"recipeUserId": "fa7a0841-b533-4478-9253-0fde890c576"
}'const response = await fetch("/appid-{appId}/recipe/accountlinking/user/link", {
method: "POST",
headers: {
"api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
"primaryUserId": "fa7a0841-b533-4478-9253-0fde890c576",
"recipeUserId": "fa7a0841-b533-4478-9253-0fde890c576"
})
});import requests
response = requests.post(
"/appid-{appId}/recipe/accountlinking/user/link",
headers={
"api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"primaryUserId": "fa7a0841-b533-4478-9253-0fde890c576",
"recipeUserId": "fa7a0841-b533-4478-9253-0fde890c576"
},
)Response
{
"status": "OK",
"accountsAlreadyLinked": true,
"user": {
"id": "fa7a0841-b533-4478-95533-0fde890c3483",
"isPrimaryUser": true,
"tenantIds": [
"customer1"
],
"timeJoined": 1623918032231,
"emails": [
"johndoe@gmail.com"
],
"phoneNumbers": [
"+14155552671"
],
"thirdParty": [
{
"id": "google",
"userId": 106347997792363870000
}
],
"loginMethods": [
{
"tenantIds": [
"customer1"
],
"recipeUserId": "fa7a0841-b533-4478-95533-0fde890c3483",
"verified": true,
"timeJoined": 1623918032231,
"recipeId": "emailpassword",
"email": "johndoe@gmail.com",
"phoneNumber": "+14155552671",
"thirdParty": {
"id": "google",
"userId": 106347997792363870000
}
}
]
}
}"string""Invalid API key""License Error""Not Found""Internal Error"