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

# Read all payroll configurations



## OpenAPI

````yaml /api-reference/specs/pay-api.yaml get /payrollconfig
openapi: 3.0.3
info:
  title: FlowPayroll API
  description: >-
    API for payroll management, including payroll upload, lock, HMRC submission,
    employee management
  version: 0.1.0
servers:
  - url: https://api.sandbox.flowpayroll.ai/v1
security:
  - XAuthToken: []
    XOrgId: []
tags:
  - name: Employees
    description: >-
      Create, retrieve, update, and delete employee records, and look them up by
      NI number or payroll ID.
  - name: Starters & leavers
    description: Set and clear starter and leaver details, individually or in bulk.
  - name: Tax codes
    description: >-
      Manage employee tax codes and query the effective tax code and NI category
      on a given date.
  - name: NI & identifiers
    description: Manage NI categories, National Insurance numbers, and payroll IDs.
  - name: Student loans
    description: Start and end student and postgraduate loans.
  - name: Payroll setup
    description: Assign an employee's payroll config and set opening balances.
  - name: Payroll
  - name: Payroll lines
  - name: PayrollConfig
  - name: Pay Elements
  - name: Calculator
  - name: Payslip
  - name: RTI
  - name: YearEnd
  - name: Organisation
paths:
  /payrollconfig:
    get:
      tags:
        - PayrollConfig
      summary: Read all payroll configurations
      operationId: ReadAllPayrollConfigs
      parameters:
        - name: pageSize
          in: query
          required: false
          schema:
            type: string
        - name: paginationToken
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Payroll Configurations Retrieved
          content:
            application/json:
              schema:
                type: object
                allOf:
                  - $ref: '#/components/schemas/ResponseBody'
                  - properties:
                      content:
                        type: object
                        properties:
                          data:
                            type: array
                            items:
                              $ref: '#/components/schemas/PayrollConfigDto'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseBody'
