npm.io
8.3.3 • Published 6d ago

@raytio/types

Licence
MIT
Version
8.3.3
Deps
0
Size
193 kB
Vulns
0
Weekly
0

@raytio/types

This module contains typescript definitions for Raytio data structures, such as Schema and ProfileObject.

Usage

Install the package:

npm i -D @raytio/types

Import definitions:

import type { Schema } from "@raytio/types";

Hovering over the type in VSCode will display documentation and available properties.

Versioning

This package does not strictly follow semver, since every change to the type definitions is a breaking change.

Documentation

Table of contents

Enumerations

Type Aliases

Type Aliases

AA

Ƭ AA: Object

Type declaration
Name Type Description
a_id AId -
aa_help? string markdown or string help information including [phoneNumber || email]
aa_introduction? string If a user signs up while completing this form, this message will be sent in the sign up email.
active? boolean -
auth_list_enabled? boolean if true, only specific email addresses can submit the form
callback_uri? string[] -
client_challenge_type? "turnstile" | null Bot protection challenge type. If set, users must complete a challenge before accessing the wizard.
customer_id CId -
description? string -
end_date? Date -
key? string -
logout_uri? string[] -
merchant_id? MId the id of the associated merchant (replaces service_provider_n_id)
metadata? unknown -
name string -
org_id? OId the id of the associated organization
picture? Urn Deprecated see !2101
picture_url? string Easy to use AA logo url for pasting into emails
ruleset? unknown configuration for the submission rules
scopes? string[] -
secret? unknown -
service_provider_n_id? NId Deprecated use merchant_id instead
start_date? Date Currently Unused Attributes
tags? AATag[] -
theme? { colors?: Colors ; font?: CustomFonts } -
theme.colors? Colors -
theme.font? CustomFonts -

AAObject

Ƭ AAObject: CommonFields<AOId> & { aa_id: AId ; aai_id: IId ; labels: string[] ; properties: Json }


AATag

Ƭ AATag: "type:client_only" | "type:share_with_new_user" | "Merchant"


AINId

Ƭ AINId: StringWithIdentity<"AINId">

A aain_id is the ID of an Instance Node


AINKId

Ƭ AINKId: StringWithIdentity<"AINKId">

A aaink_id is the ID of an Instance Node Key


AId

Ƭ AId: StringWithIdentity<"AId">

An a_id is the ID of an AA


AOId

Ƭ AOId: StringWithIdentity<"AOId">

An ao_id is the ID of an AAObject


AuthzObjectType

Ƭ AuthzObjectType: "dsm_node" | "dsm_access_application" | "dsm_access_application_instance" | "dsm_link" | "dsm_public_profile" | "far_customer" | "group"


AuthzRelation

Ƭ AuthzRelation: "viewer" | "editor" | "admin" | "owner" | "member"

Relation types used by the new authz tuple system


AuthzSubjectType

Ƭ AuthzSubjectType: "user" | "group"


BId

Ƭ BId: StringWithIdentity<"BId">

A b_id is the ID of a badge definition


CId

Ƭ CId: StringWithIdentity<"CId">

A c_id is the ID of a Customer, (will eventually replace org_id)


Colors

Ƭ Colors: Object

Type declaration
Name Type Description
altColoursBgLight string -
altColoursBgMedium string -
blank string -
climaterolText string -
climaterolUi string -
elevatedSurface string -
errorRed string -
feelingHugged string -
fillNeutral string -
loadingYellow string -
poolblueText string -
poolblueUi string -
raytioOrangeHover string -
raytioOrangeShade string
raytioOrangeText string -
raytioOrangeUi string -
sariShade string -
silverShell string -
sirPinklyText string -
sirPinklyUi string -
successGreen string -
textFull string -
textLight string -
textMedium string -
violaPerpetuoText string -
violaPerpetuoUi string -

CommonFields

Ƭ CommonFields<IdType, Metadata>: Object

Every object in the new database has these fields. In the interest of type-safety, the id should be one of the well-known IDs that extend StringWithIdentity (e.g. NId or AId). If the ID is irrelevant, then use CommonFields<never> rather than CommonFields<string>. This will deliberately prevent you from utilising the id field until you define a special type for that ID.

This is especially important with the new API where it is much easier to mix up the different types of IDs.

Type parameters
Name Type
IdType extends StringWithIdentity<string>
Metadata unknown
Type declaration
Name Type Description
active boolean -
end_date string ISO Date
id IdType -
metadata Metadata | undefined -
resource_group? string -
resource_name? string -
resource_url? string -
row_version? number -
start_date string ISO Date
tenant_id? string -

CommonSchemaAttributes

Ƭ CommonSchemaAttributes: Object

not exported. Attributes that are identical in both client schema & server schema

