Onboarding Schema Reference
Technical reference for onboarding schema configuration, actions, database endpoints, and variable syntax.
For a conceptual overview of how onboarding schemas work, see Understanding Onboarding Schemas.
Schema Structure
{
"onboard_properties": {
"actions": {
// High-level workflows (org creation, AA links, etc.)
},
"db": {
"v1": {
// Direct database endpoint calls (nodes, etc.)
}
},
"execution_order": [
// Optional: explicit order of execution
],
"return_to": "/path" // Where to redirect after completion
}
}
Actions
All actions follow this structure:
{
"actions": {
"action_name": [
{
"store_as": "my_alias", // Optional: alias for referencing outputs
"properties": {
// Action-specific properties
}
}
]
}
}
create_organization
Creates a complete organization with party, customer, and location records. The system automatically uses this organization for all subsequent actions.
Example
{
"actions": {
"create_organization": [
{
"properties": {
"route": "{route}",
"country": "{country}",
"locality": "{locality}",
"org_name": "{org_name}",
"org_email": "{org_email}",
"postal_code": "{postal_code}",
"sublocality": "{sublocality}",
"street_number": "{street_number}"
}
}
]
}
}
create_merchant
Creates a merchant record.
Auto-injected fields:
| Field | Source |
|---|---|
party_id | Current org's orgId |
customer_id | Current org's id |
Example
{
"actions": {
"create_organization": [
{
"properties": {
"org_name": "{org_name}"
}
}
],
"create_merchant": [
{
"properties": {
"merchant_name": "{org_name} Merchant"
}
}
]
}
}
create_access_application
Creates an Access Application with encryption key setup.
Auto-injected fields:
| Field | Source |
|---|---|
customer_id | Current org's id |
org_id | Current org's orgId |
Do NOT manually specify customer_id or org_id in your schema properties. These are always auto-injected from the current organization context and will be overwritten.
Output Fields
| Field | Type | Variable Syntax | Description |
|---|---|---|---|
a_id | AId | {alias[0].a_id} | Access Application ID |
Example
{
"actions": {
"create_access_application": [
{
"store_as": "id_verification_aa",
"properties": {
"name": "{org_name} Identity Verification",
"scopes": [
"ss_Global_Identity_Document",
"ss_Person_Contact_Address"
],
"callback_uri": ["https://app.rayt.io"],
"aa_introduction": "Welcome! We use Raytio for identity verification."
}
}
]
}
}
create_access_application_link
Creates a shareable link for an Access Application.
Required Properties:
| Property | Type | Description |
|---|---|---|
a_id | AId | Access Application ID ({alias[0].a_id}) |
description | string | Description for the link |
wizardConfig | WizardConfig | Form configuration (see structure below) |
WizardConfig Structure:
{
"pages": [
{
"name": "Page Title",
"schemas": ["schema_name"],
"verify": true,
"optional": false,
"multiple": false
}
],
"emails": ["{org_email}"],
"expiry_date": 365,
"quick_onboard": false
}
Output Fields
| Field | Type | Variable Syntax | Description |
|---|---|---|---|
nId | NId | {alias[0].nId} | Link node ID |
url | string | {alias[0].url} | The shareable URL |
short_link_key | LId | {alias[0].short_link_key} | KV store ID |
description | string | {alias[0].description} | Link description |
Example
{
"actions": {
"create_access_application_link": [
{
"properties": {
"a_id": "{id_verification_aa[0].a_id}",
"description": "ID Verification Form",
"wizardConfig": {
"pages": [
{
"name": "Your identity document",
"verify": true,
"schemas": ["ss_Global_Identity_Document"]
}
],
"emails": ["{org_email}"],
"expiry_date": 365
}
}
}
]
}
}
Database Endpoints
Direct API endpoint calls for creating database records. These return raw API field names (e.g. id), unlike high-level actions which return client-mapped fields (e.g. a_id).
Format
{
"db": {
"v1": {
"endpoint_name": [
{
"store_as": "my_alias"
// Endpoint-specific payload
}
]
}
}
}
dsm_nodes (Profile Objects)
Creates profile objects (nodes).
Output: Returns node with n_id field. Reference with {alias[0].n_id}.
Example
{
"db": {
"v1": {
"dsm_nodes": [
{
"store_as": "provider_profile",
"labels": ["ss_Provider_Profile"],
"properties": {
"provider_name": "{org_name}",
"picture": "{logo_url}",
"permissions": "Public"
}
}
]
}
}
}
dsm_node_relationships
Creates relationships between nodes.
Example
{
"db": {
"v1": {
"dsm_node_relationships": [
{
"from": "{node_a[0].n_id}",
"to": "{node_b[0].n_id}",
"type": "OWNS",
"properties": {
"role": "owner"
}
}
]
}
}
}
Variable Substitution
User Input Variables
Reference wizard form inputs:
{
"org_name": "{org_name}",
"org_email": "{org_email}",
"merchant_name": "{org_name} Merchant"
}
Entity Reference Variables
Reference outputs from previous steps.
Format: {alias[index].field}
| Component | Description |
|---|---|
alias | The store_as value from a previous action |
index | Array index (usually 0) |
field | Output field name |
Examples:
{
"a_id": "{my_aa[0].a_id}",
"from": "{profile[0].n_id}"
}
Auto-Generated Aliases
If store_as is not specified, entities are stored under their path:
| Source | Auto-generated alias |
|---|---|
actions.create_organization | actions.create_organization[0] |
db.v1.xrm_merchants | xrm_merchants[0] |
Execution Order
Default order:
- All
actions.* - All
db.v1.* - Custom endpoints
Explicit Order
{
"execution_order": [
"actions.create_organization",
"db.v1.dsm_nodes",
"db.v1.xrm_merchants",
"actions.create_access_application",
"actions.create_access_application_link"
]
}
| Prefix | Example |
|---|---|
actions.* | actions.create_organization |
db.v1.* | db.v1.dsm_nodes |
Entities must be created before they are referenced.
Complete Example
Organization + Access Application + Link
{
"onboard_properties": {
"actions": {
"create_organization": [
{
"store_as": "my_org",
"properties": {
"org_name": "{org_name}",
"org_email": "{org_email}"
}
}
]
},
"db": {
"v1": {
"dsm_nodes": [
{
"labels": ["ss_Provider_Profile"],
"properties": {
"provider_name": "{my_org[0].name}",
"permissions": "Public"
}
}
]
}
},
"return_to": "/profile"
}
}
Related Documentation
- Understanding Onboarding Schemas — conceptual overview
- Schema Reference — schema property documentation