User

The user object is based on the portable contacts specification. It is extended with some custom fields. userId is an integer and represents the unique user ID, while id is a legacy uuid and should be ignored in new integrations. The uuid is also a user identifier, which is is globally unique and should therefore be the preferred identifier for a user. The email and phoneNumber fields will always contain the primary used for both if available. The corresponding *Verified fields are the date of the last time those were verified.

When requesting a user that is not connected to the authorized client, only public profile data will be available:

  • id
  • userId
  • uuid
  • status
  • displayName
  • name
  • gender
  • preferredUsername
  • utcOffset
  • published
  • updated
  • lastLoggedIn
  • locale
  • tracking

id

string

Legacy uuid. Don't use. Portable contacts

userId

integer (as string)

Unique user ID. Custom extension.

uuid

string

Unique user UUID. Custom extension. Should be preferred as the user identifier.

name

Name

A JSON string. See the name type for details

displayName

string

Name suitable for displaying to end-users.

published

date-time

The date this user was first added. Can return false if the user account was deleted.

updated

date-time

The most recent date the details of this user were updated

status

User status

email

string

Primary email

emailVerified

string

Date when the email was last verified.

emails

list of Email addresses

All user's registered email addresses.

phoneNumber

string

Primary phone number

phoneNumberVerified

string

Date when the phone number was last verified.

phoneNumbers

list of Phone numbers

All user's registered phone numbers.

verified

string

Date when user last verified data (email, phone number). Returns false if user wasn't verified.

url

string

photo

string

URL to a photo of the user (GIF/JPG/PNG)

preferredUsername

string

gender

string

One of undisclosed, female, male, other, withheld. Default is undisclosed. Portable contacts

birthday

date

Date of birth in YYYY-MM-DD format. Year will be 0000 if not provided. Defaults to 0000-00-00. Portable contacts

locale

string

The user's preferred locale. Locales follow ISO Language and country codes respectively, joined by an underscore.

utcOffset

string

The user's timezone, given as offset from UTC.

lastLoggedIn

datetime

Returns false if the user has not been logged in before.

lastAuthenticated

datetime

The last time the user authenticated with their password. Returns false if the user has not been authenticated before.

imported

datetime

migrated

datetime

addresses

collection of Addresses, as an object with type for property names, and Addresses for values

If user has no addresses returns empty array.

accounts

list of Third-party accounts

Third-party accounts and other client services

merchants

array

List of SPiD merchants the user is connected to

currentLocation

list of Addresses

If user has no current location returns empty array.

tracking

boolean

If true, the user has behavioral tracking enabled (pilot feature, may not remain as-is)

The check mark indicates that the field always contains a valid non-empty value.

Comments/feedback

Do you have questions, or just want to contribute some newly gained insight? Want to share an example? Please leave a comment. SPiD reads and responds to every question. Additionally, your experience can help others using SPiD, and it can help us continuously improve our documentation.