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

# Create a Tilt

> Create an unevaluated rules-based equity draft.



## OpenAPI

````yaml api-reference/index-construction-preview-openapi.yaml POST /api/v1/tilts
openapi: 3.1.0
info:
  title: 'Tilt Index Construction API: Design Preview'
  version: 0.4.0-design-preview
  summary: >-
    A restrained public projection of Tilt's existing index construction
    workflow.
  description: |
    A Tilt is a persistent project for one index methodology. Its construction
    rules are the source, evaluated constituent snapshots are the build
    artifacts, and methodology history is version history. This bounded
    repository analogy does not imply branches, forks, merges, or cloning.

    This contract covers rules-based equity construction only. Applying
    construction saves the rules, evaluates them, and commits the complete
    weighted constituent snapshot atomically.
servers:
  - url: https://x.invalid
    description: Non-routable design preview
security:
  - ApiKey: []
tags:
  - name: Tilts
    description: Organization-owned Tilt projects and versions.
  - name: Construction
    description: Apply methodology and read its saved weighted evaluation.
  - name: Catalog
    description: >-
      Discover fields, functions, universes, and classifications used in
      expressions.
  - name: Tickers
    description: Resolve security identifiers to exact Tilt asset IDs.
  - name: Backtests
    description: Backtest a saved Tilt using its configured rebalance behavior.
paths:
  /api/v1/tilts:
    post:
      tags:
        - Tilts
      summary: Create a rules-based equity draft
      description: |
        Creates an unevaluated draft in the API key's organization. Omitted
        `universe_preset` defaults to `us_default`. Apply and evaluate its
        methodology with `PATCH /api/v1/tilts/{tilt_uuid}`.
      operationId: createTilt
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TiltCreateRequest'
            example:
              name: Quality Growth
              universe_preset: us_investable
      responses:
        '201':
          description: The unevaluated draft was created.
          headers:
            Location:
              schema:
                type: string
                format: uri
              description: URL of the created Tilt version.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TiltCreateResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    TiltCreateRequest:
      type: object
      additionalProperties: false
      required:
        - name
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 256
        universe_preset:
          type: string
          minLength: 1
          default: us_default
          description: A live preset ID returned by the universe presets endpoint.
    TiltCreateResponse:
      type: object
      additionalProperties: false
      required:
        - uuid
        - version_group_sqid
        - revision
        - name
        - universe_preset
      properties:
        uuid:
          type: string
          format: uuid
          description: Address of this draft version.
        version_group_sqid:
          type: string
          description: Stable identifier shared by versions of this Tilt project.
        revision:
          type: string
          format: date-time
        name:
          type: string
        universe_preset:
          type: string
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          additionalProperties: false
          required:
            - code
            - message
          properties:
            code:
              type: string
            message:
              type: string
  responses:
    BadRequest:
      description: The request is invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: The API key is missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: X-Api-Key

````