{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Tracker",
  "description": "Trackers allow you to monitor a shipment even though it wasn't created using shipcloud",
  "type": "object",
  "properties": {
    "carrier_tracking_no": {
      "type": "string",
      "description": "Tracking number (provided by the carrier) of the shipment which should be monitored"
    },
    "carrier": {
      "type": "string",
      "enum": ["dhl", "dhl_express", "dpag", "ups", "dpd", "hermes", "gls", "iloxx", "tnt", "fedex", "go", "parcel_one", "cargo_international"],
      "description": "acronym of the carrier the shipment was created with"
    },
    "to": {
      "$ref": "#/definitions/address",
      "description": "the receivers address"
    },
    "from": {
      "$ref": "#/definitions/address",
      "description": "the senders address"
    },
    "notification_email": {
      "type": "string",
      "description": "email address that we should notify once there's an update for this shipment"
    }
  },
  "required": ["carrier_tracking_no", "carrier"],
  "additionalProperties": false,
  "definitions": {
    "address": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "identifier of a previously created address"
        },
        "company": { "type": "string" },
        "first_name": { "type": "string" },
        "last_name": { "type": "string" },
        "care_of": { "type": "string" },
        "street": { "type": "string" },
        "street_no": { "type": "string" },
        "city": { "type": "string" },
        "zip_code": { "type": "string" },
        "state": { "type": "string" },
        "country": { "type": "string", "description": "Country as uppercase ISO 3166-1 alpha-2 code" },
        "phone": {
          "type": "string",
          "description": "telephone number"
        }
      },
      "required": ["last_name", "street", "street_no", "city", "zip_code", "country"],
      "additionalProperties": false
    }
  }
}

download