> ## 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.

# Get contract types creation form

> Returns the smart-fields and json-rules-engine rules used when creating a contract for this type, optionally scoped to a template.



## OpenAPI

````yaml /openapi-2025-01-15.init.json get /contract-types/{id}/creation-form
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/{id}/creation-form:
    get:
      tags:
        - Contract Types
      summary: Get contract types creation form
      description: >-
        Returns the smart-fields and json-rules-engine rules used when creating
        a contract for this type, optionally scoped to a template.
      operationId: ContractTypeController_getContractCreationForm
      parameters:
        - name: id
          required: true
          in: path
          description: The unique identifier (UUID) of the contract type
          schema:
            example: 550e8400-e29b-41d4-a716-446655440000
            type: string
        - name: templateId
          required: false
          in: query
          description: >-
            Optional template id to scope conditions (e.g. template-based
            mandatory fields).
          schema:
            example: 550e8400-e29b-41d4-a716-446655440000
            type: string
      responses:
        '200':
          description: Creation form fields and rules
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractCreationFormResponseDto'
        '401':
          description: Unauthorized - Invalid or missing API key
        '403':
          description: Forbidden - Insufficient permissions
        '404':
          description: Contract type or template not found
        '429':
          description: Too Many Requests - Rate limit exceeded
      security:
        - X-API-KEY: []
components:
  schemas:
    ContractCreationFormResponseDto:
      type: object
      properties:
        fields:
          description: >-
            Fields to collect when creating a contract of this type (and
            optional template).
          example:
            - smartFieldId: 550e8400-e29b-41d4-a716-446655440000
              typeAttributeId: 650e8400-e29b-41d4-a716-446655440001
              reasons:
                - explicitMandatory
              required: true
          type: array
          items:
            $ref: '#/components/schemas/ContractCreationFormFieldDto'
        fieldsCount:
          type: number
          description: Number of fields (same as `fields.length`).
          example: 3
        rules:
          type: array
          description: Json-rules-engine rule definitions applied to the creation form.
          items:
            type: object
            additionalProperties: true
          example:
            - conditions:
                all: []
              event:
                type: noop
      required:
        - fields
        - fieldsCount
        - rules
    ContractCreationFormFieldDto:
      type: object
      properties:
        smartFieldId:
          type: string
          description: Identifier of the smart field (attribute definition id).
          example: 550e8400-e29b-41d4-a716-446655440000
        typeAttributeId:
          type: string
          description: >-
            Identifier of the type attribute row for this smart field on the
            contract type.
          example: 650e8400-e29b-41d4-a716-446655440001
        reasons:
          type: array
          description: Why this field appears on the creation form.
          example:
            - explicitMandatory
          items:
            type: string
            enum:
              - explicitMandatory
              - mandatoryForStorage
              - templateCondition
              - participantCondition
              - attachmentCondition
              - workflowCondition
              - dynamicFolderName
              - dynamicProjectName
              - pendingOroExtraction
              - impliedByRule
        required:
          type: boolean
          description: Whether the field is required for contract creation.
          example: true
        value:
          type: string
          description: >-
            Current value when applicable (creation form usually has no value
            yet).
          nullable: true
          example: null
        defaultValue:
          type: string
          description: Default value from type attribute settings.
          nullable: true
          example: null
        attributeDefinition:
          description: Full smart-field definition (attribute definition).
          example:
            id: 550e8400-e29b-41d4-a716-446655440000
            name: Department
            description: The department of the employee.
            type: text
            required: true
            defaultValue: null
          allOf:
            - $ref: '#/components/schemas/SmartFieldResponseDto'
      required:
        - smartFieldId
        - typeAttributeId
        - reasons
        - required
        - value
        - defaultValue
        - attributeDefinition
    SmartFieldResponseDto:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the smart field.
          example: 550e8400-e29b-41d4-a716-446655440000
        name:
          type: string
          description: The display name of the smart field.
          example: Contract Value
        type:
          type: string
          description: |-
            The data type of the smart field.

            - `string`: Free-text field.
            - `number`: Numeric value.
            - `date`: Date value.
            - `select`: Single-choice dropdown.
            - `multiselect`: Multi-choice dropdown.
            - `duration`: Time duration.
            - `file`: File attachment.
            - `rich_text`: Rich text content.
          enum:
            - string
            - number
            - date
            - select
            - duration
            - multiselect
            - file
            - rich_text
          example: string
        options:
          description: >-
            Available options. Only present for `select` and `multiselect`
            types.
          type: array
          items:
            $ref: '#/components/schemas/SmartFieldOptionDto'
      required:
        - id
        - name
        - type
    SmartFieldOptionDto:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the option.
          example: 550e8400-e29b-41d4-a716-446655440001
        translations:
          description: Translated labels for this option.
          example:
            - language: fr
              value: Technology
          type: array
          items:
            $ref: '#/components/schemas/SmartFieldOptionTranslationDto'
        integrationMappings:
          description: Integration mappings for this option.
          example:
            - type: hubspot
              externalId: industry_tech
          type: array
          items:
            $ref: '#/components/schemas/SmartFieldOptionIntegrationMappingDto'
      required:
        - id
        - translations
        - integrationMappings
    SmartFieldOptionTranslationDto:
      type: object
      properties:
        language:
          type: string
          description: Language code.
          enum:
            - fr
            - gb
            - us
            - es
            - de
            - it
            - nl
            - ru
            - pt
            - br
            - jp
            - gr
            - pl
            - si
            - id
            - zh-cn
            - zh-tw
            - hi
            - vi
            - uk
            - th
            - bg
            - hr
            - dk
            - ee
            - fi
            - hu
            - ie
            - lv
            - lt
            - ro
            - sk
            - se
            - cz
            - 'no'
            - uz
            - tj
            - at
            - is
            - rs
          example: gb
        value:
          type: string
          description: Translated label for this option.
          example: Technology
      required:
        - language
        - value
    SmartFieldOptionIntegrationMappingDto:
      type: object
      properties:
        type:
          type: string
          description: Integration type.
          enum:
            - import
            - generation
            - outlook
            - gmail
            - salesforce
            - hubspot
            - app
          example: hubspot
        externalId:
          type: string
          description: External identifier for this option in the integration.
          example: industry_tech
      required:
        - type
        - externalId
  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

````