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

# Submit Jobs



## OpenAPI

````yaml POST /jobs
openapi: 3.1.0
info:
  title: Tetryx Lynx Coordinator API
  description: HTTP API for Lynx job submission, batch inspection, and runner coordination.
  license:
    name: ''
  version: 0.1.0
servers: []
security: []
paths:
  /jobs:
    post:
      tags:
        - jobs
      operationId: submit_jobs
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubmitJobsRequest'
        required: true
      responses:
        '200':
          description: Submit a new batch of jobs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmitJobsResponse'
components:
  schemas:
    SubmitJobsRequest:
      type: object
      required:
        - name
        - config
      properties:
        config:
          $ref: '#/components/schemas/LynxConfig'
        name:
          type: string
        runs_override:
          type:
            - integer
            - 'null'
          format: int32
          minimum: 0
    SubmitJobsResponse:
      type: object
      required:
        - batch_id
        - total_jobs
      properties:
        batch_id:
          type: string
          format: uuid
        estimated_completion_time_mins:
          type:
            - integer
            - 'null'
          format: int32
          minimum: 0
        total_jobs:
          type: integer
          format: int32
          minimum: 0
    LynxConfig:
      type: object
      required:
        - simulation
        - monte_carlo
        - compute
        - dispersions
        - early_termination
        - telemetry
      properties:
        compute:
          $ref: '#/components/schemas/ComputeConfig'
        dispersions:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/DispersionConfig'
          propertyNames:
            type: string
        early_termination:
          $ref: '#/components/schemas/EarlyTerminationConfig'
        monte_carlo:
          $ref: '#/components/schemas/MonteCarloConfig'
        simulation:
          $ref: '#/components/schemas/SimulationConfig'
        telemetry:
          $ref: '#/components/schemas/TelemetryConfig'
    ComputeConfig:
      type: object
      required:
        - container
        - max_parallel_jobs
        - job_timeout_seconds
      properties:
        baremetal:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/BareMetalConfig'
        container:
          $ref: '#/components/schemas/ContainerConfig'
        job_timeout_seconds:
          type: integer
          format: int32
          minimum: 0
        kubernetes:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/KubernetesConfig'
        max_parallel_jobs:
          type: integer
          format: int32
          minimum: 0
    DispersionConfig:
      type: object
      required:
        - distribution
        - units
      properties:
        distribution:
          $ref: '#/components/schemas/DistributionType'
        units:
          type: string
    EarlyTerminationConfig:
      type: object
      required:
        - enabled
        - conditions
        - check_frequency_hz
      properties:
        check_frequency_hz:
          type: number
          format: double
        conditions:
          type: array
          items:
            $ref: '#/components/schemas/TerminationCondition'
        enabled:
          type: boolean
    MonteCarloConfig:
      type: object
      required:
        - runs
        - sampling_method
      properties:
        runs:
          type: integer
          format: int32
          minimum: 0
        sampling_method:
          $ref: '#/components/schemas/SamplingMethod'
        seed:
          type:
            - integer
            - 'null'
          format: int64
          minimum: 0
    SimulationConfig:
      type: object
      required:
        - duration_minutes
        - name
        - version
      properties:
        duration_minutes:
          type: integer
          format: int32
          minimum: 0
        name:
          type: string
        version:
          type: string
    TelemetryConfig:
      type: object
      required:
        - sampling_rate_hz
        - variables
        - storage
        - buffer_flush_interval_seconds
      properties:
        buffer_flush_interval_seconds:
          type: integer
          format: int32
          minimum: 0
        sampling_rate_hz:
          type: number
          format: double
        storage:
          $ref: '#/components/schemas/StorageConfig'
        variables:
          type: array
          items:
            type: string
    BareMetalConfig:
      type: object
      properties:
        max_parallel_processes:
          type:
            - integer
            - 'null'
          format: int32
          minimum: 0
        ssh_hosts:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/SshHostConfig'
        working_directory:
          type:
            - string
            - 'null'
    ContainerConfig:
      type: object
      required:
        - image
        - cpu_request
        - memory_request
      properties:
        cpu_limit:
          type:
            - string
            - 'null'
        cpu_request:
          type: string
        environment:
          type:
            - object
            - 'null'
          additionalProperties:
            type: string
          propertyNames:
            type: string
        image:
          type: string
        memory_limit:
          type:
            - string
            - 'null'
        memory_request:
          type: string
    KubernetesConfig:
      type: object
      required:
        - namespace
        - cluster_name
      properties:
        cluster_name:
          type: string
        namespace:
          type: string
        node_selectors:
          type:
            - object
            - 'null'
          additionalProperties:
            type: string
          propertyNames:
            type: string
        tolerations:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/TolerationConfig'
    DistributionType:
      oneOf:
        - type: object
          required:
            - mean
            - std_dev
            - type
          properties:
            mean:
              type: number
              format: double
            std_dev:
              type: number
              format: double
            type:
              type: string
              enum:
                - normal
        - type: object
          required:
            - min
            - max
            - type
          properties:
            max:
              type: number
              format: double
            min:
              type: number
              format: double
            type:
              type: string
              enum:
                - uniform
        - type: object
          required:
            - lambda
            - type
          properties:
            lambda:
              type: number
              format: double
            type:
              type: string
              enum:
                - exponential
        - type: object
          required:
            - shape
            - scale
            - type
          properties:
            scale:
              type: number
              format: double
            shape:
              type: number
              format: double
            type:
              type: string
              enum:
                - gamma
        - type: object
          required:
            - alpha
            - beta
            - type
          properties:
            alpha:
              type: number
              format: double
            beta:
              type: number
              format: double
            type:
              type: string
              enum:
                - beta
        - type: object
          required:
            - value
            - type
          properties:
            type:
              type: string
              enum:
                - fixed
            value:
              type: number
              format: double
    TerminationCondition:
      type: object
      required:
        - variable
        - condition
        - description
      properties:
        condition:
          type: string
        description:
          type: string
        variable:
          type: string
    SamplingMethod:
      type: string
      enum:
        - latin_hypercube
        - monte_carlo
        - quasi_monte_carlo
    StorageConfig:
      type: object
      required:
        - s3_bucket
        - s3_prefix
        - compression
      properties:
        compression:
          $ref: '#/components/schemas/CompressionType'
        s3_bucket:
          type: string
        s3_prefix:
          type: string
    SshHostConfig:
      type: object
      required:
        - host
        - cores
      properties:
        cores:
          type: integer
          format: int32
          minimum: 0
        host:
          type: string
        ssh_key_path:
          type:
            - string
            - 'null'
        username:
          type:
            - string
            - 'null'
    TolerationConfig:
      type: object
      required:
        - key
        - operator
        - effect
      properties:
        effect:
          type: string
        key:
          type: string
        operator:
          type: string
        value:
          type:
            - string
            - 'null'
    CompressionType:
      type: string
      enum:
        - none
        - gzip
        - snappy
        - lz4

````