> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nmbr.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a pay split



## OpenAPI

````yaml /spec/openapi.json post /pay_splits
openapi: 3.0.0
info:
  title: Nmbr API
  description: API to interact with Nmbr Payroll
  version: 1.0.0
servers:
  - url: https://sandbox.nmbr.co/services/payroll
security:
  - CompanyToken: []
tags:
  - name: Accounting Codes
  - name: Accounting Code Rules
  - name: Adjustments
  - name: Allowances
  - name: Allowance Line Items
  - name: Allowance Types
  - name: Async Tasks
  - name: Bank Accounts
  - name: Business Entities
  - name: Business Entity Verifications
  - name: Business Entity ROE Authorizations
  - name: Business Presets
  - name: Calculations
  - name: Companies
  - name: Contractors
  - name: Deductions
  - name: Deduction Line Items
  - name: Deduction Types
  - name: Earnings
  - name: Earning Line Items
  - name: Earning Types
  - name: Effective Tax Properties
  - name: Employees
  - name: Employee Benefits
  - name: Employee Benefit Line Items
  - name: Employee Benefit Types
  - name: Employer Benefits
  - name: Employer Benefit Line Items
  - name: Employer Benefit Types
  - name: Employer Statutory Withholding Line Items
  - name: Employer Statutory Withholding Types
  - name: Forms
  - name: Form Batches
  - name: Form Types
  - name: Holidays
  - name: Integrations
  - name: Journal Entries
  - name: Overtime Rates
  - name: Partners
  - name: Pay Rates
  - name: Pay Schedules
  - name: Pay Splits
  - name: Pay Stubs
  - name: Payments
  - name: Payrolls
  - name: Reimbursements
  - name: Reimbursement Line Items
  - name: Reimbursement Types
  - name: Remittance Accounts
  - name: Remittance Account Enrollments
  - name: Reports
  - name: Statutory Withholding Line Items
  - name: Statutory Withholding Types
  - name: Tags
  - name: Tag Groups
  - name: Tax Properties
  - name: Tax Property Templates
  - name: Tokens
  - name: Usage Records
  - name: Usage Summaries
  - name: Vacation Pay
  - name: Vacation Pay Settings
  - name: Webhooks
  - name: Work Assignments