components:
  schemas:
    ResponseBody:
      type: object
      properties:
        message:
          $ref: '#/components/schemas/MessageWithTokenResponse'
        content:
          type: object
          properties:
            data:
              type: object
              nullable: true
            metadata:
              type: object
              nullable: true
              properties:
                dateFormat:
                  type: string
                  default: yyyy-MM-dd
                dateTimeFormat:
                  type: string
                  default: yyyy-MM-ddTHH:mm:ss.fffZ
                paginationToken:
                  type: string
                  nullable: true
        validationIssues:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssue'
        messageToken:
          type: string
    PayrollConfigDto:
      allOf:
        - $ref: '#/components/schemas/UpdateablePayrollConfigDto'
        - type: object
          required:
            - id
          properties:
            id:
              type: string
              description: The id of the payroll configuration.
            createdBy:
              type: string
            createdDate:
              type: string
              format: date-time
            updatedBy:
              type: string
            updatedDate:
              type: string
              format: date-time
            organisationId:
              type: string
    MessageWithTokenResponse:
      type: object
      properties:
        text:
          type: string
        token:
          type: string
        tokenArguments:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssueArgument'
    ValidationIssue:
      type: object
      description: >
        Field validation item. `reasonToken` is a stable snake_case key for i18n
        or custom client messages; `reason` is the default English text from the
        API.
      properties:
        field:
          type: string
          description: Dot-path of the field (e.g. name.firstName, address.line1).
        reason:
          type: string
          description: Default human-readable message.
        reasonToken:
          type: string
          description: Machine-readable error identifier (snake_case).
        reasonTokenArguments:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/ValidationIssueArgument'
    UpdateablePayrollConfigDto:
      type: object
      required:
        - name
        - description
        - payFrequency
      properties:
        name:
          type: string
        description:
          type: string
        payFrequency:
          type: string
          enum:
            - Annual
            - Monthly
            - FourWeekly
            - Fortnightly
            - Weekly
            - Daily
            - Quarterly
            - BiAnnually
        tags:
          type: array
          items:
            $ref: '#/components/schemas/TagDto'
        paymentDateConfig:
          $ref: '#/components/schemas/PaymentDateConfigDto'
        paymentPeriodConfig:
          $ref: '#/components/schemas/PaymentPeriodConfigDto'
        processZeroGrossPayslips:
          type: boolean
          description: >-
            Whether to process payslips with no line items (zero gross).
            Defaults to false.
          default: false
        includeZeroGrossPayslipsInFps:
          type: boolean
          description: >-
            When true (default), payslips with totally-zero values (Gross, Net,
            Tax, Ni etc all 0) are included in FPS preview AND submission. When
            false, they are filtered out of both so HMRC never sees zeroed
            records that have no payment to report. Same flag controls preview
            and submit (single source of truth — no drift).
          default: true
    ValidationIssueArgument:
      type: object
      properties:
        name:
          type: string
        value:
          type: string
    TagDto:
      type: object
      required:
        - name
        - group
        - value
      properties:
        name:
          type: string
          example: FullTime
        group:
          type: string
          example: EmploymentType
        value:
          type: string
          example: FullTime
    PaymentDateConfigDto:
      type: object
      required:
        - payDayType
      properties:
        payDayType:
          type: string
          enum:
            - SameDateEachPeriod
            - LastDayOfPeriod
            - SpecificDayOfWeek
            - SpecificDayOfWeekNearestToDate
            - FirstWorkingDayAfterDate
            - Custom
        dayOfMonth:
          type: integer
          nullable: true
        dayOfWeek:
          type: string
          nullable: true
          enum:
            - Sunday
            - Monday
            - Tuesday
            - Wednesday
            - Thursday
            - Friday
            - Saturday
        weekOfMonth:
          type: integer
          nullable: true
          description: 1=first, 2=second, -1=last, etc.
        month:
          type: integer
          nullable: true
          description: For annual/quarterly configs.
        isWorkingDay:
          type: boolean
        customRuleParams:
          type: string
          nullable: true
        whichWeekInPeriod:
          type: integer
          nullable: true
          description: 1=first, 2=second, -1=last, etc.
    PaymentPeriodConfigDto:
      type: object
      properties:
        startingDayOfMonth:
          type: integer
          nullable: true
          description: >-
            The starting day of the month for monthly based pay frequencies (eg.
            Monthly, Quarterly, Bi-Annually, Annual). It is mandatory for these
            pay frequencies.
          example: 1
        startingDayOfWeek:
          type: string
          nullable: true
          enum:
            - Sunday
            - Monday
            - Tuesday
            - Wednesday
            - Thursday
            - Friday
            - Saturday
          description: >-
            The starting day of the week for weekly based pay frequencies (eg.
            Weekly, Fortnightly, Four Weekly). It is mandatory for these pay
            frequencies.
          example: Monday
        startingDayOfWeekOffSet:
          type: integer
          nullable: true
          description: >-
            The offset for the starting week. For example, if its value is -2,
            and the startingDayOfWeek is Monday, then it will refer back to the
            previous Monday. Only allowed values are -2, 0, and 2.
          example: 0
        startingDayOfMonthOffSet:
          type: integer
          nullable: true
          description: >-
            The offset, in months, applied to the reference period for the
            Monthly pay frequency. For example, -1 shifts the reference period
            back one month (pay in arrears) and +1 shifts it forward (advance).
            Only used for the Monthly pay frequency. Allowed values are -2 to 2;
            defaults to 0 (current tax month).
          example: 0
  securitySchemes:
    XAuthToken:
      type: apiKey
      in: header
      name: X-Auth-Token
      description: Access token obtained from OAuth2 client credentials flow
    XOrgId:
      type: apiKey
      in: header
      name: X-Org-Id
      description: >-
        Organisation to scope the request to. Required when the principal can
        access more than one organisation; optional for single-organisation
        principals (the authorizer resolves it automatically).

````