Type declaration
Name Type Description
description string -
description_decorator? "md" Deprecated Markdown is now rendered by default for all descriptions. This property is no longer needed.
display? { compact_table?: boolean ; expand?: { fields: string[] ; label: string }[] ; filters?: { name: string ; operation: "and" | "or" ; tokens: { operator: string ; propertyKey: string ; value: string }[] }[] ; head_main?: { fields: string[] ; format?: string } ; head_sub?: { fields: string[] ; format?: string } ; kanban?: KanbanBoard | KanbanBoard[] ; tabular?: { fields: string[] } ; views?: { columnPrefs?: { id: string ; visible: boolean }[] ; contentDensity?: "comfortable" | "compact" ; filter?: { operation: "and" | "or" ; tokens: { operator: string ; propertyKey: string ; value: string }[] } ; name: string ; pageSize?: number ; sorting?: { isDescending: boolean ; sortingColumn: string } | null ; stickyColumns?: { first: number ; last: number } ; stripedRows?: boolean ; wrapLines?: boolean }[] } -
display.compact_table? boolean determines if profile pages should display using compacted 'MiniPO' view or deafult view
display.expand? { fields: string[] ; label: string }[] list of fields that should not be shown by default, unless you expand a collpase section which has a name from the label property. Array because there could be multiple expand groups
display.filters? { name: string ; operation: "and" | "or" ; tokens: { operator: string ; propertyKey: string ; value: string }[] }[] Pre-defined filter presets provided by the schema author. These appear as "Default filters" in the admin table UI and cannot be deleted by users (unlike user-saved filters). Each token's propertyKey must match a key in properties. Valid operators: =, !=, :, !:, >, <, >=, <=
display.head_main? { fields: string[] ; format?: string } list of fields to be considered the header/name of the PO fields joined with a space unless format format string is supplied
display.head_main.fields string[] -
display.head_main.format? string -
display.head_sub? { fields: string[] ; format?: string } list of fields to be considered the subheader of the PO fields joined with a space unless format format string is supplied
display.head_sub.fields string[] -
display.head_sub.format? string -
display.kanban? KanbanBoard | KanbanBoard[] Kanban board configuration for the admin dashboard. Either a single board (legacy form) or an array of named boards. See packages/client/docs/layout-hierarchy-guide.md § Kanban Board Layout.
display.tabular? { fields: string[] } By default, the admin dashboard shows columns for all fields in listed in head_main. In rare cases you can use this property to specify a different set of fields to show to admins by default.
display.tabular.fields string[] -
display.views? { columnPrefs?: { id: string ; visible: boolean }[] ; contentDensity?: "comfortable" | "compact" ; filter?: { operation: "and" | "or" ; tokens: { operator: string ; propertyKey: string ; value: string }[] } ; name: string ; pageSize?: number ; sorting?: { isDescending: boolean ; sortingColumn: string } | null ; stickyColumns?: { first: number ; last: number } ; stripedRows?: boolean ; wrapLines?: boolean }[] Pre-defined view presets provided by the schema author. A view bundles filter, sorting, column visibility/order, and display settings (page size, density, etc.) into a named configuration. These appear as "Default views" in the admin table UI and cannot be deleted by users (unlike user-saved views). Every field except name is optional. When applied, fields the view does not specify leave the user's current preference untouched. This lets a schema author define partial views (e.g. just sorting + columns).
i18n? { [locale: string]: { [fieldNameOrGroupName: string]: ServerSchemaField & { title_plural?: string }; $loading_create_sub_obj: { title: string } ; $loading_delete_pending_ver: { title: string } ; $loading_extract: { title: string } ; $loading_link_to_person: { title: string } ; $loading_long_verification_message: { description?: string ; title?: string } ; $loading_pending_ver_resubmit: { title: string } ; $loading_permission: { title: string } ; $loading_save: { title: string } ; $loading_update: { title: string } ; $loading_upload: { title: string } ; $loading_verify: { title: string } ; $schema: { description?: string ; title: string ; title_plural?: string } }; } -
onboard_properties? { [namespace: string]: { [version: string]: { [endpoint: string]: Record<string, unknown>[] | undefined; } | undefined; } | object | string[] | string | undefined; actions?: { [key: string]: any; create_access_application_link?: { properties: Record<string, unknown> ; store_as?: string }[] ; create_organization?: { properties: Json ; store_as?: string }[] } ; db?: { [version: string]: { [endpoint: string]: Record<string, unknown>[] | undefined; } | undefined; v1?: { [endpoint: string]: Record<string, unknown>[] | undefined; dsm_access_applications?: Omit<AA, "org_id" | "a_id"> & { links?: { description: string ; wizardConfig: Omit<WizardConfig, "a_id"> }[] ; org_id?: string }[] ; dsm_node_relationships?: { from: string ; properties?: Record<string, unknown> ; to: string ; type: string }[] ; dsm_nodes?: { labels?: string[] ; properties: Record<string, unknown> ; schema_name?: SchemaName }[] ; xrm_merchants?: Record<string, unknown>[] } ; v2?: { [endpoint: string]: Record<string, unknown>[] | undefined; } } ; execution_order?: string[] ; return_to?: string } only the schema used for the onboarding wizard have this property
onboard_properties.actions? { [key: string]: any; create_access_application_link?: { properties: Record<string, unknown> ; store_as?: string }[] ; create_organization?: { properties: Json ; store_as?: string }[] } High-level actions for complex workflows. create_organization: Single object for creating one organization create_access_application_link: Array for creating multiple links
onboard_properties.actions.create_access_application_link? { properties: Record<string, unknown> ; store_as?: string }[] Creates access application links (can be multiple)
onboard_properties.actions.create_organization? { properties: Json ; store_as?: string }[] Creates a single organization. Use this instead of legacy 'organizations' array.
onboard_properties.db? { [version: string]: { [endpoint: string]: Record<string, unknown>[] | undefined; } | undefined; v1?: { [endpoint: string]: Record<string, unknown>[] | undefined; dsm_access_applications?: Omit<AA, "org_id" | "a_id"> & { links?: { description: string ; wizardConfig: Omit<WizardConfig, "a_id"> }[] ; org_id?: string }[] ; dsm_node_relationships?: { from: string ; properties?: Record<string, unknown> ; to: string ; type: string }[] ; dsm_nodes?: { labels?: string[] ; properties: Record<string, unknown> ; schema_name?: SchemaName }[] ; xrm_merchants?: Record<string, unknown>[] } ; v2?: { [endpoint: string]: Record<string, unknown>[] | undefined; } } Generic API endpoints organized by namespace and version. Structure: {namespace}.{version}.{endpoint_name}POST /{namespace}/{version}/{endpoint_name} Examples: - db.v1.xrm_merchantsPOST /db/v1/xrm_merchants - db.v2.somethingPOST /db/v2/something - persist.v2.endpointPOST /persist/v2/endpoint Any namespace can be used. The db namespace is shown below as the primary example.
onboard_properties.db.v1? { [endpoint: string]: Record<string, unknown>[] | undefined; dsm_access_applications?: Omit<AA, "org_id" | "a_id"> & { links?: { description: string ; wizardConfig: Omit<WizardConfig, "a_id"> }[] ; org_id?: string }[] ; dsm_node_relationships?: { from: string ; properties?: Record<string, unknown> ; to: string ; type: string }[] ; dsm_nodes?: { labels?: string[] ; properties: Record<string, unknown> ; schema_name?: SchemaName }[] ; xrm_merchants?: Record<string, unknown>[] } -
onboard_properties.db.v1.dsm_access_applications? Omit<AA, "org_id" | "a_id"> & { links?: { description: string ; wizardConfig: Omit<WizardConfig, "a_id"> }[] ; org_id?: string }[] Access Applications - POST /db/v1/dsm_access_applications
onboard_properties.db.v1.dsm_node_relationships? { from: string ; properties?: Record<string, unknown> ; to: string ; type: string }[] Relationships - POST /db/v1/dsm_node_relationships
onboard_properties.db.v1.dsm_nodes? { labels?: string[] ; properties: Record<string, unknown> ; schema_name?: SchemaName }[] Profile objects - POST /db/v1/dsm_nodes
onboard_properties.db.v1.xrm_merchants? Record<string, unknown>[] Merchants - POST /db/v1/xrm_merchants
onboard_properties.db.v2? { [endpoint: string]: Record<string, unknown>[] | undefined; } -
onboard_properties.execution_order? string[] Execution order for entity creation. If not specified, uses default order. Examples: ["actions.create_organization", "db.v1.xrm_merchants", "db.v1.dsm_nodes"]
onboard_properties.return_to? string The relative path in the client to redirect to once finished. May include variables
relationships? { anyOf?: SchemaName[] ; direction: "from" ; multiple?: boolean ; oneOf?: (SchemaName | "instance")[] ; properties?: { [fieldName: string]: SchemaField; } ; relationship_name: string ; required?: string[] ; required_relationship?: boolean ; type: string }[] -
schema_country_codes? string[] Array of 2-character country codes that this schema is available for
schema_group? string | string[] the group that a schema belongs to, such as "passports". This is useful for forms that accept different types of similar documents. Can be a single group (string) or multiple groups (string[]) to allow a schema to appear in multiple lists.
schema_type? SchemaType -
search_terms? string[] Additional search terms to help users find schemas (e.g., ["license", "passport", "drivers license"])
suggest_post_create? SchemaName if specified, suggests this onboarding scenario after creating a PO of this schema type
tags? SchemaTag[] -
title string these fields will always exist on schema
title_plural? string plural version of the title

