Skip to content
Esc
navigateopen⌘Jpreview
Dashboard

Link user accounts together

Link accounts for given primary and recipe user id

POST/appid-{appId}/recipe/accountlinking/user/link
Authorization
api-keyAPI key · headerrequired
The 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
ridstring
cdi-versionstring
X.Y of the X.Y.Z CDI version.
Request body
application/json
primaryUserIdstringrequired
The primary user ID to link with
recipeUserIdstringrequired
The recipe user ID to link
Responses
200Indicates success with the status and accountsAlreadyLinked properties
One of:
object
statusstatusOK
Allowed:OK
accountsAlreadyLinkedboolean
Indicates if accounts were already linked
userauthRecipeUser
Show properties
iduserId
isPrimaryUserboolean
tenantIdstenantId[]
timeJoinedtimeJoined
emailsemail[]
phoneNumbersphoneNumber[]
thirdPartyobject[]
Show properties
Array of object
idthirdPartyId
userIdthirdPartyUserId
loginMethodsobject[]
Show properties
Array of object
tenantIdstenantId[]
recipeUserIduserId
verifiedboolean
timeJoinedtimeJoined
recipeIdrecipeId
Allowed:emailpasswordpasswordlessthirdparty
emailemail
phoneNumberphoneNumber
thirdPartyobject
Show properties
idthirdPartyId
userIdthirdPartyUserId
object
statusstring
Allowed:ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR
primaryUserIdstring
The ID of the primary user that already has this account info
descriptionstring
Error description
object
statusstring
Allowed:RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR
primaryUserIdstring
The ID of the primary user this recipe user is already linked to
userauthRecipeUser
Show properties
iduserId
isPrimaryUserboolean
tenantIdstenantId[]
timeJoinedtimeJoined
emailsemail[]
phoneNumbersphoneNumber[]
thirdPartyobject[]
Show properties
Array of object
idthirdPartyId
userIdthirdPartyUserId
loginMethodsobject[]
Show properties
Array of object
tenantIdstenantId[]
recipeUserIduserId
verifiedboolean
timeJoinedtimeJoined
recipeIdrecipeId
Allowed:emailpasswordpasswordlessthirdparty
emailemail
phoneNumberphoneNumber
thirdPartyobject
Show properties
idthirdPartyId
userIdthirdPartyUserId
descriptionstring
Error description
object
statusstring
Allowed:INPUT_USER_IS_NOT_A_PRIMARY_USER
400error code 400
string
401error code 401
string
402error code 402
string
404error code 404
string
500error code 500
string
Try 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"
}'
Response
{
  "status": "OK",
  "accountsAlreadyLinked": true,
  "user": {
    "id": "fa7a0841-b533-4478-95533-0fde890c3483",
    "isPrimaryUser": true,
    "tenantIds": [
      "customer1"
    ],
    "timeJoined": 1623918032231,
    "emails": [
      "[email protected]"
    ],
    "phoneNumbers": [
      "+14155552671"
    ],
    "thirdParty": [
      {
        "id": "google",
        "userId": 106347997792363870000
      }
    ],
    "loginMethods": [
      {
        "tenantIds": [
          "customer1"
        ],
        "recipeUserId": "fa7a0841-b533-4478-95533-0fde890c3483",
        "verified": true,
        "timeJoined": 1623918032231,
        "recipeId": "emailpassword",
        "email": "[email protected]",
        "phoneNumber": "+14155552671",
        "thirdParty": {
          "id": "google",
          "userId": 106347997792363870000
        }
      }
    ]
  }
}

API reference

API schema and response details