{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/artashippinginc/json-schema/artashippinginc-upload-schema.json",
  "title": "Upload",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/artashippinginc-uploads-api-openapi.yml#/components/schemas/Upload",
  "properties": {
    "created_at": {
      "readOnly": true,
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "document_type": {
      "description": "The document type of the uploaded file",
      "enum": [
        "bill_of_lading",
        "certificate_of_insurance",
        "certificate_of_insurance_template",
        "condition_report",
        "condition_check",
        "image",
        "instructions",
        "airway_bill",
        "commercial_invoice",
        "power_of_attorney",
        "proof_of_export",
        "proof_of_delivery",
        "quote",
        "shipping_label",
        "other"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "document_type_label": {
      "description": "A brief label providing additional context about the `document_type`. Required when \"other\" is the `document_type`",
      "type": [
        "string",
        "null"
      ],
      "x-struct": null,
      "x-validate": null
    },
    "download_url": {
      "readOnly": true,
      "type": [
        "string",
        "null"
      ],
      "x-struct": null,
      "x-validate": null
    },
    "file_name": {
      "description": "The name of the uploaded file",
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "id": {
      "readOnly": true,
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    },
    "mime_type": {
      "description": "The mime-type of the uploaded file",
      "enum": [
        "application/pdf",
        "application/vnd.ms-excel",
        "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
        "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
        "image/jpeg",
        "image/png",
        "text/csv",
        "video/mp4",
        "video/quicktime",
        "application/msword"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "size": {
      "description": "The size of the uploaded file in bytes",
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    },
    "status": {
      "enum": [
        "pending",
        "processed",
        "failed"
      ],
      "readOnly": true,
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "required": [
    "document_type",
    "file_name",
    "mime_type",
    "size"
  ],
  "type": "object",
  "x-struct": "Elixir.DocsWeb.Schemas.Response.Upload",
  "x-validate": null
}