ConditionalTags

Ƭ ConditionalTags: Object

Schema-level conditional tags, evaluated at runtime based on form values

Type declaration
Name Type
if { [fieldName: string]: (string | number | boolean)[]; }
tags string[]

ConditionallyRequired

Ƭ ConditionallyRequired: Object

should be renamed since this applies to ConditionallyVerifiable

Type declaration
Name Type
field string
if { [fieldName: string]: (string | number | boolean)[]; }

ContactPoint

Ƭ ContactPoint: CommonFields<PCId> & { contact_point_purpose: string ; contact_point_type: string ; e164: string | null ; e164_suffix: string | null ; e164_type: string | null ; email_address: string ; email_address_preferred_format: string ; party_id: PRid ; url: string | null ; url_type: string | null ; uuid: string | undefined }

A Contact Point for an Organization


ContentUrl

Ƭ ContentUrl: `url:${string}`


CustomFonts

Ƭ CustomFonts: Object

Type declaration
Name Type
body? string
header? string

Customer

Ƭ Customer: CommonFields<CId> & { customer_code: string ; owner_email: string ; party_description: OId ; party_id: PRid ; permission_type: PermissionType | null ; prm_parties?: Party ; user_email: string ; user_id: UId | null }

An organization/customer, directly returned by the API


CustomerSite

Ƭ CustomerSite: CommonFields<never> & { customer_site_code: string ; customer_site_status_code: string ; org_id: OId ; party_site_id: string }


CustomerSiteUse

Ƭ CustomerSiteUse: CommonFields<never> & { customer_site_id: string ; customer_site_use_name: string ; customer_site_use_purpose_code: string ; freight_term_code: string | null ; org_id: OId ; payment_term_id: string ; price_list_version_id: string | null }


CustomerUser

Ƭ CustomerUser: CommonFields<CId> & { customer_code: string ; group_name: string | null ; owner_email: string ; owner_id: UId ; party_description: OId ; party_id: PRid ; party_name: string ; permission_type: PermissionType | null ; user_email: string | null ; user_id: UId | null }

Organization Customer / User, Returned directly by the API


DataTypes

Ƭ DataTypes: "string" | "number" | "boolean" | "object" | "integer" | "array" | "null"


Encrypted

Ƭ Encrypted<_Data>: Object

Type parameters
Name Type
_Data string
Type declaration
Name Type
encrypted_data { algorithm: AesKeyAlgorithm ; data: string ; iv: string }
encrypted_data.algorithm AesKeyAlgorithm
encrypted_data.data string
encrypted_data.iv string
encrypted_key { encrypted_key: string }
encrypted_key.encrypted_key string

FndI18nEntry

Ƭ FndI18nEntry: CommonFields<never> & { category: string ; i18n_key: string ; translations: { [locale: string]: { description?: string ; title: string ; title_plural?: string }; } }

An i18n entry from the fnd_i18n_entries API endpoint


GId

Ƭ GId: StringWithIdentity<"GId">

A g_id is the ID of a group


GPMId

Ƭ GPMId: StringWithIdentity<"GPMId">

A gpm_id is the ID of a Verification Type


GroupName

Ƭ GroupName: StringWithIdentity<"GroupName">

a GroupName is the unique name of a group, often used instead of GId


IId

Ƭ IId: StringWithIdentity<"IId">

An i_id is the ID of an Instance


Instance

Ƭ Instance: InstanceWithoutData & { keys: { [nId2: NId2]: { [fieldName: string]: { data: string }; }; } ; profile_objects: ProfileObject[] ; relationships: Relationship[] }

