{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/fedex/json-schema/fedex-full-schema-spod-schema.json",
  "title": "Full_Schema_SPOD",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/fedex-track-api-openapi.yml#/components/schemas/Full_Schema_SPOD",
  "required": [
    "trackDocumentDetail",
    "trackDocumentSpecification"
  ],
  "type": "object",
  "properties": {
    "trackDocumentDetail": {
      "description": "This object specifies the tracking document details such as types of documents, for example, SIGNATURE_PROOF_OF_DELIVERY and also the format of tracking document. Supported values are PDF and PNG. Default is PDF.",
      "allOf": [
        {
          "$ref": "#/$defs/TrackDocumentDetail"
        }
      ]
    },
    "trackDocumentSpecification": {
      "type": "array",
      "description": "This is the placeholder for document specification details required to identify the shipment being tracked. This includes tracking information such as tracking qualifier, carrier code, and tracking number.<br>At least one trackDocumentSpecification is required. Maximum limit is 30.",
      "items": {
        "$ref": "#/$defs/TrackDocumentSpecification"
      }
    }
  },
  "$defs": {
    "TrackDocumentDetail": {
      "required": [
        "documentType"
      ],
      "type": "object",
      "properties": {
        "documentType": {
          "type": "string",
          "description": "Indicate the Tracking Document. <br>Valid values are SIGNATURE_PROOF_OF_DELIVERY, BILL_OF_LADING and FREIGHT_BILLING_DOCUMENT.<br>Example: SIGNATURE_PROOF_OF_DELIVERY.<br><i>Note: The SPOD information will be presented as a byte array instead of an image. The byte array is a base64 encoded string, which should be decoded to get the final signature image in PDF or PNG format</i>"
        },
        "documentFormat": {
          "type": "string",
          "description": "Specifies the format of tracking document. <br>Valid values are PDF or PNG.<br>The values are key sensitive.<br>Note: documentTypes BILL_OF_LADING and FREIGHT_BILLING_DOCUMENT does not support PNG."
        }
      },
      "description": "Specifies the tracking document details."
    },
    "TrackDocumentSpecification": {
      "required": [
        "trackingNumberInfo"
      ],
      "type": "object",
      "properties": {
        "trackingNumberInfo": {
          "allOf": [
            {
              "description": "Information uniquely identifying the shipment such as Tracking number, Carrier Code, and Tracking number uniqueId."
            },
            {
              "$ref": "#/$defs/TrackingNumberInfo"
            }
          ]
        },
        "shipDateBegin": {
          "type": "string",
          "description": "ShipDateBegin and ShipDateEnd are used to narrow the search, reduce lookup time, and avoid duplicates when searching for a specific tracking number during a specific date range.<br>Format: YYYY-MM-DD<br>example: '2020-03-29'"
        },
        "shipDateEnd": {
          "type": "string",
          "description": "ShipDateBegin and ShipDateEnd are recommended to narrow the search, reduce lookup time, and avoid duplicates when searching for a specific tracking number during a specific date range.<br>Format: YYYY-MM-DD<br>example: '2020-04-01'"
        },
        "accountNumber": {
          "type": "string",
          "description": "Specifies Signature Proof of Delivery(SPOD) account number for the shipment being tracked.<br>Conditionally required when documentType is BILL_OF_LADING or FREIGHT_BILLING_DOCUMENT<br>Example: 123456789"
        }
      }
    },
    "TrackingNumberInfo": {
      "required": [
        "trackingNumber"
      ],
      "type": "object",
      "properties": {
        "trackingNumber": {
          "type": "string",
          "description": "This is a Tracking number for FedEx packages used for tracking a single package or group of packages. <br> Example: 128667043726<br><a onclick='loadDocReference(\"mocktrackingnumbersforfedexexpressandfedexground\")'>Click here to see Mock Tracking Numbers.</a>"
        },
        "carrierCode": {
          "type": "string",
          "description": "This is a placeholder to provide the FedEx operating company (transportation) code used for package delivery. <br> Example: FDXE",
          "enum": [
            "FDXE",
            "FDXG",
            "FXSP",
            "FXFR",
            "FDXC",
            "FXCC",
            "FEDEX_CARGO",
            "FEDEX_CUSTOM_CRITICAL",
            "FEDEX_EXPRESS",
            "FEDEX_FREIGHT",
            "FEDEX_GROUND",
            "FEDEX_OFFICE",
            "FEDEX_KINKOS",
            "FX",
            "FDFR",
            "FDEG",
            "FXK",
            "FDC",
            "FDCC"
          ]
        },
        "trackingNumberUniqueId": {
          "type": "string",
          "description": "Unique identifier used to distinguish duplicate FedEx tracking numbers. This value will be set by FedEx systems. <br> Example: 245822\\~123456789012\\~FDEG"
        }
      },
      "description": "Information uniquely identifying a shipment such as Tracking number, ShipDate, and Tracking number uniqueId."
    }
  }
}