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

# Schedule a new task

> Creates a new Data Processor task of verified custom module execution with Atlantic submission and on-chain commitment. The task will be queued for processing through the HDP pipeline: dry run, chain proofs fetch, trace generation, Atlantic proving, and finally on-chain decommitment.



## OpenAPI

````yaml /data-processor-api/openapi/openapi-hdp-server.json post /tasks
openapi: 3.1.0
info:
  title: Herodotus Data Processor Server API
  description: API documentation for the Herodotus Data Processor Server
  license:
    name: ''
  version: 1.0.0
servers:
  - url: https://staging.hdp.api.herodotus.cloud
    description: Staging API endpoint
security: []
tags:
  - name: tasks
    description: Task management endpoints
  - name: health
    description: Health check endpoints
  - name: modules
    description: Module registry endpoints
paths:
  /tasks:
    post:
      tags:
        - tasks
      summary: Schedule a new task
      description: >-
        Creates a new Data Processor task of verified custom module execution
        with Atlantic submission and on-chain commitment. The task will be
        queued for processing through the HDP pipeline: dry run, chain proofs
        fetch, trace generation, Atlantic proving, and finally on-chain
        decommitment.
      operationId: createTask
      requestBody:
        description: >-
          Task creation request with destination chain, compiled module, and
          execution parameters
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Task'
            example:
              destination_chain_id: '0x534e5f5345504f4c4941'
              input:
                compiled_class:
                  bytecode:
                    - '0x480680017fff8000'
                    - '0x1'
                    - ...
                  bytecode_segment_lengths:
                    - 100
                  compiler_version: 2.6.0
                  entry_points_by_type:
                    CONSTRUCTOR: []
                    EXTERNAL:
                      - builtins:
                          - range_check
                          - pedersen
                        offset: 0
                        selector: >-
                          0x362398bec32bc0ebb411203221a35a0301193a96f317ebe5e40be9f60d15320
                    L1_HANDLER: []
                  hints: []
                  prime: >-
                    0x800000000000011000000000000000000000000000000000000000000000001
                  pythonic_hints: []
                injected_state: {}
                params:
                  - '0x1234'
                  - '0x5678'
                  - '0x9abc'
              program_hash: >-
                0x34a16478e83f69c4f0bcdb7549d32f92c9b7776bb3f71da06de334f1871eba0
              task_inputs:
                - value: '0x1234'
                  visibility: public
                - value: '0x5678'
                  visibility: private
              webhook_url: https://example.com/webhook
        required: true
      responses:
        '202':
          description: Task has been queued for processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskCreatedResponse'
              example:
                message: Task has been queued
                uuid: 01J3Z3K2P4W6M8Q0A1B2C3D4E5
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Invalid destination_chain_id format
        '401':
          description: Missing or invalid authentication
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Missing Herodotus Cloud X-API-KEY header
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server-side error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - api_key: []
components:
  schemas:
    Task:
      type: object
      required:
        - destination_chain_id
        - input
      properties:
        destination_chain_id:
          type: string
          description: Hex chain ID string (e.g., "0xa4b1", "0xaa36a7")
        herodotus_cloud_api_key:
          type:
            - string
            - 'null'
        injected_state_server:
          type:
            - string
            - 'null'
        input:
          type: object
        is_atlantic_mock_hash:
          type:
            - boolean
            - 'null'
        is_mock:
          type:
            - boolean
            - 'null'
        program_hash:
          type:
            - string
            - 'null'
        schedule_mode:
          type:
            - string
            - 'null'
        schedule_tx_hash:
          type:
            - string
            - 'null'
        task_inputs: {}
        webhook_url:
          type:
            - string
            - 'null'
    TaskCreatedResponse:
      type: object
      required:
        - status
        - message
        - uuid
      properties:
        message:
          type: string
        status:
          type: string
        uuid:
          type: string
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        details:
          type:
            - string
            - 'null'
        error:
          type: string
        message:
          type:
            - string
            - 'null'
        taskId:
          type:
            - string
            - 'null'
  securitySchemes:
    api_key:
      type: apiKey
      in: header
      name: X-API-KEY

````