The API used to store data in this format, but it no longer does :( so @raytio/core reconstructs this object.


InstanceNode

Ƭ InstanceNode: CommonFields<AINId> & { aa_id: AId ; field_list: string[] ; n_id: NId }


InstanceNodeKey

Ƭ InstanceNodeKey: CommonFields<AINKId> & { aa_id: AId ; aai_id: IId ; aain_id: AINId ; field_name: string ; key_data: string }


InstanceWithoutData

Ƭ InstanceWithoutData: CommonFields<IId, { message?: string }> & { aa_id: AId ; aack_id: KId ; confirmation_code: string ; data_provider_email: string ; device_id?: unknown ; instance_version?: unknown ; merchant_id: MId ; platform_footer_html?: unknown ; previous_state?: SubmissionStatus ; reference: string ; related_offers?: unknown ; related_service_types?: unknown ; score?: unknown ; source_ip?: unknown ; state: SubmissionStatus ; sub_merchant_hash: string ; thread: string }


KId

Ƭ KId: StringWithIdentity<"KId">

A k_id (also called a aack_id or a publicKeyId) is the ID of an AA's public key


KanbanBoard

Ƭ KanbanBoard: Object

Configuration for a single named kanban board.

Type declaration
Name Type Description
card_fields? string[] Additional fields displayed on each card.
column_field? string Field that determines which column a card belongs to.
column_field_sort? "ascending" | "descending" Default ordering of the columns themselves, by their distinct column_field values.
kanban_name? string Human-readable board name shown in the board selector; should be unique within the schema.
title_field? string Field displayed as the card title.
y_field? string Name of a numeric record field used to order cards vertically within a column. Optional. See packages/client/docs/layout-hierarchy-guide.md § Kanban Board Layout.

LId

Ƭ LId: StringWithIdentity<"LId">

An l_id is the ID of any data stored in the KV-Store


LOCId

Ƭ LOCId: StringWithIdentity<"LOCId">

A loc_id is the ID of a location


Ƭ Link: Object

Link used for an Access Application, including all additional information

Type declaration
Name Type
a_id AId
code LId
details? AA
id NId
isDefault? boolean
name string
subtitle string
url string

Location

Ƭ Location: CommonFields<LOCId> & { address_line_1: string | null ; address_line_2: string | null ; address_line_3: string | null ; address_line_4: string | null ; administrative_area_level_1: string | null ; administrative_area_level_2: string | null ; administrative_area_level_3: string | null ; city: string | null ; country: string | null ; geolocation: string | null ; geolocation_outline: string | null ; locality: string | null ; location_description: string | null ; location_name: string ; postal_code: string ; postal_code_suffix: string | null ; premise: string | null ; region: string | null ; route: string | null ; street_number: string | null ; subpremise: string | null }

An Organization Location


Lookup

Ƭ Lookup: Object

Type declaration
Name Type Description
children? Lookup[] -
description? string -
display_order? number Sort order within a lookup set. NULL = unordered.
image_src? string Icon source in format icon:{AntDesignIconName} (e.g., icon:CameraOutlined)
key string | number -
label? string | number Used in Antd Cascader
lookup_group? string Group heading for dropdown lists (e.g., "APAC", "EMEA"). NULL = ungrouped. Translated client-side via the lookup_group entries in fnd_i18n_entries (see LookupGroupLabel).
parent_lookup_code? string Parent lookup code for dependent cascader lookups (e.g., "VEHICLE_MAKE").
parent_lookup_value_code? string Parent lookup value code linking this value to a specific parent (e.g., "TOYOTA").
requires_2FA? boolean used in AkahuDynamicSection only
value string | number -

MId

Ƭ MId: StringWithIdentity<"MId">

A m_id is the ID of a Merchant


Merchant

Ƭ Merchant: CommonFields<MId> & { merchant_approval_status_code: MerchantApprovalStatusCode | null ; merchant_class_code: MerchantClassCode | null ; merchant_common_name: string | null ; merchant_common_name_i18n: Json | null ; merchant_description: string | null ; merchant_description_i18n: Json | null ; merchant_image_url_logo: string | null ; merchant_image_url_thumbnail: string | null ; merchant_name: string | null ; merchant_name_i18n: Json | null ; merchant_status_code: MerchantStatusCode | null ; merchant_type_code: MerchantTypeCode | null ; party_id: PRid }


MerchantApprovalStatusCode

Ƭ MerchantApprovalStatusCode: "PENDING" | "APPROVED"


MerchantClassCode

Ƭ MerchantClassCode: "CLASS_1" | "CLASS_2"


MerchantStatusCode

Ƭ MerchantStatusCode: "ACTIVE" | "INACTIVE"


MerchantTypeCode

Ƭ MerchantTypeCode: "TYPE_1" | "TYPE_2"


NId

Ƭ NId: StringWithIdentity<"NId">

An n_id is the ID of a ProfileObject


NId2

Ƭ NId2: StringWithIdentity<"NId2">

This ID duplicates the NId and should only be used in exceptional circumstances


OId

Ƭ OId: StringWithIdentity<"OId">

An o_id is the ID of an Organization

NOTE: Will be deprecated soon. Use CId instead.


Organization

Ƭ Organization: Object

An organization. NOTE: this is different to how the schema defines an Organization. The schema is wrong (see #468)

Type declaration
Name Type
address? unknown
contact_point? Pick<ContactPoint, "email_address" | "id">
customerUsers CustomerUser[]
id CId
name string
orgId OId

PCId

Ƭ PCId: StringWithIdentity<"PCId">

A pc_id is the ID of a Party Contact Point


PId

Ƭ PId: StringWithIdentity<"PId">

A p_id is the ID of a Relationship


PKId

Ƭ PKId: StringWithIdentity<"PKId">

A pk_id is the ID of an AA's private key


PLId

Ƭ PLId: StringWithIdentity<"PLId">

A pl_id is the ID of a PriceList


PLLId

Ƭ PLLId: StringWithIdentity<"PLLId">

A pll_id is the ID of a PriceListLine/Plan


PMId

Ƭ PMId: StringWithIdentity<"PMId">

A pm_id is the ID of a PaymentMethod


PRCId

Ƭ PRCId: StringWithIdentity<"PRCId">

A prc_id is the ID of a Price


PRid

Ƭ PRid: StringWithIdentity<"PRid">

A pr_id is the ID of a Party


PTId

Ƭ PTId: StringWithIdentity<"PTId">

A pt_id is the ID of a PaymentProcessor


Party

Ƭ Party: CommonFields<PRid, PartyMetadata> & { far_customers: CommonFields<CId> & { customer_approval_status_code: string ; customer_class_code: string ; customer_status_code: string ; customer_type_code: string ; far_customers_customer_approval_status_lookup: Lookup ; far_customers_customer_class_lookup: Lookup ; far_customers_customer_status_lookup: Lookup ; far_customers_customer_type_lookup: Lookup ; far_customers_freight_terms_lookup: Lookup ; freight_term_code: string ; price_list_version_id: string | null }[] ; party_description: OId ; party_image_url_logo: string | null ; party_name: string ; party_type: string }


PartyMetadata

Ƭ PartyMetadata: Object

An Organizations credentials

Type declaration
Name Type
centrix_credentials unknown
gandalf unknown
stripe { customer: unknown }
stripe.customer unknown

PartySite

Ƭ PartySite: CommonFields<never> & { location_id: number ; party_id: PRid ; party_site_description: string | null ; party_site_name: string ; party_use_primary: string ; party_uses: string[] }

An Organization Site


PaymentMethod

Ƭ PaymentMethod: CommonFields<PMId> & { address_line1_check?: string | null ; address_postal_code_check?: string | null ; card_expiry_month: number ; card_expiry_year: number ; card_fingerprint?: string | null ; card_funding_method: string ; card_last_4_digits: string ; customer_id: CId ; cvc_check?: string | null ; payer_payment_method_type: string ; payment_method_available_networks: string[] | string ; payment_method_country_code: string | null ; payment_method_preferred_network?: string | null ; payment_method_scheme: string ; payment_processor_id: string ; payment_processor_payment_method_id: string ; primary_payment_method: boolean ; three_d_secure_usage?: string | null }


PaymentProcessor

Ƭ PaymentProcessor: CommonFields<PTId> & { party_id: PRid ; payment_processor_name: string ; payment_processor_system: string }


Permission

Ƭ Permission: Object

Type declaration
Name Type
group_name "ALL" | "Public" | `sharing|${UId}|${UId}` | GId
group_permission_type "VIEWS" | "EDITS" | null
id NId
is_owner boolean
labels string[]
n_id NId
permission_id PId
properties { permissions: string ; provider_name: string }
properties.permissions string
properties.provider_name string
user_permission_type string | null

PermissionType

Ƭ PermissionType: "ADMINS" | "VIEWS" | "EDITS" | "OWNS"


PriceList

Ƭ PriceList: Object

Type declaration
Name Type
id PLId
pcm_price_list_versions? [{ id: string ; pcm_price_list_lines: PriceListLine[] ; price_list_version_name: string }]
price_list_currency string
price_list_description? string
price_list_description_i18n? string
price_list_name string
price_list_name_i18n? string
price_list_type string

PriceListLine

Ƭ PriceListLine: Object

Type declaration
Name Type
id PLLId
pcm_prices { amount: number ; billing_recurrence: string ; gpm_items: { id: string ; item_description: string ; item_description_i18n: string | null ; item_key: string ; item_name: string ; item_name_i18n: string | null ; primary_uom: string } ; id: PRCId ; price_currency: string ; recurring_billing_interval: string | null ; recurring_billing_interval_count: number ; recurring_billing_scheme: string ; recurring_billing_usage_type: string }
pcm_prices.amount number
pcm_prices.billing_recurrence string
pcm_prices.gpm_items { id: string ; item_description: string ; item_description_i18n: string | null ; item_key: string ; item_name: string ; item_name_i18n: string | null ; primary_uom: string }
pcm_prices.gpm_items.id string
pcm_prices.gpm_items.item_description string
pcm_prices.gpm_items.item_description_i18n string | null
pcm_prices.gpm_items.item_key string
pcm_prices.gpm_items.item_name string
pcm_prices.gpm_items.item_name_i18n string | null
pcm_prices.gpm_items.primary_uom string
pcm_prices.id PRCId
pcm_prices.price_currency string
pcm_prices.recurring_billing_interval string | null
pcm_prices.recurring_billing_interval_count number
pcm_prices.recurring_billing_scheme string
pcm_prices.recurring_billing_usage_type string

ProfileObject

Ƭ ProfileObject<Properties>: Partial<CommonFields<NId2>> & { labels: string[] ; n_id: NId ; properties: Properties }

You can supply an option type argument if you know exactly what the properties will be

Type parameters
Name Type
Properties Json

RealVer

Ƭ RealVer: Object

This is what @raytio/core exposes, which is more useable than Verification

Type declaration
Name Type Description
belongsToNId? NId nId of the PO that the verification belongs to. Could be undefined
expired Date | false If the verification has expired, it's the date that it expired on. Otherwise it's false
fieldName string -
metadata? VerificationPayload<false>["metadata"] arbitary metadata returned by the verifier
nID NId nId of the verification
provider VerificationProvider -
signature string -
value unknown -
verified boolean whether the fieldName/value pair is verified, as confirmed by the API. This should be the single source of truth.
xId string this will be a unique id to group verifications from the same PO. Doesn't work yet

Relationship

Ƭ Relationship: Object

Type declaration
Name Type
active? boolean
end Urn
end_date? string
p_id PId
properties? { [fieldName: string]: unknown; name?: string ; p_id: PId }
properties.name? string
properties.p_id PId
start Urn
start_date? string
type string

SId

Ƭ SId: StringWithIdentity<"SId">

A s_id is the ID of a Subscription


SLId

Ƭ SLId: StringWithIdentity<"SLId">

A sl_id is the ID of a SubscriptionLine


Schema

Ƭ Schema: CommonFields<never> & CommonSchemaAttributes & { clientLocale?: string ; conditionalTags?: ConditionalTags[] ; database?: { method?: "POST" | "PATCH" | "DELETE" ; path?: string ; primary_key: string ; query_parameters?: string ; return_to?: SchemaName ; select?: string ; table?: string } ; groupNames?: Record<string, string> ; group_title?: string ; groups?: { order?: string[] } ; isProfileSchema?: boolean ; isSpSchema?: boolean ; merchant_id?: MId ; name: SchemaName ; properties: { [fieldName: string]: SchemaField; } ; required?: (string | ConditionallyRequired)[] ; timing?: Record<"extract" | "live_person" | "verify_pending_delay", number> ; type?: DataTypes ; verified_fields?: (string | ConditionallyRequired)[] ; version: string ; wasExpandedByClient?: boolean }

Raytio's variant of JSON Schema, as used by the client. It is a modified version of what the API returns.


SchemaField

Ƭ SchemaField: Object

Type declaration
Name Type Description
$id? string Deprecated don't use, it's inconsistent
$ref? SchemaName If this field refers to a sub-object
add_row_btn_label? string if this field is a table input, this determines the text to show on the "Add Row" btn
allOf? [{ $ref: string }, ServerSchemaField] -
content? string only checkbox uses this prop
contentEncoding? "base64" -
contentMediaType? string -
content_source? string determines where an image is sourced from
default? unknown the default value
default_signature_name? string used on fields that are a signature file picker, see !849 also used to determine if the MediaPicker should be shown inline
description? string -
description_decorator? "md" Deprecated Markdown is now rendered by default for all descriptions. This property is no longer needed.
encrypt? boolean whether the field should be encrypted
encrypt_require? boolean if true, the user must have encryption enabled to save this data, see #1324
enum? (string | number | boolean)[] -
examples? unknown[] -
foreign_key_of? SchemaName if this field is a foreign key, i.e. it is a primary key of a different schema, then that other's schema name should be listed here. e.g. json { "name": "ss_AA", "properties": { "org_id": { "foreign_key_of": "ss_Org" } } }
format? "date" | "date-time" | "uri" -
hash_inputs? string the input string for a platform_unique_id
image_silhouette? string If this schema requires a photo of a document, you can specify a URL to a silhouette image which will be overlaid on top of the camera. For best results, the image should have a transparent background + minimal white foreground
items? { properties: { [subFieldName: string]: SchemaField; } ; type: DataTypes } items is used for nested arrays, (while properties is used for nested objects)
items.properties { [subFieldName: string]: SchemaField; } -
items.type DataTypes -
lookup? string URL to a JSON file in the Lookup format
lookupTransform? string | { key?: string ; path: string ; value?: string } Transforms the lookup response into the expected { key, value }[] format. Use when the API returns data in a different structure. Simple format (extract array from path, use values as both key and value): json "lookupTransform": "[0].scopes" Object format (specify key/value mapping): json "lookupTransform": { "path": "[0].items", "key": "id", "value": "name" }
maxLength? number for string inputs, the maximum character length. Also used to determine textarea rendering (maxLength > 30 renders a textarea)
maximum? number for number inputs, the maximum allowed value
minLength? number for string inputs, the minimum character length. Not currently used anywhere in the client
minimum? number for number inputs, the minimum allowed value
override? { permissions: { default: string } } -
override.permissions { default: string } -
override.permissions.default string ideally this could be typed as keyof typeof GROUPS but the schemas aren't consistent and we have to assume it could be invalid.
pattern? string -
patternMessage? string if a pattern is specified, this is the error message
priority? number -
properties? { [subFieldName: string]: SchemaField; } properties is used for nested objects, (while items is used for nested arrays)
readOnly? boolean readOnly means the Wizard won't show this field
step? number for number inputs, the step size used in the input or slider
table_empty_message? string if this field is a table input, this determines the text to show if the table is empty
tags? SchemaFieldTag[] -
title? string -
title_plural? string -
type? DataTypes -

SchemaFieldTag

Ƭ SchemaFieldTag: "password" | `group:${string}` | `upload-group:${string}` | "display:stars" | "display:no_autofill" | "display:currency" | `display${string}` | "display:checkbox" | "display:radio" | "display:cascade" | "display:survey" | "display:quoting" | "display:customModal" | "display:mask" | `display('${string}', '${string}')` | "display:terms_conditions" | `display${string}` | "display:markdown" | "display:content-block" | "display:info" | "display:warning" | "display:error" | "date_component:day" | "date_component:month" | "date_component:year" | "action:allow_copy" | "action:allow_unreplace" | "action:allow_password_compromise_check" | "action:client_upload" | "action:hash" | "action:require_webauthn" | "action:generate_pepper:" | `action${number}` | `action${string}` | "verify:show_if_pending" | "special:hide_select_behind_button" | "type:capture_geolocation" | "type:extract_required"


SchemaName

Ƭ SchemaName: StringWithIdentity<"SchemaName">

A SchemaName is the ID of a Schema


SchemaTag

Ƭ SchemaTag: "action:experimental_pass_object_store_id" | "action:verify" | `action${string}:${string}` | `action${string}` | "default_camera:rear" | "default_camera:front" | `oauth2_component${string}` | `oauth2_component${string}` | `time:${string}:${number}` | `link_to:${string}:${string}` | "display:default_view:edit" | "support_challenge" | "type:merchant" | "type:service_offer" | "type:marketplace" | "type:client_only" | "type:globally_unique_field" | "type:application_object"


SchemaType

Ƭ SchemaType: "ss" | "ps" | "us" | "ms"

Type Classification of a Schema returned by API


ServerSchemaField

Ƭ ServerSchemaField: Omit<SchemaField, "$prop">

the only difference between the client & server's definition is that the client adds $prop


SubmissionStatus

Ƭ SubmissionStatus: "Submitted" | "Processing" | "Rejected" | "Expired" | "Completed" | "DataChanged" | "Received" | "Pending" | "Accepted"


Subscription

Ƭ Subscription: CommonFields<SId> & { billing_cycle_day_of_month: number | null ; billing_cycle_day_of_week: number | null ; billing_cycle_hour: number | null ; billing_cycle_minute: number | null ; billing_cycle_month: number | null ; billing_cycle_second: number | null ; cancellation_effective_date: string | null ; cancellation_final_invoice_action: string ; cancellation_request_date: string | null ; cancellation_request_reason: string | null ; current_billing_period_end: string | null ; current_billing_period_start: string ; subscribed_to_customer_id: string ; subscribed_to_customer_site_id: string | null ; subscribed_to_party_contact_point_id: string ; subscription_name: string ; subscription_name_i18n: string | null ; subscription_timezone_offset_minutes: number | null }


SubscriptionLine

Ƭ SubscriptionLine: CommonFields<SLId> & { billing_subscription_id: SId ; metadata: string | null ; price_id: PRCId ; subscribed_qty: number }


TId

Ƭ TId: StringWithIdentity<"TId">

A t_id is the ID of a transaction


TNTId

Ƭ TNTId: StringWithIdentity<"TNTId">

A tnt_id is the ID of a Tenant


Tenant

Ƭ Tenant: CommonFields<TNTId> & { tenant_description: string | null ; tenant_domain_prefix: string | null ; tenant_name: string }


UId

Ƭ UId: StringWithIdentity<"UId">

A u_id is the ID of a user


Urn

Ƭ Urn: `urn${UId}` | `urn${NId}` | `urn${IId}` | `urn${LId}` | `urn${SchemaName}` | `urn${NId}`

e.g. "urn..."


UrnNodeType

Ƭ UrnNodeType: "user" | "profile_object" | "instance" | "schema" | "temp_object" | "document"


Validation

Ƭ Validation: Object

validation data returned by preVerify (part of the extract&map API)

Type declaration
Name Type
breakdown { [category: string]: { code?: number ; passed: boolean ; reason?: string ; severity?: "low" | "medium" | "high" }; }
score number
warning? string[]

Verification

Ƭ Verification<WithValue>: ProfileObject<{ field: string ; n_id: NId ; valid_until?: string ; verifications: [{ data: VerificationPayload<WithValue> ; hashing_algorithm?: "SHA512" ; key_id?: string ; key_urn?: string ; signature: string ; signing_algorithm?: "RSASSA_PSS_SHA_512" }] }>

Different APIs inconsistently include the value prop. If you know it exists, use Verification<true>, otherwise just Verification. Verifications from the DataContext don't have the value.

Type parameters
Name Type
WithValue extends boolean = false

VerificationPayload

Ƭ VerificationPayload<WithValue>: { field: string ; hashed_source_n_id?: NId ; metadata?: { [otherAttributes: string]: unknown; pending_details?: { pending_time: "short" | "long" ; pending_type: "time" | "user" } ; safeHarbourScore?: SafeHarbourCode ; status?: "pending" | "approved" ; validation?: { id: string ; url: string } } ; passed: boolean ; request_div: string ; schema?: SchemaName ; source: string ; source_hashed_n_id?: NId ; source_n_id?: NId ; type?: null ; v_id: string ; verification_date: string ; verification_type_id: GPMId ; verifier_div: string ; verifier_id?: MId ; verifier_service_id?: MId ; verifier_source_id?: MId } & WithValue extends true ? { value: string | number } : {}

Type parameters
Name Type
WithValue extends boolean

VerificationProvider

Ƭ VerificationProvider: Object

These IDs point to merchants (formerly service provider profile objects)

Type declaration
Name Type Description
dataSourceNId? MId -
date? Date the date which the verification was verified on, or last re-verified on
serviceProviderNId? MId -
verificationTypeId? GPMId -
verifierNId? MId -

VerificationType

Ƭ VerificationType: CommonFields<GPMId> & { asset: boolean | null ; inventory_organization_number: number | null ; item_description: string ; item_description_i18n: Json | null ; item_dimension_height: number | null ; item_dimension_length: number | null ; item_dimension_uom: string | null ; item_dimension_width: number | null ; item_key: string ; item_key_01: string | null ; item_key_02: string | null ; item_key_03: string | null ; item_mass: number | null ; item_mass_uom: string | null ; item_name: string ; item_name_i18n: Json | null ; item_number: number ; item_type: string | null ; item_volume: number | null ; item_volume_uom: string | null ; org_number: number ; primary_uom: string ; purchased: boolean | null ; returnable: boolean | null ; secondary_uom: string | null ; shipped: boolean | null ; source_organization_number: number | null ; source_type: string | null ; stocked: boolean | null ; transacted: boolean | null }


WId

Ƭ WId: StringWithIdentity<"WId">

A wi_id is the ID of a Webhook


WSId

Ƭ WSId: StringWithIdentity<"WSId">

A ws_id is the ID of a transition


Webhook

Ƭ Webhook: CommonFields<WId> & { aa_id: AId ; date_created?: string ; date_updated?: string ; metadata: unknown ; provider_signature_check_enabled: boolean ; provider_signature_credentials: unknown ; provider_subscription_credentials: unknown ; provider_webhook_id: string ; provider_webhook_subscription_id: string | null ; status: WebhookStatus ; subscribe_log?: { date: string ; response_payload: Json ; response_status_code: number }[] | null ; webhook_action: { webhook_action_type: string }[] | null ; webhook_field_mapping_schema: { [key: string]: string; } | null ; webhook_filter_schema: { field_name: string ; field_value: string ; operator: string } | null ; webhook_filter_source: string | null ; webhook_processing_rules: unknown ; wi_id?: WId }


WebhookStatus

Ƭ WebhookStatus: "PENDING" | "SUBSCRIBED" | "UNSUBSCRIBED" | "UNSUBSCRIBE_FAILED" | "ERROR" | "ARCHIVED"


WizardConfig

Ƭ WizardConfig: Object

when a form link is generated, this is what gets saved on the API. Each value can be overridden in the query parameters. If specified in the query parameters, it needs to be base64 and/or url encoded.

Type declaration
Name Type Description
a_id AId -
display_sharing_preview? boolean If this value is true, the form will display some data sharing information before the form (WizardPreview)
emails? string[] if specified, the email addresses that a submission should be sent to
expiry_date? number number of days in the future
pages WizardPage[] -
quick_onboard? boolean whether the passwordless-signup process should be used if the user visits this form, and they are not logged in. If false, the standard sign-up process will be used
quick_onboard_require_consent? boolean If true, users must explicitly accept privacy terms during quick onboard. If false, the form auto-submits without user intervention. Default ts true
reference? string -
relationships? { from: string ; properties?: Record<string, any> ; to: string ; type: string }[] a list of relationships that should be created after the wizard completes (see #987)
return_to? string the callback url to redirect to once complete. Must be in the AA's list of authorized callback urls
review_text? string the text on the WizardReview page
sharing_data_message? string the loading message to show next to the spinner after the review screen
signature_schema? SchemaName if specified, a Wizard will be shown on the review page with this schema
skip_share? boolean Deprecated added in !244 but never used
submit_text? string the submit button label
terms_schema? SchemaName if specified, a Wizard will be shown on the review page with this schema
update_reference? boolean whether the user can change the reference, if there is one in the QP
webauthn_type? ("usb" | "nfc" | "ble" | "internal")[] if specified, the user must validate their WebAuthN credential before they can submit the form

WizardPage

Ƭ WizardPage: Object

configuration data for a single wizard page (WizardConfig)

Type declaration
Name Type Description
allow_upload? boolean do not allow uploading in ImageDynamicSection if this is explictly false
branching_rule_name? string If specified, this is is a "Conditional Wizard Page", which is only shown if the rule passed. This field contains the ID (not name) of the rule.
create_new_text? string custom text to display on the Create New button
description? string the fallback description, if there isn't one for the specific situation
description_create? string -
description_select? string -
description_update? string -
display_field_description? boolean whether the field descriptions should be shown
display_field_title? boolean whether the field titles should be shown
display_mode? "light" | "dark" | "default" can you force the colour theme to change for just one page (#1066, #1074). At the moment this on pages that use WebcamImageCapture
display_schema_description? boolean whether the schema description should be shown
extract_threshold? number for ImageDynamicSection, the minimum score to be treated as a pass
extract_threshold_fail_action? "capture" | "capture_review" | "recapture_or_next_step" | "review" | "next_step" for ImageDynamicSection, the action to take if pre-verify fails
extract_threshold_null_action? WizardPage["extract_threshold_fail_action"] for ImageDynamicSection, the action to take if the API returns no validation: {} object
extract_threshold_pass_action? "review" | "next_step" for ImageDynamicSection, the action to take if pre-verify passes
field_list? string[] if supplied, only the fields that are listed should be shared (#520, #1024)
filter "oneOf" | "anyOf" -
is_terminal? boolean If true, user cannot proceed past this page (error/blocking behavior) If false, user can continue to next page (informational) Default ts false
merchant_link? boolean see #463
multiple? boolean if true mulitple POs can be shared
name? string | symbol if undefined, the schema title will be used
optional? boolean if true this page can be skipped. The PageResult wil be undefined
optional_fields? string[] a list of fields that should not be required, even if the schema says they're required
page_content? string Content to display on message pages. Supports markdown if page_content_decorator is "md"
page_content_decorator? "md" Set to "md" to render page_content as markdown
page_type? "form" | "message" Page type: 'form' for data collection, 'message' for info/error display Default ts "form"
profile? boolean Deprecated - AO/PO classification is now done per-object using schema tags (type:application_object) instead of page-level profile property
reverify_header? string custom text & header that's displayed on reverfication modal for expired PO
reverify_text? string -
schemas SchemaName[] -
selection_hierarchy_json? string a URL to a preset for configuing NestedSchemaSelect. DeepConfig
share? "profile" | "verification" | "both" the information to share. undefined implies both.
tags? WizardPageTag[] -
terminal_button_label? string Label for the exit button on terminal pages Default ts "Home"
terminal_button_url? string URL to redirect to when exit button is clicked on terminal pages Default ts "/" or return_to from WizardConfig
verify_data? boolean if false, ProfileObjects created while completing the form will not be verified. if true, you can only select ProfileObjects that are partially or fully verified. undefined implies true. Default ts true

WizardPageTag

Ƭ WizardPageTag: "action:require_chip"


WrappedSchema

Ƭ WrappedSchema: Object

This is what's returned by the API

Type declaration
Name Type Description
active true -
end_date string ISO Date. If this tag exists, the schema is deprecated.
extends_schema_name? SchemaName | null Base schema to extend (same tenant). NULL = not an extension.
extends_schema_version? string | null Pin to specific base schema version. NULL = use version_current.
merchant_id? MId The merchant this schema belongs to. Always present for merchant-type (ms) schemas; absent for all other schema types.
resource_group? string CommonFields row metadata — the polymorphic entity this schema maps to.
resource_name? string -
schema CommonSchemaAttributes & { $id?: string ; $schema?: string ; allOf?: { $ref?: string ; if?: Partial<WrappedSchema["schema"]> ; then?: Partial<WrappedSchema["schema"]> }[] ; definitions?: Record<string, { $ref: Urn }> ; properties: { [fieldName: string]: ServerSchemaField; } ; required?: string[] ; verified_fields?: string[] } -
schema_country_codes? string[] Country codes that this schema is available for
schema_name SchemaName Schema Name Type and Version Properties
schema_type SchemaType -
schema_version string -
start_date string ISO Date
version_current boolean whether the version is the latest version