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

# Get Payment Items

> Retrieve a payment item by paymentItemID, or list payment items for a company, optionally filtered by contractor, contractor payment, or service type.

This endpoint serves two usages on the same path. Pass `paymentItemID` to retrieve a single [Payment Item](/reference/payment-items/payment-item-object). Omit `paymentItemID` to list payment items; you can optionally pass `contractorID`, `contractorPaymentID`, or `serviceTypeID` to filter that list.

When `paymentItemID` is present, list filters (`contractorID`, `contractorPaymentID`, `serviceTypeID`) and pagination parameters are ignored.

Listing responses include `meta` with `next`, `previous`, and `totalCount`.


## OpenAPI

````yaml openapi/zeal-api.json get /payment-items
openapi: 3.1.0
info:
  title: zeal-api
  version: '1.0'
servers:
  - url: https://api.zeal.com
security:
  - sec0: []
paths:
  /payment-items:
    get:
      summary: Get Payment Items
      description: >-
        Retrieve a payment item by paymentItemID, or list payment items for the
        authenticated company.
      operationId: get-payment-items
      parameters:
        - name: paymentItemID
          in: query
          required: false
          description: >-
            ID of the payment item to retrieve. When present, the endpoint
            returns that single payment item and list filters are ignored.
          schema:
            type: string
        - name: contractorID
          in: query
          required: false
          description: >-
            When listing payment items (omit `paymentItemID`), filter to this
            contractor. Ignored when `paymentItemID` is present.
          schema:
            type: string
        - name: contractorPaymentID
          in: query
          required: false
          description: >-
            When listing payment items (omit `paymentItemID`), filter to this
            contractor payment. Ignored when `paymentItemID` is present.
          schema:
            type: string
        - name: serviceTypeID
          in: query
          required: false
          description: >-
            When listing payment items (omit `paymentItemID`), filter to items
            whose `work_info.serviceTypeID` matches this value. Ignored when
            `paymentItemID` is present.
          schema:
            type: string
        - name: limit
          in: query
          required: false
          description: >-
            Number of payment items returned per page. Minimum 1, maximum 100.
            Defaults to 25. Ignored when `paymentItemID` is present.
          schema:
            type: number
            minimum: 1
            maximum: 100
        - name: start_at
          in: query
          required: false
          description: >-
            The pagination cursor to start at. Ignored when `paymentItemID` is
            present.
          schema:
            type: string
        - name: sort_by
          in: query
          required: false
          description: >-
            Field to sort by when listing. Defaults to `_id`. Ignored when
            `paymentItemID` is present.
          schema:
            type: string
        - name: sort_direction
          in: query
          required: false
          description: >-
            Sort direction when listing. Defaults to `desc`. Ignored when
            `paymentItemID` is present.
          schema:
            type: string
            enum:
              - asc
              - desc
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  testMode:
                    type: boolean
                  data:
                    description: >-
                      A Payment Item object, or an array of Payment Item objects
                      when listing
                  meta:
                    type: object
                    description: >-
                      Present when listing (`paymentItemID` omitted). Contains
                      `next`, `previous`, and `totalCount`.
              examples:
                Retrieve one payment item:
                  summary: Retrieve one payment item
                  value:
                    success: true
                    testMode: false
                    data:
                      paymentItemID: 0083fb3bae9d4915adc133c6d6548f89
                      companyID: fc235f012bae46aa8a082f357715bcfa
                      contractorID: 669fe6216d9eff8ca4c9f0de
                      contractorPaymentID: 68ffb95239326ca8713eadb1
                      work_info:
                        work_description: Construction development work
                        service_date: '2025-10-15T00:00:00.000Z'
                      earning_type: hourly
                      category: regular
                      quantity: 25
                      rate: 100
                      rate_unit: hour
                      bill_rate: 175
                      metadata:
                        jobID: '19834673'
                        description: Piecework pay
                List payment items:
                  summary: List payment items
                  value:
                    success: true
                    testMode: false
                    data:
                      - paymentItemID: 0083fb3bae9d4915adc133c6d6548f89
                        companyID: fc235f012bae46aa8a082f357715bcfa
                        contractorID: 669fe6216d9eff8ca4c9f0de
                        contractorPaymentID: 68ffb95239326ca8713eadb1
                        work_info:
                          work_description: Construction development work
                          service_date: '2025-10-15T00:00:00.000Z'
                        earning_type: hourly
                        category: regular
                        quantity: 25
                        rate: 100
                        rate_unit: hour
                        bill_rate: 175
                        metadata:
                          jobID: '19834673'
                          description: Piecework pay
                    meta:
                      next: null
                      previous: null
                      totalCount: 1
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                        code:
                          type: integer
              examples:
                Not Found:
                  summary: Not Found
                  value:
                    success: false
                    errors:
                      - message: Payment item not found
                        code: 135
components:
  securitySchemes:
    sec0:
      type: apiKey
      in: header
      name: Authorization
      x-bearer-format: bearer

````