> ## 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.

# Retrieve a pay schedule



## OpenAPI

````yaml /spec/openapi.json get /pay_schedules/{pay_schedule}
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_schedules/{pay_schedule}:
    get:
      tags:
        - Pay Schedules
      summary: Retrieve a pay schedule
      operationId: pay-schedules-show
      parameters:
        - name: pay_schedule
          in: path
          schema:
            type: string
          required: true
        - name: expand
          in: query
          schema:
            type: array
            items:
              type: string
              enum:
                - business_entity
                - payrolls
          required: false
      responses:
        '200':
          description: OK
          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_schedule"`).
                    readOnly: true
                  data:
                    type: object
                    allOf:
                      - $ref: '#/components/schemas/PaySchedule'
                    anyOf:
                      - type: object
                        title: Default
                      - type: object
                        title: With business_entity expanded
                        properties:
                          business_entity:
                            type: object
                            properties:
                              data:
                                $ref: '#/components/schemas/BusinessEntity'
                      - type: object
                        title: With payrolls expanded
                        properties:
                          payrolls:
                            type: object
                            nullable: true
                            properties:
                              object:
                                type: string
                                description: The type of the object in Nmbr (`"list"`).
                                readOnly: true
                              data:
                                type: array
                                items:
                                  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.
                                      readOnly: true
                                    data:
                                      $ref: '#/components/schemas/Payroll'
              example:
                id: <id>
                object: pay_schedule
                data:
                  business_entity:
                    id: <id>
                    object: business_entity
                    links:
                      self: /business_entities/<id>
                  title: Default Schedule
                  title_translations: null
                  title_translated: Default Schedule
                  pay_frequency: monthly
                  anchor_pay_date: '2026-01-31'
                  anchor_start_of_pay_period: '2026-01-01'
                  anchor_end_of_pay_period: '2026-01-31'
                  generate_payrolls_from: null
                  day_1: -1
                  day_2: null
                  pay_day_movement_setting: inherit
                  send_empty_pay_stubs: true
                  pay_stub_settings:
                    show_vacation_pay_balance: false
                  custom_pay_periods_per_year: null
                  is_editable: true
                  is_deletable: true
                  external_ref: null
                  created_at: '2026-01-01T00:00:00.000000Z'
                  updated_at: '2026-01-01T00:00:00.000000Z'
                links:
                  self: /pay_schedules/<id>
