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

# Create a preset

> Create a preset, ATOMIC: ordered name pre-checks run BEFORE any store write,
then the base rule + agent-authoring + combo/schema/bind validation, then the
store write THEN register (rolling the row fully back on a register failure), one
``list_changed``, and the bus rebind fan-out.



## OpenAPI

````yaml /openapi.json post /api/presets
openapi: 3.1.0
info:
  description: The operator HTTP surface served under /api/*.
  title: tai42-skeleton API
  version: 0.1.1
servers: []
security: []
paths:
  /api/presets:
    post:
      tags:
        - presets
      summary: Create a preset
      description: >-
        Create a preset, ATOMIC: ordered name pre-checks run BEFORE any store
        write,

        then the base rule + agent-authoring + combo/schema/bind validation,
        then the

        store write THEN register (rolling the row fully back on a register
        failure), one

        ``list_changed``, and the bus rebind fan-out.
      operationId: post_api_presets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PresetCreate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data: {}
                required:
                  - data
                type: object
          description: Success.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Malformed request.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Missing or invalid api key.
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Conflict with the current resource state.
        '503':
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ReloadingError'
                  - $ref: '#/components/schemas/Error'
          description: >-
            The server is applying a config reload, or a dependency this route
            needs is temporarily unavailable; retry shortly.
          headers:
            Retry-After:
              description: >-
                Seconds to wait before retrying; carried by the reloading
                answer.
              schema:
                type: integer
      security:
        - ApiKeyAuth: []
components:
  schemas:
    PresetCreate:
      description: >-
        A preset-creation request. ``extensions`` is the list of extension
        combos

        (each element an extension name or a ``{"name", "config"}`` mapping
        binding

        author config). ``output_schema`` is the optional author-set OUTPUT JSON

        Schema (an object schema).
      properties:
        base_tool:
          title: Base Tool
          type: string
        description:
          default: ''
          title: Description
          type: string
        extensions:
          default: []
          items:
            items:
              anyOf:
                - type: string
                - additionalProperties: true
                  type: object
            type: array
          title: Extensions
          type: array
        fixed_kwargs:
          additionalProperties: true
          default: {}
          title: Fixed Kwargs
          type: object
        name:
          title: Name
          type: string
        output_schema:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          default: null
          title: Output Schema
        tags:
          default: []
          items:
            type: string
          title: Tags
          type: array
      required:
        - name
        - base_tool
      title: PresetCreate
      type: object
    Error:
      properties:
        error:
          type: string
      required:
        - error
      type: object
    ReloadingError:
      properties:
        error:
          const: reloading — the server is applying a config reload; retry shortly
          type: string
        reloading:
          const: true
          type: boolean
      required:
        - error
        - reloading
      type: object
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: x-api-key
      type: apiKey

````