{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/fedex/json-schema/fedex-retrieve-subscription-output-vo-schema.json",
  "title": "RetrieveSubscriptionOutputVO",
  "description": "Response with subscriptionId",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/fedex-account-number-subscription-api-openapi.yml#/components/schemas/RetrieveSubscriptionOutputVO",
  "type": "object",
  "properties": {
    "output": {
      "$ref": "#/$defs/RetrieveSubscriptionOutputVO_output"
    }
  },
  "allOf": [
    {
      "$ref": "#/$defs/NSMCResponseVO"
    }
  ],
  "$defs": {
    "Account": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "Required to put account number"
        }
      },
      "description": "This specifies the associated Account number."
    },
    "Alert": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "description": "Specifies the api alert code."
        },
        "alertType": {
          "type": "string",
          "description": "Specifies the api alert type.",
          "enum": [
            "NOTE",
            "WARNING"
          ]
        },
        "parameterList": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Parameter"
          }
        },
        "message": {
          "type": "string",
          "description": "Specifies the api alert message."
        }
      },
      "description": "Specifies the api alerts."
    },
    "AlertsVO": {
      "type": "object",
      "properties": {
        "alerts": {
          "type": "array",
          "description": "specifies the alert",
          "items": {
            "$ref": "#/$defs/Alert"
          }
        }
      }
    },
    "NSMCResponseVO": {
      "type": "object",
      "properties": {
        "transactionId": {
          "type": "string",
          "description": "The transaction ID is a special set of numbers that defines each transaction."
        },
        "customerTransactionId": {
          "type": "string",
          "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply."
        },
        "output": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/AlertsVO"
            }
          ]
        }
      },
      "description": "This is a wrapper class for outputVO. Adding transactionID and customerTransactionID."
    },
    "NotificationDetails": {
      "type": "object",
      "properties": {
        "countryCode": {
          "type": "string",
          "description": "Specifies the country code  in which the email needs to be sent.<br>Example: US"
        },
        "emailAddresses": {
          "type": "array",
          "description": "Specifies an email address.<br>Example: abc@gmail.com",
          "items": {
            "type": "string"
          }
        },
        "languageCode": {
          "type": "string",
          "description": "Specifies the language in which the email needs to be sent.<br>Example: en"
        }
      },
      "description": "Specifies an email address and language in which user wants to receive email notifications any action gets performed on subscription."
    },
    "Parameter": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "Indicates the value associated with the key."
        },
        "key": {
          "type": "string",
          "description": "Identifies the error option to be applied."
        }
      },
      "description": "Parameter is a class having key-value pair."
    },
    "RetrieveSubscriptionOutputVO_output": {
      "properties": {
        "totalAccounts": {
          "type": "integer",
          "description": "Total number of account numbers in the subscription"
        },
        "subscription": {
          "$ref": "#/$defs/SubscriptionInfo"
        }
      }
    },
    "SubscriptionInfo": {
      "properties": {
        "accounts": {
          "type": "array",
          "description": "Specifies the list of account(s) for which user has subscribed for webhook notifications.",
          "items": {
            "$ref": "#/$defs/Account"
          }
        },
        "callbackData": {
          "$ref": "#/$defs/SubscriptionInfo_callbackData"
        },
        "createdDate": {
          "type": "string",
          "description": "Specifies the created date of the subscription <br> Format: [YYYY-MM-DDTHH:MM:SSZ]"
        },
        "features": {
          "type": "array",
          "description": "This is to configure the project by selecting from a number of features.",
          "items": {
            "$ref": "#/$defs/featureDetail"
          }
        },
        "isSecurityTokenExists": {
          "type": "boolean",
          "description": "Specifies if the security token is non empty"
        },
        "lastModifiedDate": {
          "type": "string",
          "description": "Specifies the last modification date of the subscription <br> Format: [YYYY-MM-DDTHH:MM:SSZ]"
        },
        "locale": {
          "type": "string",
          "description": "Specifies the locale in which subscription is requested."
        },
        "notificationDetail": {
          "$ref": "#/$defs/NotificationDetails"
        },
        "responseType": {
          "type": "string",
          "description": "Specifies the type of the response user/customer wants to be receive i.e either detailed or event specific.",
          "enum": [
            "DETAILED",
            "EVENT_SPECIFIC"
          ]
        },
        "status": {
          "type": "string",
          "description": "Specifies the status of the subscription.",
          "enum": [
            "ACTIVE",
            "SAVED",
            "CANCELED",
            "PAUSED",
            "FAILED",
            "PROCESSING"
          ]
        },
        "tier": {
          "type": "string",
          "description": "Describes the tier information for the subscription",
          "enum": [
            "BASIC"
          ]
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of Subscription. TRACKING is the only supported subscription type for now. This will be defaulted to TRACKING if not provided in the request."
        },
        "subType": {
          "type": "string",
          "description": "Specifies the subtype of Subscription. ACCOUNT is the default value if not provided.",
          "enum": [
            "ACCOUNT",
            "TRACKINGNUMBER_ANON"
          ]
        },
        "countDownDateToDeletion": {
          "type": "string",
          "description": "Specifies the date on which subscription will be auto deleted or canceled."
        },
        "billingAccountNumber": {
          "$ref": "#/$defs/Account"
        }
      },
      "description": "Describes the information related to the subscription such as subscription type, response type, events and accounts"
    },
    "SubscriptionInfo_callbackData": {
      "properties": {
        "destinationURL": {
          "type": "string",
          "description": "Specifies the server or destination URL where near real-time shipment updates will get pushed."
        },
        "name": {
          "type": "string",
          "description": "Specifies the unique name of the subscription."
        }
      },
      "description": "Describes subscription callback data such as URL, subscriptionName and securityToken"
    },
    "featureDetail": {
      "required": [
        "category",
        "subCategories"
      ],
      "type": "object",
      "properties": {
        "category": {
          "type": "string",
          "description": "This field and will allow the customer to request inclusion of proof of delivery, Estimated Delivery, event, filter category in webhook push.",
          "enum": [
            "RETRY_POLICY",
            "PROOF_OF_DELIVERY",
            "ESTIMATED_DELIVERY",
            "TRACKING_EVENTS",
            "EVENT_BASED_FILTERING"
          ]
        },
        "subCategories": {
          "type": "array",
          "description": "Sub Category specifies Individual selectable  features within a category such as Picture Proof of Delivery, Signature Proof of Delivery, Estimated delivery-Estimated Delivery Date and  Estimated Delivery time Window, events such as -Ship, in transit, delivery, exceptions and filters such as- inbound,outbound and Third Party",
          "items": {
            "type": "string",
            "enum": [
              "BASIC_HRS",
              "ADVANCED_HRS",
              "PPOD",
              "SPOD",
              "EDD",
              "EDTW",
              "SHIP",
              "FPOS",
              "NEWS",
              "TRAN",
              "DEL",
              "DCIF",
              "COMM",
              "EXC",
              "CDO",
              "INBOUND",
              "OUTBOUND",
              "THIRD_PARTY"
            ]
          }
        }
      }
    }
  }
}