Users

Add or update a user linked account

Changed on

Adds or updates a linked account for a user. This endpoint is not yet available to all users.

post/v1/users/{user_id}/accounts

Request

  • Base URL
    https://api.privy.io
  • URL
    https://api.privy.io/v1/users/{user_id}/accounts
  • Auth
    HTTP basic

Path parameters

user_idstring required

ID of the user.

Headers

privy-app-idstring required

ID of your Privy app.

Request body

OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR

Response

User with updated linked account.

idstring required
created_atnumber required

Unix timestamp of when the user was created in seconds.

has_accepted_termsboolean required

Indicates if the user has accepted the terms of service.

is_guestboolean required

Indicates if the user is a guest account user.

custom_metadataCustomMetadata

Custom metadata associated with the user.

frozen_atinteger nullable

Unix timestamp in seconds of when the user was frozen, or null if not frozen. Not included in every user response.

Example response

{
  "id": "did:privy:cm3np4u9j001rc8b73seqmqqk",
  "created_at": 1731974895,
  "linked_accounts": [
    {
      "address": "tom.bombadill@privy.io",
      "type": "email",
      "first_verified_at": 1674788927,
      "latest_verified_at": 1674788927,
      "verified_at": 1674788927
    },
    {
      "type": "farcaster",
      "fid": 4423,
      "owner_address": "0xE6bFb4137F3A8C069F98cc775f324A84FE45FdFF",
      "username": "payton",
      "display_name": "payton ↑",
      "bio": "engineering at /privy. building pixelpool.xyz, the first Farcaster video client. nyc. 👨‍💻🍎🏳️‍🌈  nf.td/payton",
      "profile_picture": "https://supercast.mypinata.cloud/ipfs/QmNexfCxdnFzWdJqKVgrjd27UGLMexNaw5FXu1XKR3cQF7?filename=IMG_2799.png",
      "profile_picture_url": "https://supercast.mypinata.cloud/ipfs/QmNexfCxdnFzWdJqKVgrjd27UGLMexNaw5FXu1XKR3cQF7?filename=IMG_2799.png",
      "verified_at": 1740678402,
      "first_verified_at": 1740678402,
      "latest_verified_at": 1741194370
    },
    {
      "type": "passkey",
      "credential_id": "Il5vP-3Tm3hNmDVBmDlREgXzIOJnZEaiVnT-XMliXe-BufP9GL1-d3qhozk9IkZwQ_",
      "authenticator_name": "1Password",
      "public_key": "pQECAyYgASFYIKdGwx5XxZ/7CJJzT8d5L6jyLNQdTH7X+rSZdPJ9Ux/QIlggRm4OcJ8F3aB5zYz3T9LxLdDfGpWvYkHgS4A8tPz9CqE=",
      "created_with_browser": "Chrome",
      "created_with_os": "Mac OS",
      "created_with_device": "Macintosh",
      "enrolled_in_mfa": true,
      "verified_at": 1741194420,
      "first_verified_at": 1741194420,
      "latest_verified_at": 1741194420
    }
  ],
  "mfa_methods": [
    {
      "type": "passkey",
      "verified_at": 1741194420
    }
  ],
  "has_accepted_terms": true,
  "is_guest": false
}

Changes

    • warning

      added the new xrpl enum value to the /// response property for the response status

    • info

      added the optional property to the response with the status

    • info

      added the required property /// to the response with the status

    • info

      added the required property /// to the response with the status

    • info

      added the required property /// to the response with the status

    • info

      added the required property /// to the response with the status

    • info

      added the required property /// to the response with the status

    • breaking

      added to the / response property oneOf list for the response status

    • info

      added email discriminator mapping keys to the / response property for the response status