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

# List contracts

> Returns contracts for the company linked to the OAuth application, including the contractor, employer, and assigned team. Results are limited to contracts the authenticated company can access. Filter by one or more statuses and paginate with `page` and `itemsPerPage`.



## OpenAPI

````yaml /openapi.json get /contracts
openapi: 3.0.0
info:
  title: goLance External API
  version: 1.0.0
servers:
  - url: https://external-api.golance.com
security: []
paths:
  /contracts:
    get:
      tags:
        - Contracts
      summary: List contracts
      description: >-
        Returns contracts for the company linked to the OAuth application,
        including the contractor, employer, and assigned team. Results are
        limited to contracts the authenticated company can access. Filter by one
        or more statuses and paginate with `page` and `itemsPerPage`.
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - disputing
                - closed
                - pending
                - paused
                - open
            description: Filter by contract status
            example:
              - open
              - pending
          required: false
          name: statuses
          in: query
        - schema:
            type: integer
            minimum: 1
            default: 1
            example: 1
          required: false
          name: page
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 1000
            default: 100
            example: 100
          required: false
          name: itemsPerPage
          in: query
      responses:
        '200':
          description: >-
            A paginated list of contracts. If the caller has no accessible
            company, `results` is empty.
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        title:
                          type: string
                        status:
                          type: string
                          enum:
                            - disputing
                            - closed
                            - pending
                            - paused
                            - open
                        contractor:
                          type: object
                          properties:
                            id:
                              type: string
                            firstName:
                              type: string
                            lastName:
                              type: string
                          required:
                            - id
                        employer:
                          type: object
                          properties:
                            id:
                              type: string
                            firstName:
                              type: string
                            lastName:
                              type: string
                          required:
                            - id
                        team:
                          type: object
                          nullable: true
                          properties:
                            id:
                              type: string
                            name:
                              type: string
                          required:
                            - id
                      required:
                        - id
                        - status
                        - team
                  pagination:
                    type: object
                    properties:
                      currentPage:
                        type: number
                      itemsPerPage:
                        type: number
                      pagesCount:
                        type: number
                      totalCount:
                        type: number
                    required:
                      - currentPage
                      - itemsPerPage
                      - pagesCount
                      - totalCount
                required:
                  - results
                  - pagination
        '400':
          description: >-
            The request body or query parameters failed validation. Returns
            `validation_error` and field-level `details`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code
                  message:
                    type: string
                    description: Human-readable error message
                  details:
                    type: object
                    additionalProperties:
                      nullable: true
                    description: Field-level validation errors
                required:
                  - error
                  - message
        '401':
          description: >-
            Authentication failed. The Bearer token is missing, invalid,
            expired, or not associated with a user. Common codes:
            `missing_token`, `invalid_token`, `unauthorized`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code
                  message:
                    type: string
                    description: Human-readable error message
                  details:
                    type: object
                    additionalProperties:
                      nullable: true
                    description: Field-level validation errors
                required:
                  - error
                  - message
        '403':
          description: >-
            The token was accepted, but the caller is not allowed to access this
            resource. Common codes: `forbidden`, `inactive_user`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code
                  message:
                    type: string
                    description: Human-readable error message
                  details:
                    type: object
                    additionalProperties:
                      nullable: true
                    description: Field-level validation errors
                required:
                  - error
                  - message
        '429':
          description: >-
            The client exceeded the rate limit of 200 requests per minute per IP
            address. Returns `rate_limited`. Wait for the `Retry-After` header
            before retrying.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code
                  message:
                    type: string
                    description: Human-readable error message
                  details:
                    type: object
                    additionalProperties:
                      nullable: true
                    description: Field-level validation errors
                required:
                  - error
                  - message
        '500':
          description: >-
            An unexpected error occurred while processing the request. Returns
            `internal_error`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine-readable error code
                  message:
                    type: string
                    description: Human-readable error message
                  details:
                    type: object
                    additionalProperties:
                      nullable: true
                    description: Field-level validation errors
                required:
                  - error
                  - message
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````