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

# Upload raw email

> Upload a raw email file (.eml) containing a purchase order for processing. The email is classified, and if it contains a purchase order, attachments are extracted and queued for processing.




## OpenAPI

````yaml POST /order/raw/upload
openapi: 3.1.0
info:
  title: DocOpsAI API
  version: 0.1.0
  description: >
    AI-based order processing application that extracts information from email
    attachments and forwards to backend systems. Provides endpoints for order
    management, customer and product CRUD, email watching, and template
    parameter configuration.
  contact:
    name: DevOps Company
servers:
  - url: https://start.aiotic.ai
    description: Production server
security:
  - ApiKeyAuth: []
tags:
  - name: healthcheck
    description: Service health monitoring
  - name: order
    description: Order document upload and processing
  - name: order_status
    description: Order processing status tracking
  - name: customer
    description: Customer record management with vector search
  - name: product
    description: Product record management
  - name: template_parameters
    description: Prompt template parameter management
  - name: email-watcher
    description: Email inbox monitoring and processing
paths:
  /order/raw/upload:
    post:
      tags:
        - order
      summary: Upload raw email
      description: >
        Upload a raw email file (.eml) containing a purchase order for
        processing. The email is classified, and if it contains a purchase
        order, attachments are extracted and queued for processing.
      operationId: uploadRawEmail
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              required:
                - file
              properties:
                file:
                  type: string
                  format: binary
                  description: Email file in .eml format
                request_id:
                  type: string
                  format: uuid
                  description: Optional custom UUID for the request
      responses:
        '200':
          description: Email accepted and queued for processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderUploadResponse'
        '400':
          description: Invalid file format or email doesn't contain purchase order
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    OrderUploadResponse:
      type: object
      required:
        - request_id
      properties:
        request_id:
          type: string
          format: uuid
          description: Unique identifier for the uploaded document
    ErrorResponse:
      type: object
      required:
        - detail
      properties:
        detail:
          type: string
          description: Error message describing what went wrong
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: >
        API key for authentication. Required on all endpoints except
        /healthcheck. Customer and product endpoints also accept a
        customer-specific API key.

````