{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/invoicedataextraction-com/json-schema/invoicedataextraction-com-get-upload-part-urls-response-schema.json",
  "title": "GetUploadPartUrlsResponse",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/invoicedataextraction-com-openapi.json#/components/schemas/GetUploadPartUrlsResponse",
  "type": "object",
  "required": [
    "success",
    "upload_session_id",
    "file_id",
    "file_name",
    "part_size",
    "part_urls"
  ],
  "properties": {
    "success": {
      "type": "boolean",
      "const": true
    },
    "upload_session_id": {
      "$ref": "#/$defs/ClientId"
    },
    "file_id": {
      "$ref": "#/$defs/ClientId"
    },
    "file_name": {
      "type": "string"
    },
    "part_size": {
      "type": "integer"
    },
    "part_urls": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "part_number",
          "url"
        ],
        "properties": {
          "part_number": {
            "type": "integer"
          },
          "url": {
            "type": "string",
            "format": "uri",
            "description": "`PUT` the part's raw bytes here within 15 minutes; keep the `ETag` response header."
          }
        }
      }
    }
  },
  "$defs": {
    "ClientId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._:-]{1,200}$",
      "description": "An identifier you choose: 1 to 200 characters from letters, digits, dots, underscores, colons and hyphens. Used for `upload_session_id`, `file_id` and `submission_id`."
    }
  }
}