{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/fedex/json-schema/fedex-full-schema-confirm-open-shipment-schema.json",
  "title": "FullSchema-confirmOpenShipment",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/fedex-open-ship-api-openapi.yml#/components/schemas/FullSchema-confirmOpenShipment",
  "required": [
    "accountNumber",
    "index",
    "labelResponseOptions",
    "labelSpecification"
  ],
  "type": "object",
  "properties": {
    "labelResponseOptions": {
      "$ref": "#/$defs/LABELRESPONSEOPTIONS"
    },
    "edtRequestType": {
      "type": "string",
      "description": "Indicate whether to have estimated duties and taxes provided with the rate quotes on this shipment. Only applies for International Shipment.",
      "enum": [
        "ALL",
        "NONE"
      ]
    },
    "labelSpecification": {
      "$ref": "#/$defs/LabelSpecification"
    },
    "index": {
      "type": "string",
      "description": "This is a unique value assigned to the already created Open Shipment. If this isn’t available then provide the master tracking number.<br>Example: Test1234"
    },
    "shippingDocumentSpecification": {
      "$ref": "#/$defs/ShippingDocumentSpecification"
    },
    "accountNumber": {
      "$ref": "#/$defs/AccountNumber"
    },
    "version": {
      "$ref": "#/$defs/Version"
    },
    "openShipmentAction": {
      "type": "string",
      "description": "Indicates the optional actions that can be performed during the modification of packages in  Open Shipment.<p>Here are the value:<br/> <ul><li>PROVIDE_DOCUMENTS_INCREMENTALLY- Used in the Print as You Go (PASGO) flow to print labels incrementally as packages are added to an open shipment.</li></ul></p>",
      "enum": [
        "PROVIDE_DOCUMENTS_INCREMENTALLY"
      ]
    }
  },
  "$defs": {
    "AccountNumber": {
      "description": "The account number associated with the shipment. <br>Example: Your account number",
      "allOf": [
        {
          "$ref": "#/$defs/PartyAccountNumber"
        }
      ]
    },
    "AdditionalLabelsDetail": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "Specify the type of additional  details to be added on the label.",
          "enum": [
            "BROKER",
            "CONSIGNEE",
            "CUSTOMS",
            "DESTINATION",
            "DESTINATION_CONTROL_STATEMENT",
            "FREIGHT_REFERENCE",
            "MANIFEST",
            "ORIGIN",
            "RECIPIENT",
            "SECOND_ADDRESS",
            "SHIPPER"
          ]
        },
        "count": {
          "type": "integer",
          "description": "Specifies the count of label to return."
        }
      }
    },
    "Address_1": {
      "type": "object",
      "properties": {
        "streetLines": {
          "type": "array",
          "description": "This is the combination of number, street name, etc. <br>Note: At least one line is required and streetlines more than 3 will be ignored. Empty lines should not be included. Maximum length per line is 35.<br>Example: [10 FedEx Parkway, Suite 302, .etc.]",
          "items": {
            "type": "string"
          }
        },
        "city": {
          "type": "string",
          "description": "This is a placeholder for City Name.<br><br>Note: This is conditional and not required in all the requests. <br><br>Note: It is recommended for Express shipments for the most accurate ODA and OPA surcharges.<br><br>Example: Beverly Hills"
        },
        "stateOrProvinceCode": {
          "type": "string",
          "description": "This is a placeholder for State or Province code. State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.<br><br>Example: CA<br><a onclick='loadDocReference(\"canadaprovincecodes\")'>click here to see State or Province Code</a>"
        },
        "postalCode": {
          "type": "string",
          "description": "Indicate the Postal code. This is Optional for non postal-aware countries. Maximum length is 10.<br> Example: 65247<br><a onclick='loadDocReference(\"postalawarecountries\")'>click here to see Postal aware countries</a>"
        },
        "countryCode": {
          "type": "string",
          "description": "This is the two-letter country code.<br><br>Maximum length is 2.<br>Example: US<br><a onclick='loadDocReference(\"countrycodes\")'>click here to see Country codes</a>"
        },
        "residential": {
          "type": "boolean",
          "description": "Indicate whether this address is residential (as opposed to commercial)."
        }
      },
      "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the U.S.)."
    },
    "CertificateOfOriginDetail": {
      "type": "object",
      "properties": {
        "customerImageUsages": {
          "type": "array",
          "description": "Specifies the usage and identification of customer supplied images to be used on this document.",
          "items": {
            "$ref": "#/$defs/CustomerImageUsage"
          }
        },
        "documentFormat": {
          "$ref": "#/$defs/ShippingDocumentFormat"
        }
      },
      "description": "The instructions indicating how to print the Certificate of Origin ( e.g. whether or not to include the instructions, image type, etc ...)"
    },
    "CommercialInvoiceDetail": {
      "type": "object",
      "properties": {
        "customerImageUsages": {
          "type": "array",
          "description": "Specifies the usage and identification of customer supplied images to be used on this document.",
          "items": {
            "$ref": "#/$defs/CustomerImageUsage"
          }
        },
        "documentFormat": {
          "$ref": "#/$defs/ShippingDocumentFormat"
        }
      },
      "description": "The instructions indicating how to print the Commercial Invoice( e.g. image type) Specifies characteristics of a shipping document to be produced."
    },
    "ContactAndAddress": {
      "type": "object",
      "properties": {
        "contact": {
          "$ref": "#/$defs/Contact_1"
        },
        "address": {
          "$ref": "#/$defs/Address_1"
        }
      },
      "description": "Specifies the contact and address details of a location."
    },
    "Contact_1": {
      "type": "object",
      "properties": {
        "personName": {
          "type": "string",
          "description": "Identifies the contact person's name. First 35 chars will be printed on the label, excess characters will be truncated.<br>Note: Either the companyName or personName is manadatory.<br> Example: John Taylor"
        },
        "emailAddress": {
          "type": "string",
          "description": "Specify contact email address. Maximum length is 80. <br> Example: sample@company.com"
        },
        "phoneNumber": {
          "type": "string",
          "description": "Specify contact phone number. <br><br>Minimum length is 1 and supports maximum of 15 for certain countries using longer phone numbers. <br>Note: Recommended Maximum length is 15 and there's no specific validation will be done for the phone number. <br> Example: 918xxxxx890"
        },
        "phoneExtension": {
          "type": "string",
          "description": "Specify contact phone extension. <br>Note: Recommended length is 6. There's no specific validation for the phone extension. <br> Example: 1234"
        },
        "faxNumber": {
          "type": "string",
          "description": "Specify contact fax number.<br>Note: Recommended length is 15. There's no specific validation for the fax number.<br> Example: 1234567890"
        },
        "companyName": {
          "type": "string",
          "description": "Specify contact company name. First 35 chars will be printed on the label, excess characters will be truncated.<br>Note: Either the companyName or personName is manadatory.<br> Example: Fedex."
        }
      },
      "description": "Indicate the contact details of the shipper."
    },
    "CustomerImageUsage": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Specify the Image ID.",
          "enum": [
            "IMAGE_1",
            "IMAGE_2",
            "IMAGE_3",
            "IMAGE_4",
            "IMAGE_5"
          ]
        },
        "type": {
          "type": "string",
          "description": "Specify document image type.",
          "enum": [
            "SIGNATURE"
          ]
        },
        "providedImageType": {
          "type": "string",
          "description": "Specify the provided document image type.",
          "enum": [
            "LETTER_HEAD",
            "SIGNATURE"
          ]
        }
      },
      "description": "Specify the usse and identification of supplied images to be used on this document."
    },
    "CustomerSpecifiedLabelDetail": {
      "type": "object",
      "properties": {
        "maskedData": {
          "type": "array",
          "description": "Specify which data/sections on the label to be masked.<br>Note: <ul><li>SECONDARY_BARCODE &ndash; This is used for Smartpost shipment labels.</li><li>SHIPPER_INFORMATION &ndash; This is used for Third Party Consignee, Intra-UK shipments.</li><li>TOTAL_WEIGHT &ndash; This replaces the Total weight with Actual Weight in Master label and AWB copies.</li></ul>",
          "items": {
            "type": "string",
            "default": "SHIPPER_ACCOUNT_NUMBER",
            "enum": [
              "CUSTOMS_VALUE",
              "DIMENSIONS",
              "DUTIES_AND_TAXES_PAYOR_ACCOUNT_NUMBER",
              "INSURED_VALUE",
              "SECONDARY_BARCODE",
              "SHIPPER_INFORMATION",
              "TERMS_AND_CONDITIONS",
              "TOTAL_WEIGHT",
              "TRANSPORTATION_CHARGES_PAYOR_ACCOUNT_NUMBER"
            ]
          }
        },
        "regulatoryLabels": {
          "type": "array",
          "description": "Specify how the regulatory details to be provided on the labels.",
          "items": {
            "$ref": "#/$defs/RegulatoryLabelContentDetail"
          }
        },
        "additionalLabels": {
          "type": "array",
          "description": "Specify how the additional details to be provided on the labels.",
          "items": {
            "$ref": "#/$defs/AdditionalLabelsDetail"
          }
        },
        "docTabContent": {
          "$ref": "#/$defs/DocTabContent"
        }
      },
      "description": "This object allows the control of label content for customization."
    },
    "DocTabContent": {
      "type": "object",
      "properties": {
        "docTabContentType": {
          "type": "string",
          "description": "Indicates the content type of the doc tab.",
          "enum": [
            "BARCODED",
            "CUSTOM",
            "MINIMUM",
            "STANDARD",
            "ZONE001"
          ]
        },
        "zone001": {
          "$ref": "#/$defs/DocTabContentZone001"
        },
        "barcoded": {
          "$ref": "#/$defs/DocTabContentBarcoded"
        }
      },
      "description": "Specifies details of doc tab content.It is only applicable only with imageType as ZPLII"
    },
    "DocTabContentBarcoded": {
      "type": "object",
      "properties": {
        "symbology": {
          "type": "string",
          "description": "Indicates the type of barcode symbology used on FedEx documents and labels.",
          "enum": [
            "CODABAR",
            "CODE128",
            "CODE128_WIDEBAR",
            "CODE128B",
            "CODE128C",
            "CODE39",
            "CODE93",
            "I2OF5",
            "MANUAL",
            "PDF417",
            "POSTNET",
            "QR_CODE",
            "UCC128"
          ]
        },
        "specification": {
          "$ref": "#/$defs/DocTabZoneSpecification"
        }
      },
      "description": "It is a doc tab content type which is in barcoded format."
    },
    "DocTabContentZone001": {
      "type": "object",
      "properties": {
        "docTabZoneSpecifications": {
          "type": "array",
          "description": "Indicate the doc tab specifications for the individual doc tab zone on the label.",
          "items": {
            "$ref": "#/$defs/DocTabZoneSpecification"
          }
        }
      },
      "description": "Indicate the doc tab specification for different zones on the label. The specification includes zone number, header and data field to be displayed on the label."
    },
    "DocTabZoneSpecification": {
      "type": "object",
      "properties": {
        "zoneNumber": {
          "type": "integer",
          "description": "It is a non-negative integer that represents the portion of doc-tab in a label.<br>Example: 1",
          "format": "int32"
        },
        "header": {
          "type": "string",
          "description": "Indicates the parameter name in the header for the doc tab zone. The maximum charater limit is 7.<br>Example:  WHT"
        },
        "dataField": {
          "type": "string",
          "description": "Indicate the path request/reply element to be printed on doc tab.<br>Example: <ul><li> REQUEST/PACKAGE/weight/Value</li><li> REQUEST/PACKAGE/InsuredValue/Amount</li><li> REQUEST/SHIPMENT/SpecialServicesRequested/CodDetail/CodCollectionAmount/Amount</li><li>REQUEST/SHIPMENT/Shipper/Address/StreetLines</li><li> TRANSACTION/CustomerTransactionId</li><li> REQUEST/SHIPMENT/TotalWeight/Value</li><li> REQUEST/SHIPMENT/ShipTimestamp</li><li> REQUEST/SHIPMENT/Recipient/Contact/PersonName</li><li> REPLY/SHIPMENT/OperationalDetail/DeliveryDate</li><li>  REPLY/SHIPMENT/RATES/ACTUAL/totalBaseCharge/Amount</li><li> REPLY/SHIPMENT/RATES/ACTUAL/totalFreightDiscounts/Amount</li><li>  REPLY/SHIPMENT/RATES/ACTUAL/totalSurcharges/Amount</li><li> REPLY/SHIPMENT/RATES/ACTUAL/totalNetCharge/Amount</li><li> REPLY/SHIPMENT/RATES/PAYOR_ACCOUNT_PACKAGE/totalSurcharges/Amount</li></ul>"
        },
        "literalValue": {
          "type": "string",
          "description": "Indicates the actual data to be printed in the label<br>"
        },
        "justification": {
          "type": "string",
          "description": "Indicates the justification format for the string.",
          "enum": [
            "LEFT",
            "RIGHT"
          ]
        }
      },
      "description": "Indicates the doc tab zone specification."
    },
    "DocumentFormatOptionsRequested": {
      "type": "object",
      "properties": {
        "options": {
          "type": "array",
          "description": "Indicates the format options. SUPPRESS_ADDITIONAL_LANGUAGES value will suppress English language if another language is specified in the language code field.",
          "items": {
            "type": "string",
            "enum": [
              "SHIPPING_LABEL_FIRST",
              "SHIPPING_LABEL_LAST",
              "SUPPRESS_ADDITIONAL_LANGUAGES"
            ]
          }
        }
      },
      "description": "Indicate the requested options for document format."
    },
    "GeneralAgencyAgreementDetail": {
      "type": "object",
      "properties": {
        "documentFormat": {
          "$ref": "#/$defs/ShippingDocumentFormat"
        }
      },
      "description": "Use this object to specify details to generate general agency agreement detail."
    },
    "LABELRESPONSEOPTIONS": {
      "type": "string",
      "description": "Specify whether the encoded bytecode or the label URL to be returned in the response.<p>Valid values:<ul><li>LABEL &ndash; Indicates request is for encoded bytecode.</li><li>URL_ONLY &ndash; Indicates label URL request.</li></ul><p>Note: <ul><li>For asynchronous shipment (More than 40 packages) request only the value LABEL is supported.</li><li>With URL_ONLY option, the URL once created will be active for 12 hours.</li><li>Label will be returned as Base64 ONLY when openShipmentAction is PROVIDE_DOCUMENTS_INCREMENTALLY</li></ul></p>",
      "enum": [
        "URL_ONLY",
        "LABEL"
      ]
    },
    "LabelSpecification": {
      "required": [
        "imageType",
        "labelStockType"
      ],
      "type": "object",
      "properties": {
        "labelFormatType": {
          "type": "string",
          "description": "Specify the label Format Type.<br><a onclick='loadDocReference(\"labelstocktypes\")'>click here to see label format types</a>",
          "enum": [
            "COMMON2D",
            "LABEL_DATA_ONLY"
          ]
        },
        "labelOrder": {
          "type": "string",
          "description": "This is the order of the Shipping label/documents to be generated.",
          "enum": [
            "SHIPPING_LABEL_FIRST",
            "SHIPPING_LABEL_LAST"
          ]
        },
        "customerSpecifiedDetail": {
          "$ref": "#/$defs/CustomerSpecifiedLabelDetail"
        },
        "printedLabelOrigin": {
          "description": "Specify a contact and address instead of the sender address that will be printed on FedEx label. The sender address will be printed if it is not provided. Using this, you can designate a return address that's different from the sender’s. The destination address must be in the same country as the sender.",
          "allOf": [
            {
              "$ref": "#/$defs/ContactAndAddress"
            }
          ]
        },
        "labelStockType": {
          "type": "string",
          "description": "Indicate the label stock type used. <br><a onclick='loadDocReference(\"labelstocktypes\")'>click here to see label format types</a>",
          "enum": [
            "PAPER_4X6",
            "PAPER_4X675",
            "PAPER_4X8",
            "PAPER_4X9",
            "PAPER_7X475",
            "PAPER_85X11_BOTTOM_HALF_LABEL",
            "PAPER_85X11_TOP_HALF_LABEL",
            "PAPER_LETTER",
            "STOCK_4X85_TRAILING_DOC_TAB",
            "STOCK_4X105_TRAILING_DOC_TAB",
            "STOCK_4X675_LEADING_DOC_TAB",
            "STOCK_4X8",
            "STOCK_4X9_LEADING_DOC_TAB",
            "STOCK_4X6",
            "STOCK_4X675_TRAILING_DOC_TAB",
            "STOCK_4X9_TRAILING_DOC_TAB",
            "STOCK_4X675",
            "STOCK_4X9"
          ]
        },
        "labelRotation": {
          "type": "string",
          "description": "This is applicable only to documents produced on thermal printers with roll stock.",
          "enum": [
            "LEFT",
            "RIGHT",
            "UPSIDE_DOWN",
            "NONE"
          ]
        },
        "imageType": {
          "type": "string",
          "description": "Specify the image format used for a shipping document.<br><a onclick='loadDocReference(\"labelstocktypes\")'>click here to see label format types</a>",
          "enum": [
            "ZPLII",
            "EPL2",
            "PDF",
            "PNG"
          ]
        },
        "labelPrintingOrientation": {
          "type": "string",
          "description": "This is applicable only to documents produced on thermal printers with roll stock.",
          "enum": [
            "BOTTOM_EDGE_OF_TEXT_FIRST",
            "TOP_EDGE_OF_TEXT_FIRST"
          ]
        },
        "returnedDispositionDetail": {
          "type": "boolean",
          "description": "Specify whether or not the return deposition is needed."
        },
        "resolution": {
          "type": "integer",
          "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.Note: 300 DPI resolution is only allowed for ZPLII image type."
        }
      },
      "description": "These are label specification details includes the image type, printer format, and label stock for label. Can also specify specific details such as doc-tab content, regulatory labels, and masking data on the label."
    },
    "Op900Detail": {
      "type": "object",
      "properties": {
        "customerImageUsages": {
          "type": "array",
          "description": "Specify the use and identification of supplied images to be used on document.",
          "items": {
            "$ref": "#/$defs/CustomerImageUsage"
          }
        },
        "signatureName": {
          "type": "string",
          "description": "Indicates the name to be printed as signature on the document instead of (or in addition to) a signature image.<br>Example: John Hill"
        },
        "documentFormat": {
          "$ref": "#/$defs/ShippingDocumentFormat"
        }
      },
      "description": "Use this object to specify details to generate the OP-900 document for hazardous material packages."
    },
    "PartyAccountNumber": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "Conditional.<br> The account number value.<br> Max Length is 9.<br>Example: 12XXXXX89"
        }
      },
      "description": "This is FedEx Account number details."
    },
    "PartyAddress_1": {
      "type": "object",
      "properties": {
        "streetLines": {
          "type": "array",
          "description": "This is the combination of number, street name, etc. Maximum length per line is 35.<br>Example: 10 FedEx Parkway, Suite 302.<p><i>Note:<ul><li>At least one line is required.</li><li>Streetlines more than 3 will be ignored.</li><li>Empty lines should not be included</li><li>For SmartPost Shipments, only 30 characters from the individual street lines will be printed on the labels.</li></ul></i></p>",
          "items": {
            "type": "string"
          }
        },
        "city": {
          "type": "string",
          "description": "This is a placeholder for City Name. <br><br>Example: Beverly Hills"
        },
        "stateOrProvinceCode": {
          "type": "string",
          "description": "This is a placeholder for State or Province code. State code is required for US, CA, PR and not required for other countries. Conditional. Max length is 2.<br><br>Example: CA.<br><a onclick='loadDocReference(\"canadaprovincecodes\")'>click here to see State or Province Code</a>"
        },
        "postalCode": {
          "type": "string",
          "description": "This is the Postal code.<br><br>This is Optional for non postal-aware countries.<br>Maximum length is 10.<br><br>Example: 65247<br><a onclick='loadDocReference(\"postalawarecountries\")'>click here to see Postal aware countries</a>"
        },
        "countryCode": {
          "type": "string",
          "description": "This is the two-letter country code.<br><br>Maximum length is 2.<br>Example: US<br><a onclick='loadDocReference(\"countrycodes\")'>click here to see Country codes</a>"
        },
        "residential": {
          "type": "boolean",
          "description": "Indicate whether this address is residential (as opposed to commercial)."
        },
        "geographicCoordinates": {
          "type": "string",
          "description": "Indicates the geographic coordinates. <br> example: geographicCoordinates"
        }
      },
      "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US)."
    },
    "PartyContact_1": {
      "type": "object",
      "properties": {
        "personName": {
          "type": "string",
          "description": "Specify contact name. Maximum length is 70. <br> Example: John Taylor"
        },
        "emailAddress": {
          "type": "string",
          "description": "Specify contact email address. Maximum length is 80. <br> Example: sample@company.com"
        },
        "phoneExtension": {
          "type": "string",
          "description": "Specify contact phone extension. Maximum length is 6. <br> Example: 1234"
        },
        "phoneNumber": {
          "type": "string",
          "description": "Specify contact phone number. <br><br>Minimum length is 1 and supports Maximum as 15 for certain countries using longer phone numbers. <br>Note: Recommended Maximum length is 15 and there's no specific validation will be done for the phone number. <br> Example: 918xxxxx890"
        },
        "companyName": {
          "type": "string",
          "description": "Specify contact company name.<br><br>Recommended length is 35.<br><br>Note: There's no specific validation for the company name."
        },
        "faxNumber": {
          "type": "string",
          "description": "Specify contact person's fax number. Maximum length is 15."
        }
      },
      "description": "Indicate the contact details for this shipment."
    },
    "Party_3": {
      "type": "object",
      "properties": {
        "address": {
          "$ref": "#/$defs/PartyAddress_1"
        },
        "contact": {
          "$ref": "#/$defs/PartyContact_1"
        },
        "tins": {
          "type": "array",
          "description": "This is the tax identification number details.",
          "items": {
            "$ref": "#/$defs/TaxpayerIdentification"
          }
        }
      }
    },
    "RegulatoryLabelContentDetail": {
      "type": "object",
      "properties": {
        "generationOptions": {
          "type": "string",
          "description": "Specify the regulatory content preference to be displayed on the label.",
          "enum": [
            "CONTENT_ON_SHIPPING_LABEL_PREFERRED",
            "CONTENT_ON_SUPPLEMENTAL_LABEL_ONLY",
            "CONTENT_ON_SHIPPING_LABEL_ONLY"
          ]
        },
        "type": {
          "type": "string",
          "description": "Specify the type of regulatory content to be added on the label.",
          "enum": [
            "ALCOHOL_SHIPMENT_LABEL"
          ]
        }
      }
    },
    "RetrieveDateRange": {
      "type": "object",
      "properties": {
        "begins": {
          "type": "string",
          "description": "Indicates the start date."
        },
        "ends": {
          "type": "string",
          "description": "Indicates the end date."
        }
      },
      "description": "Date Range for custom delivery request; only used if type is BETWEEN."
    },
    "ReturnInstructionsDetail": {
      "type": "object",
      "properties": {
        "customText": {
          "type": "string",
          "description": "Specify additional information (text) to be inserted into the return document.<br>Example: This is additional text printed on Return Label"
        },
        "documentFormat": {
          "$ref": "#/$defs/ReturnShippingDocumentFormat"
        }
      },
      "description": "These are return instruction details which will be returned in the transaction to be printed on Return Label."
    },
    "ReturnShippingDocumentFormat": {
      "type": "object",
      "properties": {
        "provideInstructions": {
          "type": "boolean",
          "description": "Use this element to indicate whether or not to provide the instructions."
        },
        "optionsRequested": {
          "$ref": "#/$defs/DocumentFormatOptionsRequested"
        },
        "stockType": {
          "type": "string",
          "description": "Specify the label stock type.<br><a onclick='loadDocReference(\"labelstocktypes\")'>click here to see label format types</a>",
          "enum": [
            "PAPER_LETTER"
          ]
        },
        "dispositions": {
          "type": "array",
          "description": "Details on creating, organizing, and returning the document.\n\n",
          "items": {
            "$ref": "#/$defs/ShippingDocumentDispositionDetail"
          }
        },
        "locale": {
          "type": "string",
          "description": "These are locale details.<br>example: 'en_US'<br><a onclick='loadDocReference(\"locales\")'>click here to see Locales</a><br>Note: If the locale is left blank or an invalid locale is entered, an error message is returned in response."
        },
        "docType": {
          "type": "string",
          "description": "Specify the image format used for shipping document.<br><a onclick='loadDocReference(\"labelstocktypes\")'>click here to see label format types</a>",
          "enum": [
            "PNG",
            "PDF"
          ]
        }
      },
      "description": "These are characteristics of a shipping document to be produced."
    },
    "ShippingDocumentDispositionDetail": {
      "type": "object",
      "properties": {
        "eMailDetail": {
          "$ref": "#/$defs/ShippingDocumentEmailDetail"
        },
        "dispositionType": {
          "type": "string",
          "description": "Specify how to create and return the document.",
          "enum": [
            "CONFIRMED",
            "DEFERRED_QUEUED",
            "DEFERRED_RETURNED",
            "DEFERRED_STORED",
            "EMAILED",
            "QUEUED",
            "RETURNED",
            "STORED"
          ]
        }
      },
      "description": "These are document diposition details. Each occurrence of this class specifies a particular way in which a kind of shipping document is to be produced and provided."
    },
    "ShippingDocumentEmailDetail": {
      "required": [
        "eMailRecipients"
      ],
      "type": "object",
      "properties": {
        "eMailRecipients": {
          "type": "array",
          "description": "Indicates the shipping document email recipients.",
          "items": {
            "$ref": "#/$defs/ShippingDocumentEmailRecipient"
          }
        },
        "locale": {
          "type": "string",
          "description": "These are locale details.<br>Example: 'en_US'<br><a onclick='loadDocReference(\"locales\")'>click here to see locales</a><br>Note: If the locale is left blank or an invalid locale is entered, an error message is returned in response."
        },
        "grouping": {
          "type": "string",
          "description": "Identifies the convention by which documents are to be grouped as email attachment.",
          "enum": [
            "BY_RECIPIENT",
            "NONE"
          ]
        }
      },
      "description": "Specifies how to e-mail shipping documents."
    },
    "ShippingDocumentEmailRecipient": {
      "required": [
        "recipientType"
      ],
      "type": "object",
      "properties": {
        "emailAddress": {
          "type": "string",
          "description": "Specifies the email address.<br> Example: email@fedex.com"
        },
        "recipientType": {
          "type": "string",
          "description": "Specify the email notification recipient type.",
          "enum": [
            "BROKER",
            "OTHER",
            "RECIPIENT",
            "SHIPPER",
            "THIRD_PARTY",
            "OTHER1",
            "OTHER2"
          ]
        }
      }
    },
    "ShippingDocumentFormat": {
      "type": "object",
      "properties": {
        "provideInstructions": {
          "type": "boolean",
          "description": "Indicates whether or not to provide the instructions."
        },
        "optionsRequested": {
          "$ref": "#/$defs/DocumentFormatOptionsRequested"
        },
        "stockType": {
          "type": "string",
          "description": "Indicate the used label stock type. Note to list the correct type of paper for the freight address label option.",
          "enum": [
            "PAPER_LETTER"
          ]
        },
        "dispositions": {
          "type": "array",
          "description": "Specifies how to create, organize, and return the document\n\n",
          "items": {
            "$ref": "#/$defs/ShippingDocumentDispositionDetail"
          }
        },
        "locale": {
          "type": "string",
          "description": "These are locale details.<br>example: 'en_US'<br><a onclick='loadDocReference(\"locales\")'>click here to see Locales</a><br>Note: If the locale is left blank or an invalid locale is entered, an error message is returned in response."
        },
        "docType": {
          "type": "string",
          "description": "Specify the image format used for a shipping document.<br><a onclick='loadDocReference(\"labelstocktypes\")'>click here to see label format types</a>",
          "enum": [
            "PDF"
          ]
        }
      },
      "description": "Specify the shipping document format."
    },
    "ShippingDocumentSpecification": {
      "type": "object",
      "properties": {
        "generalAgencyAgreementDetail": {
          "$ref": "#/$defs/GeneralAgencyAgreementDetail"
        },
        "returnInstructionsDetail": {
          "$ref": "#/$defs/ReturnInstructionsDetail"
        },
        "op900Detail": {
          "$ref": "#/$defs/Op900Detail"
        },
        "usmcaCertificationOfOriginDetail": {
          "$ref": "#/$defs/UsmcaCertificationOfOriginDetail"
        },
        "usmcaCommercialInvoiceCertificationOfOriginDetail": {
          "$ref": "#/$defs/UsmcaCommercialInvoiceCertificationOfOriginDetail"
        },
        "shippingDocumentTypes": {
          "type": "array",
          "description": "Indicates the types of shipping documents requested.\n",
          "items": {
            "type": "string",
            "enum": [
              "CERTIFICATE_OF_ORIGIN",
              "COMMERCIAL_INVOICE",
              "CUSTOM_PACKAGE_DOCUMENT",
              "CUSTOM_SHIPMENT_DOCUMENT",
              "CUSTOMER_SPECIFIED_LABELS",
              "EXPORT_DECLARATION",
              "GENERAL_AGENCY_AGREEMENT",
              "LABEL",
              "USMCA_CERTIFICATION_OF_ORIGIN",
              "OP_900",
              "PENDING_SHIPMENT_EMAIL_NOTIFICATION",
              "PRO_FORMA_INVOICE",
              "RETURN_INSTRUCTIONS",
              "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN"
            ]
          }
        },
        "certificateOfOrigin": {
          "$ref": "#/$defs/CertificateOfOriginDetail"
        },
        "commercialInvoiceDetail": {
          "$ref": "#/$defs/CommercialInvoiceDetail"
        }
      },
      "description": "Use this object to provide all data required for additional (non-label) shipping documents to be produced."
    },
    "TaxpayerIdentification": {
      "type": "object",
      "properties": {
        "number": {
          "type": "string",
          "description": "Specify tax ID number. Maximum length is 18. <br>Example: 123567"
        },
        "tinType": {
          "type": "string",
          "description": "Indicate the type of tax identification number.",
          "enum": [
            "PERSONAL_NATIONAL",
            "PERSONAL_STATE",
            "FEDERAL",
            "BUSINESS_NATIONAL",
            "BUSINESS_STATE",
            "BUSINESS_UNION"
          ]
        },
        "usage": {
          "type": "string",
          "description": "Specify the reason for using the tax identification number in shipment processing."
        },
        "effectiveDate": {
          "type": "string",
          "description": "Specify the tax ID effective date.<br>Example: 2000-01-23T04:56:07.000+00:00"
        },
        "expirationDate": {
          "type": "string",
          "description": "Specify the tax ID expiration date.<br>Example: 2000-01-23T04:56:07.000+00:00"
        }
      }
    },
    "UsmcaCertificationOfOriginDetail": {
      "type": "object",
      "properties": {
        "customerImageUsages": {
          "type": "array",
          "description": "Specifies the usage and identification of customer supplied images to be used on this document.",
          "items": {
            "$ref": "#/$defs/CustomerImageUsage"
          }
        },
        "documentFormat": {
          "$ref": "#/$defs/ShippingDocumentFormat"
        },
        "certifierSpecification": {
          "type": "string",
          "description": "This is certifier specification.",
          "enum": [
            "EXPORTER",
            "IMPORTER",
            "PRODUCER"
          ]
        },
        "importerSpecification": {
          "type": "string",
          "description": "This is importer specification.",
          "enum": [
            "UNKNOWN",
            "VARIOUS"
          ]
        },
        "producerSpecification": {
          "type": "string",
          "description": "This is producer specification.",
          "enum": [
            "AVAILABLE_UPON_REQUEST",
            "VARIOUS",
            "SAME_AS_EXPORTER"
          ]
        },
        "producer": {
          "$ref": "#/$defs/Party_3"
        },
        "blanketPeriod": {
          "$ref": "#/$defs/RetrieveDateRange"
        },
        "certifierJobTitle": {
          "type": "string",
          "description": "Specify the job title of the certifier"
        }
      },
      "description": "The instructions indicating how to print the USMCA Certificate of Origin (e.g. whether or not to include the instructions, image type, etc ...)."
    },
    "UsmcaCommercialInvoiceCertificationOfOriginDetail": {
      "type": "object",
      "properties": {
        "customerImageUsages": {
          "type": "array",
          "description": "Specifies the usage and identification of customer supplied images to be used on this document.",
          "items": {
            "$ref": "#/$defs/CustomerImageUsage"
          }
        },
        "documentFormat": {
          "$ref": "#/$defs/ShippingDocumentFormat"
        },
        "certifierSpecification": {
          "type": "string",
          "description": "This is certifier specification.",
          "enum": [
            "EXPORTER",
            "IMPORTER",
            "PRODUCER"
          ]
        },
        "importerSpecification": {
          "type": "string",
          "description": "This is importer specification.",
          "enum": [
            "UNKNOWN",
            "VARIOUS"
          ]
        },
        "producerSpecification": {
          "type": "string",
          "description": "This is producer specification.",
          "enum": [
            "AVAILABLE_UPON_REQUEST",
            "VARIOUS",
            "SAME_AS_EXPORTER"
          ]
        },
        "producer": {
          "$ref": "#/$defs/Party_3"
        },
        "certifierJobTitle": {
          "type": "string",
          "description": "Specify the job title of the certifier"
        }
      },
      "description": "The instructions indicating commercial invoice certification of origin."
    },
    "Version": {
      "type": "object",
      "properties": {
        "major": {
          "description": "This version is incremented when significant changes are made to the API functionality. These could be breaking changes and might require code-adjustments from clients. Accepts only numbers",
          "type": "integer"
        },
        "minor": {
          "description": "This represents a backward-compatible bug fix or minor adjustment to an existing API functionality. This is the second number in API versioning scheme. Accepts only numbers",
          "type": "integer"
        },
        "patch": {
          "description": "This represents a backward-compatible bug fix or minor adjustment to an existing API functionality. This is the third number in API versioning scheme. Accepts only numbers",
          "type": "integer"
        }
      }
    }
  }
}