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

# List contract types

> Returns a paginated list of contract types in your organization with their type-level smart-fields and whether each type has templates. Supports filtering by published status.



## OpenAPI

````yaml /openapi-2025-01-15.init.json get /contract-types
openapi: 3.0.0
info:
  title: Tomorro API
  description: >
    The Tomorro Public API enables you to programmatically manage contracts,
    members, and counterparties. Build powerful integrations that automate your
    contract management workflows.


    ## API Version: 2025-01-15.init


    This documentation is for API version `2025-01-15.init`.


    > **Warning:** This version is deprecated. This version is deprecated.
    Please upgrade to 2025-01-29.alpha.


    ### Using this version

    ```

    curl -X GET https://api.tomorro.com/members \
      -H "x-api-key: YOUR_API_KEY" \
      -H "tomorro-version: 2025-01-15.init"
    ```
  version: 2025-01-15.init
  contact: {}
servers:
  - url: https://api.tomorro.com/v2
    description: Production
  - url: https://api.demo.tomorro.com/v2
    description: Demo
  - url: http://localhost:3015
    description: Local Development
security: []
tags: []
paths:
  /contract-types:
    get:
      tags:
        - Contract Types
      summary: List contract types
      description: >-
        Returns a paginated list of contract types in your organization with
        their type-level smart-fields and whether each type has templates.
        Supports filtering by published status.
      operationId: ContractTypeController_listContractTypes
      parameters:
        - name: limit
          required: false
          in: query
          description: Number of items per page (1-50)
          schema:
            minimum: 1
            maximum: 50
            default: 20
            example: 20
            type: number
        - name: after
          required: false
          in: query
          description: >-
            Cursor for forward pagination. Use the `next_cursor` value from a
            previous response.
          schema:
            example: eyJpZCI6IjEyMyJ9
            type: string
        - name: before
          required: false
          in: query
          description: >-
            Cursor for backward pagination. Use the `prev_cursor` value from a
            previous response.
          schema:
            example: eyJpZCI6IjEwMCJ9
            type: string
        - name: isPublished
          required: false
          in: query
          description: >-
            Filter by published status. `true` returns only published types,
            `false` returns only drafts.
          schema:
            example: 'true'
            type: string
      responses:
        '200':
          description: List of contract types
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractTypeListResponseDto'
        '401':
          description: Unauthorized - Invalid or missing API key
        '403':
          description: Forbidden - Insufficient permissions
        '429':
          description: Too Many Requests - Rate limit exceeded
      security:
        - X-API-KEY: []
components:
  schemas:
    ContractTypeListResponseDto:
      type: object
      properties:
        contractTypes:
          description: An array of Contract Type objects.
          example:
            - id: 550e8400-e29b-41d4-a716-446655440000
              name: Service Agreement
              smartFields: []
              hasTemplates: true
          type: array
          items:
            $ref: '#/components/schemas/ContractTypeResponseDto'
        hasNext:
          type: boolean
          description: >-
            Whether there are more results available after this page. If `true`,
            you can use the `after` cursor to fetch the next page.
          example: true
        hasPrevious:
          type: boolean
          description: >-
            Whether there are results available before this page. If `true`, you
            can use the `before` cursor to fetch the previous page.
          example: false
      required:
        - contractTypes
        - hasNext
        - hasPrevious
    ContractTypeResponseDto:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the contract type.
          example: 550e8400-e29b-41d4-a716-446655440000
        name:
          type: string
          description: Name of the contract type.
          nullable: true
          example: Service Agreement
        smartFields:
          description: Type-level smart-fields associated with this contract type.
          example:
            - id: 550e8400-e29b-41d4-a716-446655440000
              name: Contract Start Date
              value: '2024-01-01'
              isMandatory: true
          type: array
          items:
            $ref: '#/components/schemas/ContractTypeSmartFieldDto'
        hasTemplates:
          type: boolean
          description: >-
            Whether this contract type has at least one template. Call
            get_contract_type_templates for details.
          example: true
      required:
        - id
        - name
        - smartFields
        - hasTemplates
    ContractTypeSmartFieldDto:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the smart-field.
          example: 550e8400-e29b-41d4-a716-446655440000
        name:
          type: string
          description: Display name of the smart-field.
          example: Contract Start Date
        defaultValue:
          type: string
          description: Default value of the smart-field, if any.
          nullable: true
          example: '2024-01-01'
        isMandatory:
          type: boolean
          description: Whether this smart-field is mandatory for contract creation.
          example: true
      required:
        - id
        - name
        - defaultValue
        - isMandatory
  securitySchemes:
    X-API-KEY:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        API key for authentication. Get your key at
        https://app.tomorro.com/settings/integrations?integration=api-key

````