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

# Execute transactional SQL batch

> Internal endpoint on `d1-worker`. Executes multiple SQL
statements atomically via D1's `db.batch()`. Each statement
is validated against the same allowlist as `/query`.




## OpenAPI

````yaml /docs/openapi-minimal.yaml post /batch
openapi: 3.0.3
info:
  title: Hoox API
  description: |
    REST API for the Hoox algorithmic trading platform.

    Ingest trade signals, check system health, and manage DeFi wallet
    operations on the Cloudflare edge. All requests are handled by the
    Hoox gateway worker (`workers/hoox`) running at the network edge.
  version: 1.0.0
  contact:
    name: Hoox Support
    email: support@hoox.sh
servers:
  - url: https://api.hoox.sh
    description: Production API
  - url: https://staging.hoox.sh
    description: Staging environment
security: []
paths:
  /batch:
    post:
      tags:
        - Database
      summary: Execute transactional SQL batch
      description: |
        Internal endpoint on `d1-worker`. Executes multiple SQL
        statements atomically via D1's `db.batch()`. Each statement
        is validated against the same allowlist as `/query`.
      operationId: executeBatch
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - statements
              properties:
                requestId:
                  type: string
                  format: uuid
                  description: Optional correlation ID for tracing
                  example: 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d
                statements:
                  type: array
                  description: Ordered list of parameterised statements
                  items:
                    type: object
                    required:
                      - query
                    properties:
                      query:
                        type: string
                        example: INSERT INTO trades (id, symbol) VALUES (?, ?)
                      params:
                        type: array
                        items: {}
      responses:
        '200':
          description: Batch executed successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  requestId:
                    type: string
                    format: uuid
                  results:
                    type: array
                    items: {}
        '400':
          description: Invalid batch payload
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Internal authentication missing or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: One or more statements failed allowlist validation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal D1 error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        requestId:
          type: string
          format: uuid
          description: Request trace identifier
          example: 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d
        error:
          type: string
          description: Human-readable error description
          example: Invalid JSON payload structure.

````