paths:
  /pay_splits:
    post:
      tags:
        - Pay Splits
      summary: Create a pay split
      operationId: pay-splits-store
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - type: object
                  properties:
                    employee_id:
                      type: string
                      description: >-
                        Must be present when `contractor_id` is either empty or
                        not set.
                    contractor_id:
                      type: string
                      description: >-
                        Must be present when `employee_id` is either empty or
                        not set.
                    type:
                      type: string
                      description: >-
                        The split strategy. `amount` sends fixed dollar amounts
                        in priority order with the last configured Bank Account
                        receiving the remaining balance. `percentage`
                        distributes by percentage; percentage must total 100%
                        across all accounts.
                      enum:
                        - amount
                        - percentage
                    title:
                      type: string
                      description: A label for this pay split configuration.
                      nullable: true
                      maxLength: 255
                    title_translations:
                      type: object
                      description: Optional translations for the `title` property.
                      allOf:
                        - $ref: '#/components/schemas/Translations'
                      nullable: true
                    is_default:
                      type: boolean
                      description: >-
                        Whether this is the default pay split for the Employee
                        or Contractor.
                    priority_1_bank_account_id:
                      type: string
                    priority_1_amount:
                      type: number
                      description: >-
                        The amount or percentage allocated to the first priority
                        Bank Account.
                      format: decimal
                      minimum: 0
                      maximum: 99999
                    priority_2_bank_account_id:
                      type: string
                    priority_2_amount:
                      type: number
                      description: >-
                        The amount or percentage for the second priority Bank
                        Account. For `amount`-type splits, set to `null` if this
                        is the last account (receives the remainder).
                      format: decimal
                      minimum: 0
                      maximum: 99999
                    priority_3_bank_account_id:
                      type: string
                    priority_3_amount:
                      type: number
                      description: >-
                        The amount or percentage for the third priority Bank
                        Account.
                      format: decimal
                      minimum: 0
                      maximum: 99999
                    priority_4_bank_account_id:
                      type: string
                    priority_4_amount:
                      type: number
                      description: >-
                        The amount or percentage for the fourth priority Bank
                        Account.
                      format: decimal
                      minimum: 0
                      maximum: 99999
                    priority_5_bank_account_id:
                      type: string
                    priority_5_amount:
                      type: number
                      description: >-
                        The amount or percentage for the fifth priority Bank
                        Account.
                      format: decimal
                      minimum: 0
                      maximum: 99999
                    priority_6_bank_account_id:
                      type: string
                    priority_6_amount:
                      type: number
                      description: >-
                        The amount or percentage for the sixth priority Bank
                        Account.
                      format: decimal
                      minimum: 0
                      maximum: 99999
                    priority_7_bank_account_id:
                      type: string
                    priority_7_amount:
                      type: number
                      description: >-
                        The amount or percentage for the seventh priority Bank
                        Account.
                      format: decimal
                      minimum: 0
                      maximum: 99999
                - type: object
                  required:
                    - type
                    - priority_1_bank_account_id
                    - priority_1_amount
                    - priority_2_bank_account_id
            example:
              employee_id: <id>
              type: percentage
              priority_1_bank_account_id: <id>
              priority_1_amount: 50
              priority_2_bank_account_id: <id>
              priority_2_amount: 50
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: The unique identifier of the object in Nmbr.
                    readOnly: true
                  object:
                    type: string
                    description: The type of the object in Nmbr (`"pay_split"`).
                    readOnly: true
                  data:
                    $ref: '#/components/schemas/PaySplit'
              example:
                id: <id>
                object: pay_split
                data:
                  employee:
                    id: <id>
                    object: employee
                    links:
                      self: /employees/<id>
                  type: percentage
                  title: null
                  title_translations: null
                  title_translated: null
                  is_default: false
                  priority_1_bank_account:
                    id: <id>
                    object: bank_account
                    data:
                      employee:
                        id: <id>
                        object: employee
                        links:
                          self: /employees/<id>
                      institution_number: '320'
                      institution_name: President's Choice Bank
                      institution_name_translations:
                        en: President's Choice Bank
                        fr: Banque le Choix du Président
                      institution_name_translated: President's Choice Bank
                      transit_number: '02002'
                      transit_address: >-
                        600-500 Lakeshore Blvd West POBOX600, Toronto, ON M5V
                        2V9
                      account_number_last_3: '916'
                      is_primary: false
                      is_deletable: false
                      warnings:
                        object: list
                        data: []
                      created_at: '2026-01-01T00:00:00.000000Z'
                      updated_at: '2026-01-01T00:00:00.000000Z'
                    links:
                      self: /bank_accounts/<id>
                  priority_1_amount: 50
                  priority_2_bank_account:
                    id: <id>
                    object: bank_account
                    data:
                      employee:
                        id: <id>
                        object: employee
                        links:
                          self: /employees/<id>
                      institution_number: '320'
                      institution_name: President's Choice Bank
                      institution_name_translations:
                        en: President's Choice Bank
                        fr: Banque le Choix du Président
                      institution_name_translated: President's Choice Bank
                      transit_number: '02002'
                      transit_address: >-
                        600-500 Lakeshore Blvd West POBOX600, Toronto, ON M5V
                        2V9
                      account_number_last_3: '916'
                      is_primary: false
                      is_deletable: false
                      warnings:
                        object: list
                        data: []
                      created_at: '2026-01-01T00:00:00.000000Z'
                      updated_at: '2026-01-01T00:00:00.000000Z'
                    links:
                      self: /bank_accounts/<id>
                  priority_2_amount: 50
                  created_at: '2026-01-01T00:00:00.000000Z'
                  updated_at: '2026-01-01T00:00:00.000000Z'
                links:
                  self: /pay_splits/<id>
