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

# List Payment Contracts

> This method allows you to list all payment contracts with optional pagination and filtering

<Card title="Scheduled Payments Guide" icon="book" href="/guides/rest-api/scheduled-payments">
  Complete guide with examples, contract lifecycle and timezone handling
</Card>


## OpenAPI

````yaml get /PaymentContract
openapi: 3.0.4
info:
  title: Orchestra API
  description: Code Version 1.0.13.1
  version: Prod
servers:
  - url: https://api.orchestrasolutions.com
security: []
tags:
  - name: AP2
    description: Test AP2 controller
  - name: EWalletOperations
    description: Card operations controller
  - name: MockCredentialProvider
    description: |-
      Mock Credential Provider controller implementing JSON-RPC 2.0 protocol
      Used for testing AP2 checkout flows
  - name: PaymentContract
    description: Payment Contracts - Manage individual scheduled payment arrangements
  - name: PaymentGatewayAccounts
    description: Payment Gateway Accounts
  - name: PaymentGateway
    description: Universal Payment Gateway
  - name: Utils
    description: Utils
  - name: Tools
    description: Tools
  - name: StringTokens
    description: Token management
paths:
  /PaymentContract:
    get:
      tags:
        - PaymentContract
      summary: List Payment Contracts
      description: >-
        This method allows you to list all payment contracts with optional
        pagination and filtering
      operationId: ListContracts
      parameters:
        - name: templateId
          in: query
          description: Optional template ID filter
          schema:
            type: string
            format: uuid
        - name: status
          in: query
          description: Optional status filter
          schema:
            $ref: '#/components/schemas/PayTools_Shared.Enums.PaymentContractStatus'
        - name: pageNumber
          in: query
          description: 'Page number (1-indexed, default: 1)'
          schema:
            maximum: 2147483647
            minimum: 1
            type: integer
            format: int32
        - name: pageSize
          in: query
          description: 'Page size (default: 20, max: 100)'
          schema:
            maximum: 100
            minimum: 1
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/PayTools_Shared.Models.PaginatedListModel1PayTools_Api.Models.PaymentContractBriefOutputModelPayToolsApiVersion1.0.13.1CultureneutralPublicKeyTokennull
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/PayTools_Shared.Models.ValidationErrorMessage
        '401':
          description: Not authenticated
      security:
        - {}
components:
  schemas:
    PayTools_Shared.Enums.PaymentContractStatus:
      enum:
        - Active
        - Paused
        - Cancelled
        - Completed
      type: string
      description: Status of a payment contract
    PayTools_Shared.Models.PaginatedListModel1PayTools_Api.Models.PaymentContractBriefOutputModelPayToolsApiVersion1.0.13.1CultureneutralPublicKeyTokennull:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: >-
              #/components/schemas/PayTools_Api.Models.PaymentContractBriefOutputModel
          description: List of items for current page
          nullable: true
        totalCount:
          type: integer
          description: Total count of items across all pages
          format: int32
        pageNumber:
          type: integer
          description: Current page number (1-indexed)
          format: int32
        pageSize:
          type: integer
          description: Page size
          format: int32
        totalPages:
          type: integer
          description: Total number of pages
          format: int32
          readOnly: true
        hasNextPage:
          type: boolean
          description: Whether there is a next page
          readOnly: true
        hasPreviousPage:
          type: boolean
          description: Whether there is a previous page
          readOnly: true
      additionalProperties: false
      description: Paginated list response
    PayTools_Shared.Models.ValidationErrorMessage:
      type: object
      properties:
        fieldName:
          type: string
          description: Field name the error(s) are referring to
          nullable: true
        errors:
          type: array
          items:
            type: string
          description: List of errors
          nullable: true
      additionalProperties: false
      description: Model for display validation error messages
    PayTools_Api.Models.PaymentContractBriefOutputModel:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier
          format: uuid
        templateId:
          type: string
          description: Reference to template this contract is based on
          format: uuid
        templateName:
          type: string
          description: Template name
          nullable: true
        name:
          type: string
          description: User-friendly contract name
          nullable: true
        startDate:
          type: string
          description: When payments should begin
          format: date-time
        endDate:
          type: string
          description: Optional end date
          format: date-time
          nullable: true
        maxOccurrences:
          type: integer
          description: Optional maximum number of payments
          format: int32
          nullable: true
        currentOccurrences:
          type: integer
          description: Number of successful payments executed
          format: int32
        nextPaymentDate:
          type: string
          description: Next scheduled payment date
          format: date-time
          nullable: true
        status:
          $ref: '#/components/schemas/PayTools_Shared.Enums.PaymentContractStatus'
        createdAt:
          type: string
          description: Creation timestamp
          format: date-time
        updatedAt:
          type: string
          description: Last update timestamp
          format: date-time
        lastExecutedAt:
          type: string
          description: Timestamp of last successful payment execution
          format: date-time
          nullable: true
      additionalProperties: false
      description: Brief output model for listing payment contracts

````