components:
  schemas:
    PaySchedule:
      type: object
      title: Pay Schedule
      properties:
        business_entity:
          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 (`"business_entity"`).
              readOnly: true
        title:
          type: string
          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
        pay_frequency:
          type: string
          description: >-
            The frequency at which Payrolls are processed. Use `custom` for
            non-standard schedules where the number of pay periods per year is
            specified manually.
          enum:
            - bi-weekly
            - custom
            - monthly
            - semi-monthly
            - weekly
        anchor_pay_date:
          type: string
          description: >-
            The pay date of the anchor pay period. Together with
            `anchor_end_of_pay_period`, this establishes the pattern from which
            all future pay dates are calculated.
          nullable: true
          format: date
        anchor_start_of_pay_period:
          type: string
          description: >-
            The start date of the anchor pay period. Only required for
            semi-monthly pay schedules when `anchor_end_of_pay_period` is not
            the 15th or the last day of the month. For standard configurations
            it is derived automatically and does not need to be supplied.
          nullable: true
          format: date
        anchor_end_of_pay_period:
          type: string
          description: >-
            The end date of the anchor pay period. Together with
            `anchor_pay_date`, this defines the length and pattern of all future
            pay periods.
          nullable: true
          format: date
        generate_payrolls_from:
          type: string
          description: >-
            Only available in preview mode. When set, Payrolls are generated
            starting from this date rather than the default, allowing historical
            Payrolls to be created before the current date.
          nullable: true
          format: date
        day_1:
          type: integer
          description: >-
            For monthly pay schedules, the day of the month on which pay is
            issued. For semi-monthly pay schedules, the first of two pay days
            per month.
          nullable: true
        day_2:
          type: integer
          description: >-
            For semi-monthly pay schedules, the second of two pay days per
            month.
          nullable: true
        pay_day_movement_setting:
          type: string
          description: >-
            The pay schedule-level setting for how pay dates are adjusted when
            they fall on a weekend or bank holiday. If set to `inherit`, the
            Business Entity's setting is used.
          enum:
            - inherit
            - next_business_day
            - previous_business_day
        send_empty_pay_stubs:
          type: boolean
          description: >-
            Whether Pay Stubs are generated for employees with no earnings in a
            given pay period.
        pay_stub_settings:
          type: object
          description: >-
            Settings that control Pay Stub display. The
            `show_vacation_pay_balance` field, when `true`, causes the
            employee's current Vacation Pay balance to appear on Pay Stubs.
          nullable: true
          properties:
            show_vacation_pay_balance:
              type: boolean
        custom_pay_periods_per_year:
          type: integer
          description: >-
            When `pay_frequency` is `custom`, the number of pay periods per
            year.
          nullable: true
        is_editable:
          type: boolean
          description: >-
            Whether the pay schedule's configuration can be edited. A pay
            schedule becomes non-editable once any of its Payrolls have been
            approved or paid. When `false`, only the `title` field may be
            updated.
        is_deletable:
          type: boolean
          description: >-
            Whether the pay schedule can be deleted. A pay schedule may not be
            deleted once any of its Payrolls have been approved or paid. In
            preview mode, any pay schedule may be deleted.
        external_ref:
          type: string
          description: >-
            A reference to the object in an external system, e.g. the primary
            key of the object in your application's database. Nmbr doesn't use,
            validate, parse, or require this value to be unique - it simply
            stores it for your reference.
          nullable: true
          maxLength: 255
        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
    BusinessEntity:
      type: object
      title: Business Entity
      properties:
        business_number:
          type: string
          description: >-
            The Canada Revenue Agency (CRA) Business Number (BN) for this
            business entity, used to identify the business for payroll tax
            remittances.
          nullable: true
          maxLength: 255
        name:
          type: string
          description: The business entity's operating or trade name.
          maxLength: 255
        legal_name:
          type: string
          description: The business entity's registered legal name.
          nullable: true
          maxLength: 255
        legal_registration_number:
          type: string
          description: The provincial business registration number.
          nullable: true
          maxLength: 255
        address_line_1:
          type: string
          description: >-
            The first line of the business entity's mailing address. Canada
            Revenue Agency forms (T4, RL-1) truncate this to the length those
            forms allow.
          nullable: true
          maxLength: 255
        address_line_2:
          type: string
          description: >-
            The second line of the business entity's mailing address. Canada
            Revenue Agency forms (T4, RL-1) truncate this to the length those
            forms allow.
          nullable: true
          maxLength: 255
        city:
          type: string
          description: The city of the business entity's mailing address.
          nullable: true
          maxLength: 255
        in_preview:
          type: boolean
          description: >-
            When `true`, the business entity is in preview mode. In preview
            mode, Payrolls can be run and approved but no real money movement
            occurs.
        administrative_area:
          type: string
          description: >-
            The region of the business entity's mailing address — the province,
            state, or county, depending on the country. For Canadian business
            entities this is the province.
          nullable: true
          maxLength: 255
        province_code:
          type: string
          description: >-
            This attribute is deprecated and will be removed.


            A deprecated alias of `administrative_area` that mirrors its value.
            Use `administrative_area` instead.
          nullable: true
          deprecated: true
        country_code:
          type: string
          description: The country code for the business entity's mailing address.
          nullable: true
          maxLength: 2
        postal_code:
          type: string
          description: The postal code for the business entity's mailing address.
          nullable: true
          maxLength: 255
        contact_name:
          type: string
          description: The name of the primary contact at the business entity.
          nullable: true
          maxLength: 255
        contact_email:
          type: string
          description: The email address of the primary contact at the business entity.
          nullable: true
          maxLength: 255
        contact_area_code:
          type: string
          description: The area code for the primary contact's phone number.
          nullable: true
          maxLength: 255
        contact_phone_number:
          type: string
          description: The primary contact's phone number, excluding area code.
          nullable: true
          maxLength: 255
        contact_extension:
          type: string
          description: The extension for the primary contact's phone number.
          nullable: true
          maxLength: 255
        pay_day_movement_setting:
          type: string
          description: >-
            The business entity-level setting for how pay dates are adjusted
            when they fall on a weekend or bank holiday. If set to `inherit`,
            the Company's setting is used.
          enum:
            - inherit
            - next_business_day
            - previous_business_day
        vacation_pay_formula_setting:
          type: string
          description: >-
            The formula used to calculate vacation pay for Employees in this
            business entity.
          enum:
            - pay_date
            - period_end
            - period_start
        remitter_type:
          type: string
          description: >-
            The Canada Revenue Agency (CRA) remitter type, which determines the
            frequency of payroll tax remittances to the CRA.
          nullable: true
          enum:
            - accelerated_threshold_1
            - accelerated_threshold_2
            - quarterly
            - regular
        status:
          type: string
          description: >-
            The business entity's current status. A business entity must reach
            `approved` status before live Payrolls can be processed.
          enum:
            - approved
            - onboarding
            - suspended
        company:
          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 (`"company"`).
              readOnly: true
        warnings:
          type: object
          description: >-
            A collection of data validation warnings for this business entity.
            Warnings indicate incomplete or potentially incorrect data and could
            prevent payroll processing.
          nullable: true
          properties:
            object:
              type: string
              nullable: true
            data:
              type: array
              nullable: true
              items:
                type: object
                properties:
                  object:
                    type: string
                    nullable: true
                  data:
                    type: object
                    nullable: true
                    properties:
                      namespace:
                        type: string
                        nullable: true
                      type:
                        type: string
                        nullable: true
        external_ref:
          type: string
          description: >-
            A reference to the object in an external system, e.g. the primary
            key of the object in your application's database. Nmbr doesn't use,
            validate, parse, or require this value to be unique - it simply
            stores it for your reference.
          nullable: true
          maxLength: 255
        available_tax_properties:
          type: array
          description: >-
            A list of Tax Property template identifiers supported for this
            business entity, based on its jurisdiction.
          nullable: true
          items:
            type: string
        effective_processing_speed:
          type: string
          description: >-
            The resolved processing speed after applying inheritance from the
            Partner if `processing_speed` is `inherit`.
          nullable: true
        processing_speed:
          type: string
          description: >-
            The business entity-level processing speed setting. If set to
            `inherit`, the Partner's processing speed is used.
          enum:
            - five_day
            - four_day
            - inherit
            - one_day
            - three_day
            - two_day
        has_bank_accounts:
          type: boolean
          description: Whether this business entity has any Bank Accounts configured.
        has_pay_schedules:
          type: boolean
          description: Whether this business entity has any Pay Schedules configured.
        has_payrolls:
          type: boolean
          description: Whether this business entity has any Payrolls.
        current_tax_jurisdiction:
          type: string
          description: >-
            The current tax jurisdiction for the business entity, derived from
            its `ca::province_of_employment` Tax Property.
          nullable: true
        ca_settings:
          type: object
          description: >-
            Canada-specific settings for this business entity. Only present for
            business entities with a Canadian address.
          nullable: true
          properties:
            roe_submission_setting:
              type: string
              description: >-
                Indicates whether Record of Employment (ROE) submissions are
                managed by Nmbr (`managed`) or by the employer directly
                (`manual`).
              nullable: true
        accounting_settings:
          type: object
          description: >-
            Accounting-related settings for this business entity. New clients
            should read and write these through this object; the top-level
            `default_bank_accounting_code`,
            `default_payroll_payable_accounting_code`,
            `resolve_journal_entry_stat_withholdings`, and `primary_tag_group`
            fields are retained as aliases for backwards compatibility.
          nullable: true
          properties:
            default_bank_accounting_code:
              description: >-
                The Accounting Code used as the default bank account row when
                generating journal entries.
            default_payroll_payable_accounting_code:
              description: >-
                The Accounting Code used as the default payroll payable row when
                generating journal entries.
            resolve_journal_entry_stat_withholdings:
              type: boolean
              description: >-
                When `true`, statutory withholding line items (employee and
                employer) are split across tracking dimensions derived from
                their applicable source earnings. When `false`, each statutory
                withholding appears as a single unsplit row in journal entries.
            primary_tag_group:
              description: >-
                The Tag Group that drives default accounting-code resolution for
                line items. Setting this also flags the group as a journal entry
                dimension.
            block_approval_on_incomplete_journal_entries:
              type: boolean
              description: >-
                When `true`, payroll approval is blocked if any exportable
                journal entry row has no Accounting Code.
            block_approval_on_missing_export_identifiers:
              type: boolean
              description: >-
                When `true`, payroll approval is blocked if any exportable
                journal entry row has no Accounting Code OR has one that lacks
                the enabled integration's external identifier.
        default_bank_accounting_code:
          description: |-
            This attribute is deprecated and will be removed.

            Use `accounting_settings.default_bank_accounting_code`.
          deprecated: true
        default_payroll_payable_accounting_code:
          description: |-
            This attribute is deprecated and will be removed.

            Use `accounting_settings.default_payroll_payable_accounting_code`.
          deprecated: true
        preferred_locale:
          type: string
          description: >-
            The locale used for payroll communications sent to Employees and
            Contractors within this business entity. If not set, the Company's
            locale is used.
          nullable: true
          enum:
            - en
            - fr
        hold_funding_for_verification:
          type: boolean
          description: >-
            When `true`, funding payments will be automatically held after
            settlement for verification. Downstream payments (employee, CRA, RQ)
            will not be processed until the funding payment hold is released.
        resolve_journal_entry_stat_withholdings:
          type: boolean
          description: |-
            This attribute is deprecated and will be removed.

            Use `accounting_settings.resolve_journal_entry_stat_withholdings`.
          deprecated: true
        primary_tag_group:
          description: |-
            This attribute is deprecated and will be removed.

            Use `accounting_settings.primary_tag_group`.
          deprecated: true
        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
    Payroll:
      type: object
      title: Payroll
      properties:
        business_entity:
          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 (`"business_entity"`).
              readOnly: true
        pay_schedule:
          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_schedule"`).
              readOnly: true
        type:
          type: string
          description: >-
            The type of payroll. `regular` payrolls are generated automatically
            on the Pay Schedule. `off_cycle` Payrolls are created manually
            against a source regular payroll. `historical` and `correction`
            payrolls are used to record or correct prior periods.
          enum:
            - correction
            - historical
            - off_cycle
            - regular
        period_number:
          type: integer
          description: >-
            The sequential number of this pay period within the calendar year of
            its `pay_date`, counting only regular payrolls. `null` for
            off-cycle, historical, and correction payrolls.
          nullable: true
        period_label:
          type: string
          description: A human-readable label for this pay period.
          nullable: true
        period_start:
          type: string
          description: The start date of the pay period.
          format: date
        period_end:
          type: string
          description: The end date of the pay period.
          format: date
        pay_date:
          type: string
          description: The date on which Employees and Contractors are paid.
          format: date
        original_pay_date:
          type: string
          description: >-
            For payrolls on a custom-frequency Pay Schedule, the originally
            scheduled pay date before any movement for weekends or bank
            holidays. Used for year-to-date calculations and tax year
            assignment.
          nullable: true
          format: date
        debit_date:
          type: string
          description: >-
            The expected date the company's account will be debited the
            `cash_requirement` amount.
          nullable: true
        approval_due_at:
          type: string
          description: >-
            The date and time, in UTC, by which the payroll must be approved to
            be processed on time.
          readOnly: true
          nullable: true
          format: dateTime
        regular_periods_count:
          type: integer
          description: >-
            The total number of regular pay periods in this Pay Schedule whose
            `pay_date` falls in the same calendar year as this payroll's
            `pay_date`. Used for year-to-date calculations.
          nullable: true
        is_impacted_by_weekend_or_holiday:
          type: boolean
          description: >-
            Whether `pay_date` or `approval_due_at` has been moved to avoid
            falling on a weekend or bank holiday.
        is_blocked_by_draft:
          type: boolean
          description: >-
            Whether this payroll is blocked from being approved because an
            earlier payroll on the same Pay Schedule is still in draft status.
        note:
          type: string
          description: An optional note on the payroll, visible to the partner.
          nullable: true
        employee_summary:
          type: object
          description: A summary of pay across all Employees in this payroll.
          nullable: true
          properties:
            gross:
              description: The sum of all earnings and allowances.
            subtractions:
              description: The total of all deductions, taxes, and benefit contributions.
            reimbursements:
              description: The total of non-taxable reimbursements.
            net:
              description: The Employee net pay; when negative, a warning is included.
        contractor_summary:
          type: object
          description: A summary of pay across all Contractors in this payroll.
          nullable: true
          properties:
            gross:
              description: The sum of all earnings.
            reimbursements:
              description: The total of non-taxable reimbursements.
            net:
              description: The Contractor net pay.
        company_summary:
          type: object
          description: A summary of the company's obligations in this payroll.
          nullable: true
          properties:
            taxes_and_contributions:
              description: The employer share of statutory remittances (CPP and EI).
            benefits:
              description: The total of employer benefit contributions.
            total:
              description: The company's total obligations.
        liability:
          type: number
          description: >-
            The total amount owed by the company for this payroll, including
            Employee and Contractor net pay, employer tax contributions, and
            employer benefit contributions.
          nullable: true
          format: decimal
        cash_requirement:
          type: number
          description: >-
            The total amount that will be debited from the company's account
            when this payroll is approved.
          nullable: true
          format: decimal
        status:
          type: string
          description: The current status of the payroll.
          enum:
            - approved
            - draft
            - failed
            - paid
            - partially_paid
            - processing
        approved_at:
          type: string
          description: The date on which the payroll was approved.
          nullable: true
          format: date
        is_stale:
          type: boolean
          description: >-
            Whether the payroll's tax calculations are out of date. When `true`,
            `stale_since` indicates when the payroll became stale.
        stale_since:
          type: string
          description: >-
            The timestamp at which the payroll's tax calculations became stale
            and need to be recalculated. `null` if the payroll is up to date.
          readOnly: true
          nullable: true
          format: dateTime
        source_payroll: {}
        warnings:
          type: object
          description: >-
            A collection of data validation warnings for this payroll. Warnings
            indicate incomplete or potentially incorrect data and could prevent
            payroll processing.
          nullable: true
          properties:
            object:
              type: string
              nullable: true
            data:
              type: object
              nullable: true
        external_ref:
          type: string
          description: >-
            A reference to the object in an external system, e.g. the primary
            key of the object in your application's database. Nmbr doesn't use,
            validate, parse, or require this value to be unique - it simply
            stores it for your reference.
          nullable: true
          maxLength: 255
        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
    Translations:
      type: object
      nullable: true
      properties:
        en:
          type: string
          maxLength: 255
        fr:
          type: string
          maxLength: 255
  securitySchemes:
    CompanyToken:
      type: http
      scheme: bearer

````