Pinwheel · Schema
LinkTokenPostBody
PayrollDirect DepositIncome VerificationEmploymentTax FormsFintechOpen FinanceBill SwitchingFinancial Data
Properties
| Name | Type | Description |
|---|---|---|
| org_name | string | Organization or app name that is displayed to the user. |
| allocation | object | Allocation specified for the link token. |
| skip_intro_screen | boolean | If set to true, intro screen is not shown to user. |
| employer_id | string | UUID of an employer. If set, user is taken directly to Link login screen. |
| disable_direct_deposit_splitting | boolean | If set to true, user will not be given the option to choose between a full or partial direct deposit switch. Only relevant with job `direct_deposit_switch`. Defaults to false. |
| platform_id | string | UUID of a platform. If set, user is taken directly to Link login screen. |
| platform_type | object | The type of the platform. `payroll` platforms are used for direct-deposit switching and for Verify use cases. `time_and_attendance` platforms contain data around shifts and hours. `tax` platforms are |
| language | object | IETF code denoting which language to display in Link. |
| end_user_id | string | User ID provided by you, to associate Pinwheel users with your user model. Required if `account_id` is not provided. This ID will be returned in all webhook events and all account-affiliated API respo |
| account_id | string | UUID of the payroll account. |
| document_uploads | object | Optional parameter to facilitate pathway into document uploads usage. Defaults to None. |
| tags | object | Tags associated with the Link token. These are restricted to string key-value pairs. |
| deposit_forms | object | Optional parameter to facilitate pathway into deposit forms. Defaults to fallback if deposit forms are enabled for your workspace. |
| use_case | object | Field to indicate where in your application Pinwheel is being launched. Required if leveraging Background Identify (PreMatch employee lookup check prior to SDK initialization). |
| end_user | object | Optional field where data about an end user can be provided to enable products such as automated platform matching. |
| cards | array | Card details needed to attempt a bill switch. |
| reseller_customer_id | string | The identifier for a reseller's customer. This field is required for resellers. For other customers, a non-null value will result in a 400 error. The value supplied must be preregistered with Pinwheel |
| solution | object | The Pinwheel solution to be presented to the user. |
| features | array | A list of job types to be performed on the user's account. Platforms/merchants that do not support ALL of these jobs will not be visible to the user. This property is required unless the account_id pr |
JSON Schema
{
"properties": {
"org_name": {
"type": "string",
"maxLength": 30,
"minLength": 3,
"title": "org_name",
"description": "Organization or app name that is displayed to the user."
},
"allocation": {
"allOf": [
{
"$ref": "#/components/schemas/Allocation"
}
],
"title": "allocation",
"description": "Allocation specified for the link token."
},
"skip_intro_screen": {
"type": "boolean",
"title": "skip_intro_screen",
"description": "If set to true, intro screen is not shown to user.",
"default": false
},
"employer_id": {
"type": "string",
"format": "uuid",
"title": "employer_id",
"description": "UUID of an employer. If set, user is taken directly to Link login screen."
},
"disable_direct_deposit_splitting": {
"type": "boolean",
"title": "disable_direct_deposit_splitting",
"description": "If set to true, user will not be given the option to choose between a full or partial direct deposit switch. Only relevant with job `direct_deposit_switch`. Defaults to false.",
"default": false
},
"platform_id": {
"type": "string",
"format": "uuid",
"title": "platform_id",
"description": "UUID of a platform. If set, user is taken directly to Link login screen."
},
"platform_type": {
"allOf": [
{
"type": "string",
"enum": [
"payroll",
"time_and_attendance",
"tax",
"merchant"
]
}
],
"description": "The type of the platform. `payroll` platforms are used for direct-deposit switching and for Verify use cases. `time_and_attendance` platforms contain data around shifts and hours. `tax` platforms are used for tax solutions. `merchant` type platforms are used for bill switching and cancellation."
},
"language": {
"allOf": [
{
"type": "string",
"enum": [
"en",
"es"
]
}
],
"description": "IETF code denoting which language to display in Link.",
"default": "en"
},
"end_user_id": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"title": "end_user_id",
"description": "User ID provided by you, to associate Pinwheel users with your user model. Required if `account_id` is not provided. This ID will be returned in all webhook events and all account-affiliated API responses. Leading and trailing whitespace will be stripped. Do not include PII in this identifier."
},
"account_id": {
"type": "string",
"format": "uuid",
"title": "account_id",
"description": "UUID of the payroll account."
},
"document_uploads": {
"allOf": [
{
"type": "string",
"enum": [
"direct",
"fallback",
"disabled"
]
}
],
"description": "Optional parameter to facilitate pathway into document uploads usage. Defaults to None."
},
"tags": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "tags",
"description": "Tags associated with the Link token. These are restricted to string key-value pairs."
},
"deposit_forms": {
"allOf": [
{
"type": "string",
"enum": [
"direct",
"fallback",
"disabled"
]
}
],
"description": "Optional parameter to facilitate pathway into deposit forms. Defaults to fallback if deposit forms are enabled for your workspace."
},
"use_case": {
"allOf": [
{
"type": "string",
"enum": [
"account_onboarding",
"account_servicing",
"underwriting"
]
}
],
"description": "Field to indicate where in your application Pinwheel is being launched. Required if leveraging Background Identify (PreMatch employee lookup check prior to SDK initialization)."
},
"end_user": {
"allOf": [
{
"$ref": "#/components/schemas/EndUser"
}
],
"title": "end_user",
"description": "Optional field where data about an end user can be provided to enable products such as automated platform matching."
},
"cards": {
"items": {
"$ref": "#/components/schemas/CardDetails"
},
"type": "array",
"title": "cards",
"description": "Card details needed to attempt a bill switch."
},
"reseller_customer_id": {
"type": "string",
"maxLength": 40,
"title": "reseller_customer_id",
"description": "The identifier for a reseller's customer. This field is required for resellers. For other customers, a non-null value will result in a 400 error. The value supplied must be preregistered with Pinwheel's customer success team."
},
"solution": {
"allOf": [
{
"type": "string",
"enum": [
"Verify",
"Bill Switch",
"Bill Manager",
"Paycheck Viewer",
"Switch Kit",
"Deposit Switch"
]
}
],
"description": "The Pinwheel solution to be presented to the user."
},
"features": {
"items": {
"type": "string",
"enum": [
"direct_deposit_allocations",
"bill_cancellation",
"direct_deposit_switch",
"paycheck_viewer",
"paystubs",
"bill_switch",
"identity",
"direct_deposit_payment",
"income",
"employment",
"tax_forms",
"shifts"
]
},
"type": "array",
"description": "A list of job types to be performed on the user's account. Platforms/merchants that do not support ALL of these jobs will not be visible to the user. This property is required unless the account_id property is set."
}
},
"type": "object",
"required": [
"org_name",
"solution"
],
"title": "LinkTokenPostBody",
"x-tags": [
"Schemas"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://schema.pinwheelapi.com/LinkTokenCreate_v2025_07_08.json"
}