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
View JSON Schema on GitHub

JSON Schema

linktokencreate-v2025-07-08.json Raw ↑
{
  "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"
}