{
  "openapi": "3.0.0",
  "servers": [
    {
      "url": "//api.ote-godaddy.com"
    }
  ],
  "info": {
    "title": "",
    "version": "1.0.0",
    "x-apisguru-categories": [
      "hosting"
    ],
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://developer.godaddy.com/swagger/swagger_subscriptions.json",
        "version": "2.0"
      }
    ],
    "x-providerName": "ote-godaddy.com",
    "x-serviceName": "subscriptions",
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_apis.guru_assets_images_no-logo.svg"
    }
  },
  "tags": [
    {
      "description": "",
      "name": "v1"
    }
  ],
  "paths": {
    "/v1/subscriptions": {
      "get": {
        "operationId": "list",
        "parameters": [
          {
            "description": "Shopper ID to return subscriptions for when not using JWT",
            "in": "header",
            "name": "X-Shopper-Id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The market that the response should be formatted for",
            "in": "header",
            "name": "X-Market-Id",
            "required": false,
            "schema": {
              "default": "en-US",
              "type": "string"
            }
          },
          {
            "description": "Only return Subscriptions with the specified product groups",
            "explode": false,
            "in": "query",
            "name": "productGroupKeys",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Optional details to be included in the response",
            "explode": false,
            "in": "query",
            "name": "includes",
            "required": false,
            "schema": {
              "enum": [
                "addons",
                "relations"
              ],
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Number of Subscriptions to skip before starting to return paged results (must be a multiple of the limit)",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "type": "integer"
            }
          },
          {
            "description": "Number of Subscriptions to retrieve in this page, starting after offset",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 25,
              "maximum": 2000,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Property name that will be used to sort results. \"-\" indicates descending",
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "default": "-expiresAt",
              "enum": [
                "expiresAt",
                "-expiresAt"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionList"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionList"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionList"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionList"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionList"
                }
              }
            },
            "description": "Request was successful"
          },
          "400": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Request was malformed"
          },
          "401": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Authentication info not sent or invalid"
          },
          "403": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Authenticated user is not allowed access"
          },
          "422": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Invalid query parameter (custom message returned for each parameter)"
          },
          "429": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorLimit"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorLimit"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorLimit"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorLimit"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorLimit"
                }
              }
            },
            "description": "Too many requests received within interval"
          },
          "500": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "summary": "Retrieve a list of Subscriptions for the specified Shopper",
        "tags": [
          "v1"
        ]
      }
    },
    "/v1/subscriptions/productGroups": {
      "get": {
        "operationId": "productGroups",
        "parameters": [
          {
            "description": "Shopper ID to return data for when not using JWT",
            "in": "header",
            "name": "X-Shopper-Id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The market that the response should be formatted for",
            "in": "header",
            "name": "X-Market-Id",
            "required": false,
            "schema": {
              "default": "en-US",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/javascript": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ProductGroup"
                  },
                  "type": "array"
                }
              },
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ProductGroup"
                  },
                  "type": "array"
                }
              },
              "application/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ProductGroup"
                  },
                  "type": "array"
                }
              },
              "text/javascript": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ProductGroup"
                  },
                  "type": "array"
                }
              },
              "text/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ProductGroup"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Request was successful"
          },
          "400": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Request was malformed"
          },
          "401": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Authentication info not sent or invalid"
          },
          "403": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Authenticated user is not allowed access"
          },
          "429": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorLimit"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorLimit"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorLimit"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorLimit"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorLimit"
                }
              }
            },
            "description": "Too many requests received within interval"
          },
          "500": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "summary": "Retrieve a list of ProductGroups for the specified Shopper",
        "tags": [
          "v1"
        ]
      }
    },
    "/v1/subscriptions/{subscriptionId}": {
      "delete": {
        "operationId": "cancel",
        "parameters": [
          {
            "description": "Shopper ID to cancel subscriptions for when not using JWT",
            "in": "header",
            "name": "X-Shopper-Id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Unique identifier of the Subscription to cancel",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Request was successful"
          },
          "400": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Request was malformed"
          },
          "401": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Authentication info not sent or invalid"
          },
          "403": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Authenticated user is not allowed access"
          },
          "404": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Resource not found"
          },
          "422": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Failed to determine if the domain is protected (invalid domain ID)<br>Invalid Subscription Id<br>The Office 365 Subscription cannot be cancelled (shopper is migrating)<br>The Subscription cannot be cancelled<br>The Subscription cannot be cancelled (PFID is disabled for cancellation)<br>The Subscription cannot be cancelled (domain is protected)<br>The domain alert Subscription cannot be cancelled"
          },
          "429": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorLimit"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorLimit"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorLimit"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorLimit"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorLimit"
                }
              }
            },
            "description": "Too many requests received within interval"
          },
          "500": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Failed to determine if the Office 365 account is migrating<br>Failed to determine if the domain alert is cancellable<br>Failed to determine if the domain is protected<br>Internal server error"
          },
          "504": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Gateway timeout"
          }
        },
        "summary": "Cancel the specified Subscription",
        "tags": [
          "v1"
        ]
      },
      "get": {
        "operationId": "get",
        "parameters": [
          {
            "description": "Shopper ID to be operated on, if different from JWT",
            "in": "header",
            "name": "X-Shopper-Id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Unique identifier of the Market in which the request is happening",
            "in": "header",
            "name": "X-Market-Id",
            "required": false,
            "schema": {
              "default": "en-US",
              "type": "string"
            }
          },
          {
            "description": "Unique identifier of the Subscription to retrieve",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              }
            },
            "description": "Request was successful"
          },
          "400": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Request was malformed"
          },
          "401": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Authentication info not sent or invalid"
          },
          "403": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Authenticated user is not allowed access"
          },
          "404": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Resource not found"
          },
          "422": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Invalid Subscription Id"
          },
          "429": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorLimit"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorLimit"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorLimit"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorLimit"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorLimit"
                }
              }
            },
            "description": "Too many requests received within interval"
          },
          "500": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Internal server error"
          },
          "504": {
            "content": {
              "application/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/javascript": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Gateway timeout"
          }
        },
        "summary": "Retrieve details for the specified Subscription",
        "tags": [
          "v1"
        ]
      },
      "patch": {
        "description": "Only Subscription properties that can be changed without immediate financial impact can be modified via PATCH, whereas some properties can be changed by purchasing a renewal<br/><strong>This endpoint only supports JWT authentication</strong>",
        "operationId": "update",
        "parameters": [
          {
            "description": "Unique identifier of the Subscription to update",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubscriptionUpdate"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/SubscriptionUpdate"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/SubscriptionUpdate"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/SubscriptionUpdate"
              }
            }
          },
          "description": "Details of the Subscription to change",
          "required": true
        },
        "responses": {
          "204": {
            "description": "Request was successful"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Request was malformed"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Authentication info not sent or invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Authenticated user is not allowed access <br> This method only supports JWT authentication"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Subscription not found <br> Payment profile not found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "summary": "Update details for the specified Subscription",
        "tags": [
          "v1"
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "Error": {
        "properties": {
          "code": {
            "description": "Short identifier for the error, suitable for indicating the specific error within client code",
            "format": "constant",
            "type": "string"
          },
          "fields": {
            "description": "List of the specific fields, and the errors found with their contents",
            "items": {
              "$ref": "#/components/schemas/ErrorField"
            },
            "type": "array"
          },
          "message": {
            "description": "Human-readable, English description of the error",
            "type": "string"
          }
        },
        "required": [
          "code"
        ]
      },
      "ErrorField": {
        "properties": {
          "code": {
            "description": "Short identifier for the error, suitable for indicating the specific error within client code",
            "format": "constant",
            "type": "string"
          },
          "message": {
            "description": "Human-readable, English description of the problem with the contents of the field",
            "type": "string"
          },
          "path": {
            "description": "<ul>\n<li style='margin-left: 12px;'>JSONPath referring to a field containing an error</li>\n<strong style='margin-left: 12px;'>OR</strong>\n<li style='margin-left: 12px;'>JSONPath referring to a field that refers to an object containing an error, with more detail in `pathRelated`</li>\n</ul>",
            "format": "json-path",
            "type": "string"
          },
          "pathRelated": {
            "description": "JSONPath referring to a field containing an error, which is referenced by `path`",
            "format": "json-path",
            "type": "string"
          }
        },
        "required": [
          "path",
          "code"
        ]
      },
      "ErrorLimit": {
        "properties": {
          "code": {
            "description": "Short identifier for the error, suitable for indicating the specific error within client code",
            "format": "constant",
            "type": "string"
          },
          "fields": {
            "description": "List of the specific fields, and the errors found with their contents",
            "items": {
              "$ref": "#/components/schemas/ErrorField"
            },
            "type": "array"
          },
          "message": {
            "description": "Human-readable, English description of the error",
            "type": "string"
          },
          "retryAfterSec": {
            "description": "Number of seconds to wait before attempting a similar request",
            "format": "integer-positive",
            "type": "integer"
          }
        },
        "required": [
          "retryAfterSec",
          "code"
        ]
      },
      "Pagination": {
        "properties": {
          "first": {
            "description": "URI to access the first page",
            "type": "string"
          },
          "last": {
            "description": "URI to access the last page",
            "type": "string"
          },
          "next": {
            "description": "URI to access the next page",
            "type": "string"
          },
          "previous": {
            "description": "URI to access the previous page",
            "type": "string"
          },
          "total": {
            "description": "Number of records available",
            "type": "integer"
          }
        }
      },
      "ProductGroup": {
        "properties": {
          "productGroupKey": {
            "description": "Primary key of a grouping of related Subscriptions",
            "type": "string"
          },
          "subscriptionCount": {
            "description": "The number of Subscriptions that the shopper owns in this group",
            "type": "integer"
          }
        },
        "required": [
          "productGroupKey",
          "subscriptionCount"
        ]
      },
      "Subscription": {
        "properties": {
          "addons": {
            "description": "An array of additional products that have been purchased to augment this Subscription",
            "items": {
              "$ref": "#/components/schemas/SubscriptionAddon"
            },
            "type": "array"
          },
          "billing": {
            "$ref": "#/components/schemas/SubscriptionBilling"
          },
          "cancelable": {
            "description": "Whether or not the Subscription is allowed to be canceled",
            "type": "boolean"
          },
          "createdAt": {
            "description": "When the Subscription was created",
            "format": "iso-datetime",
            "type": "string"
          },
          "expiresAt": {
            "description": "When the Subscription will expire",
            "format": "iso-datetime",
            "type": "string"
          },
          "label": {
            "description": "A human readable description of this Subscription",
            "type": "string"
          },
          "launchUrl": {
            "description": "The url to use or manage this Subscription's active product",
            "format": "url",
            "type": "string"
          },
          "paymentProfileId": {
            "description": "Unique identifier of the payment profile that will be used to automatically renew this Subscription",
            "type": "integer"
          },
          "priceLocked": {
            "description": "Whether the renewal price will be based from the list price or a locked-in price for this shopper",
            "type": "boolean"
          },
          "product": {
            "$ref": "#/components/schemas/SubscriptionProduct"
          },
          "relations": {
            "$ref": "#/components/schemas/SubscriptionRelations"
          },
          "renewAuto": {
            "description": "Whether or not the Subscription is set to be automatically renewed via the billing agent",
            "type": "boolean"
          },
          "renewable": {
            "description": "Whether or not the Subscription is allowed to be renewed",
            "type": "boolean"
          },
          "status": {
            "description": "Whether the Subscription is active or the specific non-active state",
            "enum": [
              "ACTIVE",
              "PENDING",
              "CANCELED"
            ],
            "type": "string"
          },
          "subscriptionId": {
            "description": "Unique identifier of the Subscription",
            "type": "string"
          },
          "upgradeable": {
            "description": "Whether or not the Subscription is allowed to be upgraded",
            "type": "boolean"
          }
        },
        "required": [
          "subscriptionId",
          "status",
          "product",
          "createdAt",
          "billing",
          "renewable",
          "upgradeable",
          "priceLocked",
          "renewAuto"
        ]
      },
      "SubscriptionAddon": {
        "properties": {
          "commitment": {
            "description": "The financial commitment the customer has in the product",
            "enum": [
              "PAID",
              "FREE",
              "TRIAL"
            ],
            "type": "string"
          },
          "pfid": {
            "description": "Unique identifier of the add-in product",
            "type": "integer"
          },
          "quantity": {
            "type": "integer"
          }
        },
        "required": [
          "pfid",
          "commitment",
          "quantity"
        ]
      },
      "SubscriptionBilling": {
        "properties": {
          "commitment": {
            "description": "The financial commitment the customer has in the product",
            "enum": [
              "PAID",
              "FREE",
              "TRIAL"
            ],
            "type": "string"
          },
          "pastDueTypes": {
            "description": "The types of charges that are past due when `status` is PAST_DUE",
            "items": {
              "enum": [
                "ADDON",
                "BURST",
                "SUBSCRIPTION"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "renewAt": {
            "description": "The point in time after which the Subscription will bill for automatic renewal",
            "format": "iso-datetime",
            "type": "string"
          },
          "status": {
            "description": "Whether payments are past due",
            "enum": [
              "CURRENT",
              "PAST_DUE"
            ],
            "type": "string"
          }
        },
        "required": [
          "renewAt",
          "status",
          "commitment"
        ]
      },
      "SubscriptionList": {
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          },
          "subscriptions": {
            "description": "A collection of subscriptions",
            "items": {
              "$ref": "#/components/schemas/Subscription"
            },
            "type": "array"
          }
        },
        "required": [
          "subscriptions",
          "pagination"
        ]
      },
      "SubscriptionProduct": {
        "properties": {
          "label": {
            "description": "A human readable description of the Product that is subscribed",
            "type": "string"
          },
          "namespace": {
            "description": "Grouping of related Subscriptions",
            "type": "string"
          },
          "pfid": {
            "description": "Unique identifier of the Product that is subscribed",
            "type": "integer"
          },
          "productGroupKey": {
            "description": "Primary key of a grouping of related Subscriptions",
            "type": "string"
          },
          "renewalPeriod": {
            "description": "The number of `renewalPeriodUnits` that will be added by the `renewalPfid`",
            "type": "integer"
          },
          "renewalPeriodUnit": {
            "description": "The unit of time that `renewalPeriod` is measured in",
            "enum": [
              "MONTH",
              "QUARTER",
              "SEMI_ANNUAL",
              "YEAR"
            ],
            "type": "string"
          },
          "renewalPfid": {
            "description": "Unique identifier of the renewal Product",
            "type": "integer"
          },
          "supportBillOn": {
            "description": "Whether the product supports the `billOn` option on the renewal endpoint",
            "type": "boolean"
          }
        },
        "required": [
          "pfid",
          "label",
          "renewalPfid",
          "renewalPeriod",
          "renewalPeriodUnit",
          "productGroupKey",
          "supportBillOn",
          "namespace"
        ]
      },
      "SubscriptionRelations": {
        "properties": {
          "children": {
            "description": "A set of related Subscriptions that will be canceled automatically if this Subscription is canceled",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "parent": {
            "description": "Unique identifier of this Subscription's parent",
            "type": "string"
          }
        }
      },
      "SubscriptionUpdate": {
        "properties": {
          "paymentProfileId": {
            "description": "Unique identifier of the payment profile you want to be used for automatic renewal",
            "type": "integer"
          },
          "renewAuto": {
            "description": "Whether or not you want the Subscription renew automatically",
            "type": "boolean"
          }
        }
      }
    }
  }
}