components:
  schemas:
    Translations:
      type: object
      nullable: true
      properties:
        en:
          type: string
          maxLength: 255
        fr:
          type: string
          maxLength: 255
    PaySplit:
      type: object
      title: Pay Split
      properties:
        employee:
          type: object
          description: >-
            The Employee who owns this pay split. Present only for Employee pay
            splits.
          properties:
            id:
              type: string
              description: The unique identifier of the object in Nmbr.
              readOnly: true
            object:
              type: string
              description: The type of the object in Nmbr (`"employee"`).
              readOnly: true
        type:
          type: string
          description: >-
            The split strategy. `amount` sends fixed dollar amounts in priority
            order with the last configured Bank Account receiving the remaining
            balance. `percentage` distributes by percentage; percentage must
            total 100% across all accounts.
          enum:
            - amount
            - percentage
        title:
          type: string
          description: A label for this pay split configuration.
          nullable: true
          maxLength: 255
        title_translations:
          type: object
          description: Optional translations for the `title` property.
          allOf:
            - $ref: '#/components/schemas/Translations'
          nullable: true
        title_translated:
          type: string
          description: >-
            The translation of the `title` property for the request locale.
            Computed using the values in `title` and `title_translations` and
            the value of the request's `Accept-Language` header.
          readOnly: true
        is_default:
          type: boolean
          description: >-
            Whether this is the default pay split for the Employee or
            Contractor.
        priority_1_bank_account:
          type: object
          description: The first priority Bank Account.
          properties:
            id:
              type: string
              description: The unique identifier of the object in Nmbr.
              readOnly: true
            object:
              type: string
              description: The type of the object in Nmbr (`"bank_account"`).
              readOnly: true
            data:
              $ref: '#/components/schemas/BankAccount'
        priority_1_amount:
          type: number
          description: >-
            The amount or percentage allocated to the first priority Bank
            Account.
          format: decimal
        priority_2_bank_account:
          type: object
          description: The second priority Bank Account.
          properties:
            id:
              type: string
              description: The unique identifier of the object in Nmbr.
              readOnly: true
            object:
              type: string
              description: The type of the object in Nmbr (`"bank_account"`).
              readOnly: true
            data:
              $ref: '#/components/schemas/BankAccount'
        priority_2_amount:
          type: number
          description: >-
            The amount or percentage for the second priority Bank Account. For
            `amount`-type splits, set to `null` if this is the last account
            (receives the remainder).
          nullable: true
          format: decimal
        created_at:
          type: string
          description: The date and time the object was created in Nmbr.
          readOnly: true
          format: dateTime
        updated_at:
          type: string
          description: The date and time the object was last updated in Nmbr.
          readOnly: true
          format: dateTime
    BankAccount:
      type: object
      title: Bank Account
      properties:
        business_entity:
          type: object
          description: >-
            The Business Entity that owns this bank account. Present only for
            Business Entity bank accounts.
          properties:
            id:
              type: string
              description: The unique identifier of the object in Nmbr.
              readOnly: true
            object:
              type: string
              description: The type of the object in Nmbr (`"business_entity"`).
              readOnly: true
        institution_number:
          type: string
          description: The 3-digit bank institution number.
        institution_name:
          type: string
          description: >-
            The name of the banking institution matching the institution number,
            or `null` if the number is not recognized. Always the English name;
            see `institution_name_translated` for the value in the request's
            locale.
          nullable: true
        institution_name_translations:
          type: object
          nullable: true
          properties:
            en:
              type: string
              nullable: true
            fr:
              type: string
              nullable: true
        institution_name_translated:
          type: string
          description: >-
            The translation of the `institution_name` property for the request
            locale. Computed using the values in `institution_name` and
            `institution_name_translations` and the value of the request's
            `Accept-Language` header.
          readOnly: true
        transit_number:
          type: string
          description: The 5-digit bank transit number.
        transit_address:
          type: string
          description: >-
            The address of the branch matching the institution and transit
            numbers, or `null` if the pair is not recognized.
          nullable: true
        account_number_last_3:
          type: string
          description: The last 3 digits of the bank account number.
          nullable: true
        is_primary:
          type: boolean
          description: Whether this is the primary bank account for its owner.
        is_deletable:
          type: boolean
          description: Whether this bank account can be deleted.
        warnings:
          type: object
          description: >-
            A collection of data validation warnings for this bank account.
            Warnings indicate incomplete or potentially incorrect data, such as
            an unrecognized institution or transit number.
          nullable: true
          properties:
            object:
              type: string
              nullable: true
            data:
              type: object
              nullable: true
        is_pad_signed:
          type: boolean
          description: >-
            Whether a PAD agreement has been signed. Only present for Business
            Entity bank accounts.
        pad_signer_name:
          type: string
          description: >-
            The name of the person who signed the PAD agreement. Only applicable
            to Business Entity bank accounts.
          nullable: true
          maxLength: 255
        pad_signer_email:
          type: string
          description: >-
            The email address of the PAD agreement signer. Only applicable to
            Business Entity bank accounts.
          nullable: true
          maxLength: 255
        pad_signer_title:
          type: string
          description: >-
            The title or role of the PAD agreement signer. Only applicable to
            Business Entity bank accounts.
          nullable: true
          maxLength: 255
        pad_signed_at:
          type: string
          description: >-
            The date and time the PAD agreement was signed. Only applicable to
            Business Entity bank accounts.
          readOnly: true
          nullable: true
          format: dateTime
        pad_file:
          description: >-
            The signed PAD agreement file. Only present for Business Entity bank
            accounts.
        created_at:
          type: string
          description: The date and time the object was created in Nmbr.
          readOnly: true
          format: dateTime
        updated_at:
          type: string
          description: The date and time the object was last updated in Nmbr.
          readOnly: true
          format: dateTime
  securitySchemes:
    CompanyToken:
      type: http
      scheme: bearer

````