Data Model Overview

This page describes the payloads returned or accepted by IDP endpoints.

Client request models

Create user request (POST /idp/array/users)

Field
Type
Required
Notes

firstName

string

yes

User first name

lastName

string

yes

User last name

dob

string

yes

Format: YYYY-MM-DD

emailAddress

string

yes

User email

address

object

yes

street, city, state, zip

phoneNumber

string

no

Digits only

ssn

string

no

Last 4 or full 9 digits

version

integer

no

Controls entitlement mapping during user creation. If omitted, migration version 0 is used. Use 1 to enroll with IDD standalone feature set

Update user request (PATCH /idp/array/users/me and support patch)

Field
Type
Required
Notes

emailAddress

string

no

User email

phoneNumber

string

no

Digits only

ssn

string

no (client), yes (support schema)

Last 4 or full 9 digits

dob

string

no

Format: YYYY-MM-DD

address

object

no

street, city, state, zip

Migration request (POST /idp/array/users/me/migration)

Field
Type
Required
Notes

version

integer

yes

Controls entitlement mapping during user creation. If omitted, migration version 0 is used. Use 1 to enroll with IDD standalone feature set

Bulk alert read/unread request (PUT/DELETE /idp/array/users/me/alerts/read)

Field
Type
Required
Notes

alertIds

array of strings

no

Omit body or send {} to target all alerts

Support enroll request (POST /idp/support/users/{user_id}/enroll)

Field
Type
Required
Notes

srts

array of strings

no

Subscription receipt tokens

Client response models

Create user response

Field
Type
Notes

userToken

string

Token for downstream Array webview/tokenized workflows

expirationDate

integer

Unix timestamp (seconds) for client-side token expiration handling

User profile status (GET /idp/array/users/me)

Key fields:

  • arrayUserId

  • authenticated

  • twoFactorEnabled

  • authAttempts

  • remainingAuthAttempts

  • lastAuthAttempt

  • completeness booleans such as firstNameConfigured, lastNameConfigured, dobConfigured, addressConfigured, emailConfigured, phoneNumberConfigured, ssnConfigured

Generate token response (POST /idp/array/users/me/token)

Field
Type
Notes

userToken

string

Refreshed token

expirationDate

integer

Unix timestamp (seconds) for client-side token expiration handling

Dashboard response (GET /idp/array/users/me/dashboard)

Top-level fields:

  • userAlerts

  • creditScoreHistory

  • dataRemovalProgress

  • monitorsOverview

  • neighborhoodWatchStatus

  • financialAccountsStatus

Each top-level field is returned as a result wrapper (Ok or Err).

Alerts response (GET /idp/array/users/me/alerts)

userAlerts array item fields include:

  • alertId

  • class

  • createDate

  • updatedDate

Alert details response (GET /idp/array/users/me/alerts/{bureau}/{alert_id}/details)

Contains full alert detail for one event. Shape varies by bureau/source (idp, exp, tui, efx).

Monitor overview response (GET /idp/array/users/me/monitors/overview)

Field
Type
Notes

countsByCategory

object

Category -> count

monitoredCount

integer

Categories currently monitored

availableCount

integer

Categories available to user

availableInHigherPlans

integer

Categories gated by higher plan

availableCategoriesInHigherPlans

array of strings

Names of higher-plan categories

Credit scores response (GET /idp/array/users/me/credit-scores)

creditScoreHistory array item fields:

  • score

  • productCode

  • scoreDate

Financial accounts status response (GET /idp/array/users/me/financial-accounts/status)

Field
Type

hasAccounts

boolean

institutionCount

integer

accountCount

integer

anyNeedsRenewal

boolean

needsRenewalCount

integer

Scans response (GET /idp/array/users/me/scans)

Array item fields include:

  • id

  • customerId

  • enrollmentId

  • brokerCount

  • brokerIds

  • realtime

  • scanType

  • status

  • createdAt

  • modifiedAt

  • startedAt

  • stoppedAt

Scans progress response (GET /idp/array/users/me/scans/progress)

Top-level fields:

  • totals

  • perScan

Progress item fields:

  • scanId

  • totalRecords

  • notInitiated

  • submitted

  • confirmed

  • verified

  • percentCompleted

Neighborhood Watch status/monitors responses

  • Status endpoint returns whether user has configured Neighborhood Watch monitors.

  • Monitors endpoint returns the detailed configured watch entries.

Mock status response (GET /idp/array/users/me/mock)

Field
Type

mockAlertsEnabled

boolean

mockScansEnabled

boolean

Support response model

Support user details response (GET /idp/support/users/{user_id})

Top-level fields:

  • array_user_details

  • enrollments

  • user_status_response

Important nested values include user IDs, authentication counters, enrollment codes, enrollment active flags, and status history.

Error models

Client error families

Client endpoints return a bad-request wrapper that can include one of:

  • InputValidationFailure (includes invalid_fields)

  • UserAlreadyExists

  • UserNotFound

  • TwoFactorAuthRequired

  • EntitlementsRequired

Some flows may also return lock-related errors such as:

  • AttemptsTooEarly (with retry_after)

  • MaximumAttemptsReached (with max_allowed)

Support and webhook errors

Support/webhook errors use a generic error object:

  • error (string)

Last updated