{
  "openapi" : "3.1.0",
  "info" : {
    "title" : "Chargebee API",
    "contact" : {
      "name" : "Chargebee Support",
      "url" : "https://www.chargebee.com",
      "email" : "support@chargebee.com"
    },
    "version" : "2026-05-08.dd2c2397a1673d374127e2311974b61d3e84350d",
    "x-cb-api-version" : 1,
    "x-cb-product-catalog-version" : 1,
    "x-generated-on" : 1778229102909
  },
  "servers" : [ {
    "url" : "{protocol}://{site}.{environment}:{port}/api/v1",
    "variables" : {
      "protocol" : {
        "default" : "https",
        "enum" : [ "https" ]
      },
      "site" : {
        "default" : "demo"
      },
      "environment" : {
        "default" : "chargebee.com",
        "enum" : [ "chargebee.com" ]
      },
      "port" : {
        "default" : "443",
        "enum" : [ "443" ]
      }
    }
  }, {
    "url" : "{protocol}://{site}-test.{environment}:{port}/api/v1",
    "variables" : {
      "protocol" : {
        "default" : "https",
        "enum" : [ "https" ]
      },
      "site" : {
        "default" : "demo"
      },
      "environment" : {
        "default" : "chargebee.com",
        "enum" : [ "chargebee.com" ]
      },
      "port" : {
        "default" : "443",
        "enum" : [ "443" ]
      }
    }
  } ],
  "paths" : {
    "/subscriptions/{subscription-id}/remove_scheduled_changes" : {
      "post" : {
        "summary" : "Remove scheduled changes",
        "description" : "Removes the subscription changes scheduled on next renewal. Advance charges, if any, will be refunded as credits and a new invoice will be generated on renewal.\n",
        "operationId" : "remove_scheduled_changes",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "subscription-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/subscription-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "subscription" : {
                      "$ref" : "#/components/schemas/Subscription",
                      "description" : "<p class=\"mb-2\">Resource object representing subscription</p>"
                    },
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    }
                  },
                  "required" : [ "customer", "subscription" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/subscriptions/{subscription-id}/change_term_end" : {
      "post" : {
        "summary" : "Change term end",
        "description" : "Changes the subscription's current term end date. Depending on the \"status\" of the subscription, \"term end date\" has different effects.\n\n* If the Subscription is in **trial**, it affects trial end date.\n* If the Subscription is **active**, it affects the next billing date.\n* If the Subscription's status is **non_renewing**, this affects the upcoming cancellation date.\n\nWhen changing the current term there won't be any prorations calculated. All future renewals(if applicable) of the subscription will be shifted based on the new date.\n\n**Tip**: To cycle through a couple of billing cycles and test webhooks, you may use this API.  \nAdvance charges, if any, will be refunded as credits and a new invoice will be generated on renewal.\n",
        "operationId" : "change_term_end",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "subscription-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/subscription-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "term_ends_at" : {
                    "type" : "integer",
                    "format" : "unix-time",
                    "deprecated" : false,
                    "description" : "The time at which the current term should end for this subscription.\n",
                    "example" : null
                  }
                },
                "required" : [ "term_ends_at" ],
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "subscription" : {
                      "$ref" : "#/components/schemas/Subscription",
                      "description" : "<p class=\"mb-2\">Resource object representing subscription</p>"
                    },
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    }
                  },
                  "required" : [ "customer", "subscription" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/customers/{customer-id}/subscriptions" : {
      "get" : {
        "summary" : "List subscriptions for a customer",
        "description" : "Retrieves the list of subscriptions for a customer sorted by recent created ones on top\n",
        "operationId" : "list_subscriptions_for_a_customer",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "customer-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/customer-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The number of resources to be returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10,
            "description" : "The number of resources to be returned.\n",
            "maximum" : 100,
            "minimum" : 1,
            "example" : null
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "<p class=\"mb-2\">Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">offset</code>\nto the value of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">next_offset</code>\nobtained in the previous iteration of the API call.</p>",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "description" : "Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set 'offset' to the value of 'next_offset' obtained in the previous iteration of the API call.\n",
            "maxLength" : 1000,
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "list" : {
                      "type" : "array",
                      "items" : {
                        "type" : "object",
                        "properties" : {
                          "subscription" : {
                            "$ref" : "#/components/schemas/Subscription",
                            "description" : "<p class=\"mb-2\">Resource object representing subscription</p>"
                          }
                        },
                        "required" : [ "subscription" ],
                        "example" : null
                      },
                      "example" : null
                    },
                    "next_offset" : {
                      "type" : "string",
                      "description" : "This attribute is returned only if more resources are present. To fetch the next set of resources use this value for the input parameter `offset`.",
                      "maxLength" : 1000,
                      "example" : null
                    }
                  },
                  "required" : [ "list" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      },
      "post" : {
        "summary" : "Create subscription for customer",
        "description" : "**Note:**\nThis operation optionally supports 3DS verification flow. To achieve the same, create the [Payment Intent](/docs/api/getting-started)\nand pass it as input parameter to this API.\n\nCreates a new subscription for an existing customer. You can attach a plan, plan quantity, one or more addons and coupon while creating this subscription.\n\nIf the plan does not have a trial period and if any of the recurring-item has charges, then the customer is charged immediately if auto_collection is turned 'on'. In that case, subscription is created only if the customer has a payment method on file and attempted payment is successful.  \nIf an invoice gets generated during this operation, available Credits and Excess Payments will be automatically applied.\n",
        "operationId" : "create_subscription_for_customer",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "customer-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/customer-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "additionalProperties" : true,
                "properties" : {
                  "id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "A unique and immutable identifier for the subscription. If not provided, it is autogenerated.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "plan_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Identifier of the plan for this subscription.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "plan_quantity" : {
                    "type" : "integer",
                    "format" : "int32",
                    "default" : 1,
                    "deprecated" : false,
                    "description" : "Plan quantity for this subscription.\n",
                    "minimum" : 1,
                    "example" : null
                  },
                  "trial_end" : {
                    "type" : "integer",
                    "format" : "unix-time",
                    "deprecated" : false,
                    "description" : "The time at which the trial ends for this subscription. Can be specified to override the default trial period.If **'0'**\nis passed, the subscription will be activated immediately.\n",
                    "example" : null
                  },
                  "billing_cycles" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "description" : "Number of cycles(plan interval) this subscription should be charged. After the billing cycles exhausted, the subscription will be cancelled.\n",
                    "minimum" : 0,
                    "example" : null
                  },
                  "start_date" : {
                    "type" : "integer",
                    "format" : "unix-time",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The date/time at which the subscription is to start. If not provided, the subscription starts immediately. You can provide a value in the past as well. This is called backdating the subscription creation and is done when the subscription has already been provisioned but its billing has been delayed. Backdating is allowed only when the following prerequisites are met:</p>\n<ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">Backdating is enabled for subscription creation operations.</li>\n<li class=\"text-base leading-relaxed\">The current day of the month does not exceed the limit set in Chargebee for backdating such operations. This day is typically the day of the month by which the accounting for the previous month must be closed.</li>\n<li class=\"text-base leading-relaxed\">The date is not more than duration X into the past, where X is the billing period of the plan. For example, if the period of the plan in the subscription is 2 months and today is 14th April, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">start_date</code> cannot be earlier than 14th February.\n.</li>\n</ul>",
                    "example" : null
                  },
                  "coupon" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The id of the coupon. For validating the coupon code provided by the user , use the following codes in combination with the param attribute in the error response.\n\n* **resource_not_found :** Returned if the coupon is not present.\n* **resource_limit_exhausted :** Returned if the coupon has expired or the maximum redemption for the coupon has already been reached.\n* **invalid_request :** Returned if the coupon is not applicable for the particular plan/addon.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "po_number" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Purchase order number for this subscription.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "invoice_notes" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "A customer-facing note added to all invoices associated with this subscription. This note is one among [all the notes](/docs/api/invoices/invoice-object#notes)\ndisplayed on the invoice PDF.\n",
                    "maxLength" : 2000,
                    "example" : null
                  },
                  "meta_data" : {
                    "type" : "object",
                    "additionalProperties" : true,
                    "deprecated" : false,
                    "description" : "A set of key-value pairs stored as additional information for the subscription. \\[Learn more\\](/docs/api/v1/subscriptions) .\n",
                    "example" : null
                  },
                  "shipping_address" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for shipping_address\n",
                    "properties" : {
                      "first_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The first name of the contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "last_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The last name of the contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "email" : {
                        "type" : "string",
                        "format" : "email",
                        "deprecated" : false,
                        "description" : "The email address.\n",
                        "maxLength" : 70,
                        "example" : null
                      },
                      "company" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The company name.\n",
                        "maxLength" : 250,
                        "example" : null
                      },
                      "phone" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The phone number.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "line1" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 1\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "line2" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 2\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "line3" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 3\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "city" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The name of the city.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "state_code" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search/code\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "state" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The state/province name. Is set by Chargebee automatically for US, Canada and India If <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nis provided.</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "zip" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Zip or postal code. The number of characters is validated according to the rules [specified here](https://chromium-i18n.appspot.com/ssl-address)\n.\n",
                        "maxLength" : 20,
                        "example" : null
                      },
                      "country" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
                        "maxLength" : 50,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "payment_intent" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for payment_intent\n",
                    "properties" : {
                      "id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier for PaymentIntent generated by Chargebee.js. Applicable only when you are using Chargebee.js for completing the 3DS flow. The PaymentIntent should be in 'authorized' state while passing it here. You need not pass other PaymentIntent parameters if this is passed.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "gateway_account_id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The gateway account used for performing the 3DS flow.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "gw_token" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier for 3DS transaction/verification object at the gateway. Can be passed only after successfully completing the 3DS flow. Refer [3DS implementation in Chargebee](/docs/api/3ds_card_payments)\nto find out the gateway-specific gw_token format. Applicable when you are using gateway APIs directly for completing the 3DS flow.\n",
                        "maxLength" : 65000,
                        "example" : null
                      },
                      "reference_id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier for Braintree permanent token. Applicable when you are using Braintree APIs for completing the 3DS flow.\n",
                        "maxLength" : 65000,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "addons" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for addons\n",
                    "properties" : {
                      "id" : {
                        "type" : "array",
                        "description" : "Identifier of the addon. Multiple addons can be passed.\n",
                        "items" : {
                          "type" : "string",
                          "deprecated" : false,
                          "maxLength" : 100,
                          "example" : null
                        },
                        "example" : null
                      },
                      "quantity" : {
                        "type" : "array",
                        "description" : "<p class=\"mb-2\">Quantity of the addon. Applicable for addons with <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">pricing_model</code>\nother than <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">flat_fee</code>\n.</p>",
                        "items" : {
                          "type" : "integer",
                          "format" : "int32",
                          "default" : 1,
                          "deprecated" : false,
                          "minimum" : 1,
                          "example" : null
                        },
                        "example" : null
                      }
                    },
                    "example" : null
                  }
                },
                "required" : [ "plan_id" ],
                "example" : null
              },
              "encoding" : {
                "addons" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "payment_intent" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "shipping_address" : {
                  "style" : "deepObject",
                  "explode" : true
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "subscription" : {
                      "$ref" : "#/components/schemas/Subscription",
                      "description" : "<p class=\"mb-2\">Resource object representing subscription</p>"
                    },
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    },
                    "invoice" : {
                      "$ref" : "#/components/schemas/Invoice",
                      "description" : "<p class=\"mb-2\">Resource object representing invoice</p>"
                    }
                  },
                  "required" : [ "customer", "subscription" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/subscriptions/{subscription-id}/delete" : {
      "post" : {
        "summary" : "Delete a subscription",
        "description" : "Deletes the subscription resource.  \nThis operation is irreversible - all data related to the subscription, such as invoices, transactions, and reports, will be deleted.\n**Note:** This operation schedules the subscription resource for deletion. It will be deleted in a few minutes.\n",
        "operationId" : "delete_a_subscription",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "subscription-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/subscription-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "subscription" : {
                      "$ref" : "#/components/schemas/Subscription",
                      "description" : "<p class=\"mb-2\">Resource object representing subscription</p>"
                    },
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    }
                  },
                  "required" : [ "customer", "subscription" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/subscriptions/{subscription-id}/remove_scheduled_cancellation" : {
      "post" : {
        "summary" : "Remove scheduled cancellation",
        "description" : "If the subscription is in **Non Renewing** or **In Trial** state and is also scheduled to cancel at the end of current term, then this API can be used to remove the scheduled cancellation. When a scheduled cancellation is removed, the subscription will revert to **Active** or **In Trial** state, whichever is the state before cancellation was scheduled.\n\nWhile removing the scheduled cancellation, you may specify the number of billing cycles. If the billing cycle is not specified, the default billing cycle from the plan will be applied on the subscription.\n",
        "operationId" : "remove_scheduled_cancellation",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "subscription-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/subscription-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "billing_cycles" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "description" : "Number of cycles(plan interval) this subscription should be charged. After the billing cycles exhausted, the subscription will be cancelled.\n",
                    "minimum" : 0,
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "subscription" : {
                      "$ref" : "#/components/schemas/Subscription",
                      "description" : "<p class=\"mb-2\">Resource object representing subscription</p>"
                    },
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    }
                  },
                  "required" : [ "customer", "subscription" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/subscriptions/{subscription-id}/retrieve_with_scheduled_changes" : {
      "get" : {
        "summary" : "Retrieve with scheduled changes",
        "description" : "Retrieves a subscription with the scheduled changes applied.\n**Note:** Only the following attributes are changed\n\n* plan_id\n* plan_quantity\n* remaining_billing_cycles\n* addons\n* coupons Other attributes such as **status** ,**next_billing_at** are not changed and will reflect the current subscription values.\n",
        "operationId" : "retrieve_with_scheduled_changes",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "subscription-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/subscription-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "subscription" : {
                      "$ref" : "#/components/schemas/Subscription",
                      "description" : "<p class=\"mb-2\">Resource object representing subscription</p>"
                    },
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    }
                  },
                  "required" : [ "customer", "subscription" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/subscriptions/{subscription-id}/reactivate" : {
      "post" : {
        "summary" : "Reactivate a subscription",
        "description" : "**Note:**\nThis operation optionally supports 3DS verification flow. To achieve the same, create the [Payment Intent](/docs/api/getting-started)\nand pass it as input parameter to this API.\n\nThis API is used to reactivate a **cancelled** subscription. You may also optionally specify a trial end date, to move the subscription to **In Trial** state. If trial end is not specified, the subscription will be activated and any applicable charges will be initiated.\n\nUnless the billing cycle is specified, it will be set to plan's default billing cycle.\n\nDuring an in-term reactivation++, unless the billing cycle is specified, the subscription's remaining billing cycles will be restored. If a trial end date is specified, then the plan's default billing cycle is used.\n\n**What is an \"in-term reactivation\"?**\nAn \"in-term reactivation\" happens when the billing term of the subscription is retained upon cancellation and reactivation is initiated within that term.\n\n**When is the 'billing term' retained for a cancelled subscription?**\nWhen dunning (payment failure retry settings) is configured with the last retry configured as\n\n* cancel subscription and mark invoice as 'Not Paid', or\n* cancel subscription and mark the invoice as 'Voided' and the case if any of the current term invoices is partially or fully paid, the invoice is not voided but instead Chargebee marks the invoices as 'Not Paid'.\n\n**Note :** In both cases, the billing term is retained and upon reactivation the subscription will be moved to active state (if the plan does not have a trial period) and no invoice will be generated. Ensure that you collect any unpaid invoices.\n\n**Example :** A Subscription was billed from 1st to 31st of a month and it was cancelled on the 20th due to one of the above cases (billing term is not reset). If the reactivation happens on 25th then it is considered an in-term reactivation.  \nReactivation of a subscription in **non_renewing** state has been deprecated. To remove a scheduled cancellation of a **non_renewing** Subscription, use [Remove Scheduled Cancellation](/docs/api/v1/subscriptions/remove-scheduled-cancellation) API.\nHowever, if you use reactivate API to remove scheduled cancellation for a **non_renewing** Subscription, then the status will be set to **active** and the billing cycle will be set to forever. If any value is passed for trial_end or billing cycle, an error will be thrown.\nIf an invoice gets generated during this operation, available Credits and Excess Payments will be automatically applied.\n**Additional Error Scenarios:** If there is a need to create an immediate charge and the collection fails, an error will be thrown.\n",
        "operationId" : "reactivate_a_subscription",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "subscription-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/subscription-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "trial_end" : {
                    "type" : "integer",
                    "format" : "unix-time",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">Providing this parameter indicates that the subscription reactivates with an <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">in_trial</code>\n<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">status</code>\nand the trial period ends at the date provided. The value must not be earlier than <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">reactivate_from</code>.\nNote: This parameter can be backdated (set to a value in the past) only when <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">reactivate_from</code>\nhas been backdated. Do this to keep a record of when the trial ended in case it ended at some point in the past. When <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">trial_end</code>\nis backdated, the subscription immediately goes into <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">active</code>\nor <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">non_renewing</code>\nstatus.</p>",
                    "example" : null
                  },
                  "billing_cycles" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "description" : "Number of cycles(plan interval) this subscription should be charged. After the billing cycles exhausted, the subscription will be cancelled.\n",
                    "minimum" : 0,
                    "example" : null
                  },
                  "payment_intent" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for payment_intent\n",
                    "properties" : {
                      "id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier for PaymentIntent generated by Chargebee.js. Applicable only when you are using Chargebee.js for completing the 3DS flow. The PaymentIntent should be in 'authorized' state while passing it here. You need not pass other PaymentIntent parameters if this is passed.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "gateway_account_id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The gateway account used for performing the 3DS flow.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "gw_token" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier for 3DS transaction/verification object at the gateway. Can be passed only after successfully completing the 3DS flow. Refer [3DS implementation in Chargebee](/docs/api/3ds_card_payments)\nto find out the gateway-specific gw_token format. Applicable when you are using gateway APIs directly for completing the 3DS flow.\n",
                        "maxLength" : 65000,
                        "example" : null
                      },
                      "reference_id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier for Braintree permanent token. Applicable when you are using Braintree APIs for completing the 3DS flow.\n",
                        "maxLength" : 65000,
                        "example" : null
                      }
                    },
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : {
                "payment_intent" : {
                  "style" : "deepObject",
                  "explode" : true
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "subscription" : {
                      "$ref" : "#/components/schemas/Subscription",
                      "description" : "<p class=\"mb-2\">Resource object representing subscription</p>"
                    },
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    },
                    "invoice" : {
                      "$ref" : "#/components/schemas/Invoice",
                      "description" : "<p class=\"mb-2\">Resource object representing invoice</p>"
                    }
                  },
                  "required" : [ "customer", "subscription" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/subscriptions/{subscription-id}" : {
      "get" : {
        "summary" : "Retrieve a subscription",
        "description" : "Retrieves a subscription.\n",
        "operationId" : "retrieve_a_subscription",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "subscription-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/subscription-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "subscription" : {
                      "$ref" : "#/components/schemas/Subscription",
                      "description" : "<p class=\"mb-2\">Resource object representing subscription</p>"
                    },
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    }
                  },
                  "required" : [ "customer", "subscription" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      },
      "post" : {
        "summary" : "Update a subscription",
        "description" : "**Note:**\nThis operation optionally supports 3DS verification flow. To achieve the same, create the [Payment Intent](/docs/api/getting-started)\nand pass it as input parameter to this API.\n\nYou can modify the plan, plan quantity and add or remove addons for the subscription. By default the changes are applied immediately and the charges (/credits) are prorated and adjusted with the next billing term. You may also choose to effect the changes at the end of the current term by passing **end_of_term** as \"true\". In this case proration will not be done.\n\nOnly the parameters that are passed are modified for the subscription. Rest will reflect the existing values.\n\nBy default, the addons passed are appended to the existing list of addons for this subscription. In case a passed addon already exists for this subscription, quantity value is replaced. If you want to completely replace the addons for this subscription, pass **replace_addon_list** as \"true\".\n\n[Card](/docs/api/v1/cards/card-object) and 'vat_number' attributes can also be passed during subscription update. If they are passed, corresponding Billing Info attributes - the [Billing Address](/docs/api/v1/customers/customer-object) and 'vat_number' - will be replaced automatically.\n\nPassing credit card details to this API involves PCI liability at your end as sensitive card info passes through your servers. If you wish to avoid that, you can use one of the following integration methodologies if applicable\n\n* If you are using Stripe gateway, you can use [Stripe.js](https://stripe.com/docs/stripe.js) with your checkout form. Take a look at this [Stripe tutorial](https://stripe.com/docs/payments/accept-a-payment-charges) for more details.\n* If you are using Braintree gateway, you can use [Braintree.js](https://www.braintreepayments.com/docs/javascript) with your checkout form.\n* You can also use our [Hosted Pages](https://www.chargebee.com/docs/hosted_pages.html) based integration.\n\n**Proration Scenario:**\nA customer changes from a $15 plan to $30 plan after 15 days of a monthly term. He will be billed a total of $7.50 immediately. Calculation will be as follows:  \n\n|---------------------------------------------|---------|\n| Prorated Charge(New Plan)                   | $15.00  |\n| Prorated Credit(Old Plan) for unused period | ($7.50) |\n| Total prorated amount                       | $7.50   |\n\nDowngrading will result in credit being created which will be applied when the subscription is charged on start of the next term.\n\n**Billing Cycle:** The billing period for a subscription does not change if the plans intervals of both old and new are same. However, if a customer changes to a plan that has different billing interval(say monthly to yearly), the billing period is reset. Customer is charged immediately for the modified subscription after applying credit for the unused period for the old subscription.\n\n**Card and VAT number Input:** If they are passed, corresponding [Billing Address](/docs/api/v1/customers/customer-object) attributes and [vat_number](/docs/api/v1/customers/customer-object) will be replaced. i.e existing values for Billing Address and 'vat_number' will be cleared and the new values will be set.\nIf an invoice gets generated during this operation, available Credits and Excess Payments will be automatically applied.\n\n**Advance charges**, if any, will be refunded as credits and a new invoice will be generated on renewal.\n",
        "operationId" : "update_a_subscription",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "subscription-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/subscription-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "additionalProperties" : true,
                "properties" : {
                  "plan_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Identifier of the plan for this subscription.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "plan_quantity" : {
                    "type" : "integer",
                    "format" : "int32",
                    "default" : 1,
                    "deprecated" : false,
                    "description" : "Represents the plan quantity for this subscription.\n",
                    "minimum" : 1,
                    "example" : null
                  },
                  "replace_addon_list" : {
                    "type" : "boolean",
                    "default" : false,
                    "deprecated" : false,
                    "description" : "Should be true if the existing addons should be replaced with the ones that are being passed.\n",
                    "example" : null
                  },
                  "start_date" : {
                    "type" : "integer",
                    "format" : "unix-time",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The new start date of a <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">future</code>\nsubscription. Applicable only for <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">future</code>\nsubscriptions.</p>",
                    "example" : null
                  },
                  "trial_end" : {
                    "type" : "integer",
                    "format" : "unix-time",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The time at which the trial has ended or will end for the subscription. This is only allowed when the subscription <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">status</code>\nis <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">future</code>\n, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">in_trial</code>\n, or <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">cancelled</code>.\nAlso, the value must not be earlier than <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">changes_scheduled_at</code>\nor <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">start_date</code>.\n<strong class=\"font-semibold\">Note</strong>:\nThis parameter can be backdated (set to a value in the past) only when the subscription is in <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">cancelled</code>\nor <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">in_trial</code>\n<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">status</code>.\nDo this to keep a record of when the trial ended in case it ended at some point in the past. When <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">trial_end</code>\nis backdated, the subscription immediately goes into <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">active</code>\nor <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">non_renewing</code>\nstatus.</p>",
                    "example" : null
                  },
                  "billing_cycles" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "description" : "The number of billing cycles the subscription runs before canceling. If not provided, then the billing cycles set for the plan is used.\n",
                    "minimum" : 0,
                    "example" : null
                  },
                  "coupon" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">Used to uniquely identify the coupon in your website/application and to integrate with Chargebee.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Note:</strong></p><p class=\"mb-2\">When the coupon ID contains a special character; for example: <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">#</code>, the API returns an error. Make sure that you <a href=\"https://www.urlencoder.org/\">encode</a> the coupon ID in the path parameter before making an API call.</p></div>\n<p class=\"mb-2\">.</p>",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "po_number" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Purchase order number for this subscription.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "prorate" : {
                    "type" : "boolean",
                    "deprecated" : false,
                    "description" : "<ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">When <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">true</code>: <a href=\"https://www.chargebee.com/docs/1.0/proration.html#proration-mechanism\" target=\"_blank\">Prorated credits or charges</a> are created as applicable for this change.</li>\n<li class=\"text-base leading-relaxed\">When <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">false</code>: The subscription is changed without creating any credits or charges.</li>\n<li class=\"text-base leading-relaxed\">When not provided, the value configured in the <a href=\"https://www.chargebee.com/docs/1.0/proration.html#proration-for-subscription-change\" target=\"_blank\">site settings</a> is considered.</li>\n</ul>\n<div class=\"warning alert alert-warning\"><p class=\"mb-2\"><strong class=\"font-semibold\">Caveat</strong></p><p class=\"mb-2\">For further changes within the same billing term, when <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">prorate</code> is set to <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">true</code>, <strong class=\"font-semibold\">credits</strong> are <strong class=\"font-semibold\">not created</strong> when <strong class=\"font-semibold\">all</strong> the conditions below hold true:</p><p class=\"mb-2\">An immediate previous change was made</p><ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">with <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">prorate</code> set to <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">false</code> and</li>\n<li class=\"text-base leading-relaxed\">no changes were made to the subscription&#x27;s billing term and</li>\n<li class=\"text-base leading-relaxed\">a change was made to either the subscription&#x27;s plan, its addons, or the prices of the plan or addons.</li>\n</ul></div>",
                    "example" : null
                  },
                  "end_of_term" : {
                    "type" : "boolean",
                    "default" : false,
                    "deprecated" : false,
                    "description" : "Set this to true if you want the update to be applied at the end of the current subscription billing cycle.\n",
                    "example" : null
                  },
                  "invoice_notes" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "A customer-facing note added to all invoices associated with this subscription. This note is one among [all the notes](/docs/api/invoices/invoice-object#notes)\ndisplayed on the invoice PDF.\n",
                    "maxLength" : 2000,
                    "example" : null
                  },
                  "meta_data" : {
                    "type" : "object",
                    "additionalProperties" : true,
                    "deprecated" : false,
                    "description" : "A set of key-value pairs stored as additional information for the subscription. \\[Learn more\\](/docs/api/v1/subscriptions) .\n",
                    "example" : null
                  },
                  "card" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for card\n",
                    "properties" : {
                      "gateway" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Name of the gateway this payment source is stored with.\n\\* braintree -\n\nBraintree is a payment gateway.\n\\* pin -\n\nPin is a payment gateway\n\\* authorize_net -\n\nAuthorize.net is a payment gateway\n\\* nmi -\n\nNMI is a payment gateway.\n\\* not_applicable -\n\nIndicates that payment gateway is not applicable for this resource.\n\\* eway_rapid -\n\neWAY Rapid is a payment gateway.\n\\* twikey -\n\nTwikey is a payment service provider that specializes in processing direct debit payments across the EU.\n\\* beanstream -\n\nBambora(formerly known as Beanstream) is a payment gateway.\n\\* tco -\n\n2Checkout is a payment gateway.\n\\* bluepay -\n\nBluePay is a payment gateway.\n\\* paypal_payflow_pro -\n\nPayPal Payflow Pro is a payment gateway.\n\\* paypal_pro -\n\nPayPal Pro Account is a payment gateway.\n\\* stripe -\n\nStripe is a payment gateway.\n\\* sage_pay -\n\nSage Pay is a payment gateway.\n\\* wirecard -\n\nWireCard Account is a payment service provider.\n\\* balanced_payments -\n\nBalanced is a payment gateway\n\\* migs -\n\nMasterCard Internet Gateway Service payment gateway.\n\\* paymill -\n\nPAYMILL is a payment gateway.\n\\* first_data_global -\n\nFirst Data Global Gateway Virtual Terminal Account\n\\* ogone -\n\nIngenico ePayments (formerly known as Ogone) is a payment gateway.\n\\* chargebee -\n\nChargebee test gateway.\n\\* worldpay -\n\nWorldPay is a payment gateway\n\\* hdfc -\n\nHDFC Account is a payment gateway.\n\\* elavon -\n\nElavon Virtual Merchant is a payment solution.\n\\* eway -\n\neWAY Account is a payment gateway.\n",
                        "enum" : [ "chargebee", "stripe", "braintree", "authorize_net", "paypal_pro", "pin", "eway", "eway_rapid", "worldpay", "balanced_payments", "beanstream", "bluepay", "elavon", "first_data_global", "hdfc", "migs", "nmi", "ogone", "paymill", "paypal_payflow_pro", "sage_pay", "tco", "wirecard" ],
                        "example" : null
                      },
                      "tmp_token" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The single-use card token returned by vaults like Stripe/Braintree which act as a substitute for your card details. Before calling this API, you should have submitted your card details to the gateway and gotten this token in return.\n**Note:**\nSupported only for Stripe, Braintree and Authorize.Net. If this value is specified, there is no need to specify other card details (like number, cvv, etc).\n",
                        "maxLength" : 300,
                        "example" : null
                      },
                      "first_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Cardholder's first name\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "last_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Cardholder's last name\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "number" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The credit card number without any format. If you are using [Braintree.js](https://developer.paypal.com/braintree/docs/guides/client-sdk/setup/javascript/v2#getting-braintree.js)\n, you can specify the Braintree encrypted card number here.\n",
                        "maxLength" : 1500,
                        "example" : null
                      },
                      "expiry_month" : {
                        "type" : "integer",
                        "format" : "int32",
                        "deprecated" : false,
                        "description" : "Card expiry month.\n",
                        "maximum" : 12,
                        "minimum" : 1,
                        "example" : null
                      },
                      "expiry_year" : {
                        "type" : "integer",
                        "format" : "int32",
                        "deprecated" : false,
                        "description" : "Card expiry year.\n",
                        "example" : null
                      },
                      "cvv" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The card verification value (CVV). If you are using [Braintree.js](https://developer.paypal.com/braintree/docs/guides/client-sdk/setup/javascript/v2#getting-braintree.js)\n, you can specify the Braintree encrypted CVV here.\n",
                        "maxLength" : 520,
                        "example" : null
                      },
                      "billing_addr1" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 1, as available in card billing address.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "billing_addr2" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 2, as available in card billing address.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "billing_city" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "City, as available in card billing address.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "billing_state_code" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search/code\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "billing_state" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The state/province name. Is set by Chargebee automatically for US, Canada and India If <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nis provided.</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "billing_zip" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Postal or Zip code, as available in card billing address.\n",
                        "maxLength" : 20,
                        "example" : null
                      },
                      "billing_country" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "ip_address" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The IP address of the customer. Used primarily for referral integration and EU VAT validation.\n",
                        "maxLength" : 50,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "payment_method" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for payment_method\n",
                    "properties" : {
                      "type" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The type of payment method. For more details refer [Update payment method for a customer](/docs/api/customers/update-payment-method-for-a-customer)\nAPI under Customer resource.\n\\* paypal_express_checkout -\n\nPayments made via PayPal Express Checkout.\n\\* direct_debit -\n\nRepresents bank account for which the direct debit or ACH agreement/mandate is created.\n\\* automated_bank_transfer -\n\nRepresents virtual bank account using which the payment will be done.\n\\* amazon_payments -\n\nPayments made via Amazon Payments.\n\\* card -\n\nCard based payment including credit cards and debit cards. Details about the card can be obtained from the card resource.\n",
                        "enum" : [ "card", "paypal_express_checkout", "amazon_payments", "direct_debit", "automated_bank_transfer" ],
                        "example" : null
                      },
                      "gateway" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Name of the gateway the payment method is associated with.\n\\* chargebee -\n\nChargebee test gateway.\n\\* stripe -\n\nStripe is a payment gateway.\n\\* eway -\n\neWAY Account is a payment gateway.\n\\* authorize_net -\n\nAuthorize.net is a payment gateway\n\\* paypal_payflow_pro -\n\nPayPal Payflow Pro is a payment gateway.\n\\* sage_pay -\n\nSage Pay is a payment gateway.\n\\* wirecard -\n\nWireCard Account is a payment service provider.\n\\* worldpay -\n\nWorldPay is a payment gateway\n\\* pin -\n\nPin is a payment gateway\n\\* migs -\n\nMasterCard Internet Gateway Service payment gateway.\n\\* beanstream -\n\nBambora(formerly known as Beanstream) is a payment gateway.\n\\* elavon -\n\nElavon Virtual Merchant is a payment solution.\n\\* braintree -\n\nBraintree is a payment gateway.\n\\* nmi -\n\nNMI is a payment gateway.\n\\* first_data_global -\n\nFirst Data Global Gateway Virtual Terminal Account\n\\* bluepay -\n\nBluePay is a payment gateway.\n\\* paymill -\n\nPAYMILL is a payment gateway.\n\\* paypal_pro -\n\nPayPal Pro Account is a payment gateway.\n\\* eway_rapid -\n\neWAY Rapid is a payment gateway.\n\\* twikey -\n\nTwikey is a payment service provider that specializes in processing direct debit payments across the EU.\n\\* ogone -\n\nIngenico ePayments (formerly known as Ogone) is a payment gateway.\n\\* not_applicable -\n\nIndicates that payment gateway is not applicable for this resource.\n\\* tco -\n\n2Checkout is a payment gateway.\n\\* hdfc -\n\nHDFC Account is a payment gateway.\n\\* balanced_payments -\n\nBalanced is a payment gateway\n",
                        "enum" : [ "stripe", "braintree", "authorize_net", "paypal_pro", "pin", "eway", "eway_rapid", "worldpay", "balanced_payments", "beanstream", "bluepay", "elavon", "first_data_global", "hdfc", "migs", "nmi", "ogone", "paymill", "paypal_payflow_pro", "sage_pay", "tco", "wirecard" ],
                        "example" : null
                      },
                      "reference_id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The reference id. In the case of Amazon and Paypal this will be the *billing agreement id* .\nIn the case of card this will be the identifier provided by the gateway/card vault for the specific payment method resource. **Note:**\nThis is not the one time temporary token provided by gateways like Stripe.\n\nFor more details refer [Update payment method for a customer](/docs/api/customers/update-payment-method-for-a-customer)\nAPI under Customer resource.\n",
                        "maxLength" : 200,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "payment_intent" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for payment_intent\n",
                    "properties" : {
                      "id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier for PaymentIntent generated by Chargebee.js. Applicable only when you are using Chargebee.js for completing the 3DS flow. The PaymentIntent should be in 'authorized' state while passing it here. You need not pass other PaymentIntent parameters if this is passed.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "gateway_account_id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The gateway account used for performing the 3DS flow.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "gw_token" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier for 3DS transaction/verification object at the gateway. Can be passed only after successfully completing the 3DS flow. Refer [3DS implementation in Chargebee](/docs/api/3ds_card_payments)\nto find out the gateway-specific gw_token format. Applicable when you are using gateway APIs directly for completing the 3DS flow.\n",
                        "maxLength" : 65000,
                        "example" : null
                      },
                      "reference_id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier for Braintree permanent token. Applicable when you are using Braintree APIs for completing the 3DS flow.\n",
                        "maxLength" : 65000,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "billing_address" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for billing_address\n",
                    "properties" : {
                      "first_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The first name of the billing contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "last_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The last name of the billing contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "email" : {
                        "type" : "string",
                        "format" : "email",
                        "deprecated" : false,
                        "description" : "The email address.\n",
                        "maxLength" : 70,
                        "example" : null
                      },
                      "company" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The company name.\n",
                        "maxLength" : 250,
                        "example" : null
                      },
                      "phone" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The phone number.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "line1" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 1\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "line2" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 2\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "line3" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 3\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "city" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The name of the city.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "state_code" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search/code\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "state" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The state/province name. Is set by Chargebee automatically for US, Canada and India If <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nis provided.</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "zip" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Zip or postal code. The number of characters is validated according to the rules [specified here](https://chromium-i18n.appspot.com/ssl-address)\n.\n",
                        "maxLength" : 20,
                        "example" : null
                      },
                      "country" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
                        "maxLength" : 50,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "shipping_address" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for shipping_address\n",
                    "properties" : {
                      "first_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The first name of the contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "last_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The last name of the contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "email" : {
                        "type" : "string",
                        "format" : "email",
                        "deprecated" : false,
                        "description" : "The email address.\n",
                        "maxLength" : 70,
                        "example" : null
                      },
                      "company" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The company name.\n",
                        "maxLength" : 250,
                        "example" : null
                      },
                      "phone" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The phone number.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "line1" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 1\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "line2" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 2\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "line3" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 3\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "city" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The name of the city.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "state_code" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search/code\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "state" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The state/province name. Is set by Chargebee automatically for US, Canada and India If <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nis provided.</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "zip" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Zip or postal code. The number of characters is validated according to the rules [specified here](https://chromium-i18n.appspot.com/ssl-address)\n.\n",
                        "maxLength" : 20,
                        "example" : null
                      },
                      "country" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
                        "maxLength" : 50,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "customer" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for customer\n",
                    "properties" : {
                      "vat_number" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The VAT/tax registration number for the customer. For customers with <code><a href=\"/docs/api/customers/customer-object#billing_address\">billing_address</a></code></p>\n<p class=\"mb-2\"><code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">country</code>\nas\n<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code>\n(which is <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>\n), the first two characters of the <a href=\"https://en.wikipedia.org/wiki/VAT_identification_number\" target=\"_blank\">full VAT number</a>\ncan be overridden by setting\n<code><a href=\"/docs/api/customers/customer-object#vat_number_prefix\">vat_number_prefix</a></code>\n.</p>",
                        "maxLength" : 20,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "addons" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for addons\n",
                    "properties" : {
                      "id" : {
                        "type" : "array",
                        "description" : "Identifier of the addon. Multiple addons can be passed.\n",
                        "items" : {
                          "type" : "string",
                          "deprecated" : false,
                          "maxLength" : 100,
                          "example" : null
                        },
                        "example" : null
                      },
                      "quantity" : {
                        "type" : "array",
                        "description" : "<p class=\"mb-2\">Quantity of the addon. Applicable for addons with <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">pricing_model</code>\nother than <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">flat_fee</code>\n.</p>",
                        "items" : {
                          "type" : "integer",
                          "format" : "int32",
                          "default" : 1,
                          "deprecated" : false,
                          "minimum" : 1,
                          "example" : null
                        },
                        "example" : null
                      },
                      "proration_type" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string",
                          "deprecated" : false,
                          "description" : "null\n",
                          "enum" : [ "full_term", "partial_term", "none" ],
                          "example" : null
                        },
                        "example" : null
                      }
                    },
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : {
                "addons" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "billing_address" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "card" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "customer" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "payment_intent" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "payment_method" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "shipping_address" : {
                  "style" : "deepObject",
                  "explode" : true
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "subscription" : {
                      "$ref" : "#/components/schemas/Subscription",
                      "description" : "<p class=\"mb-2\">Resource object representing subscription</p>"
                    },
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    },
                    "invoice" : {
                      "$ref" : "#/components/schemas/Invoice",
                      "description" : "<p class=\"mb-2\">Resource object representing invoice</p>"
                    }
                  },
                  "required" : [ "customer", "subscription" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/subscriptions/{subscription-id}/add_charge_at_term_end" : {
      "post" : {
        "summary" : "Add charge at term end",
        "description" : "Adds a one time charge to the subscription which will be added to the invoice generated at the end of the current term. If there are any applicable coupons in the subscription, an appropriate discount will be applied.\n\nTo collect a charge immediately, [use this API](/docs/api/v1/invoices/create-invoice-for-a-one-time-charge).  \nIf any subscription changes happen before the end of the current term, these charges will be collected along with it.\n",
        "operationId" : "add_charge_at_term_end",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "subscription-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/subscription-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "amount" : {
                    "type" : "integer",
                    "format" : "int64",
                    "deprecated" : false,
                    "description" : "The amount to be charged. The unit depends on the [type of currency](/docs/api/getting-started)\n.\n",
                    "minimum" : 1,
                    "example" : null
                  },
                  "description" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Description for this charge.\n",
                    "maxLength" : 250,
                    "example" : null
                  }
                },
                "required" : [ "description" ],
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "estimate" : {
                      "$ref" : "#/components/schemas/Estimate",
                      "description" : "<p class=\"mb-2\">Resource object representing estimate</p>"
                    }
                  },
                  "required" : [ "estimate" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/subscriptions" : {
      "get" : {
        "summary" : "List subscriptions",
        "description" : "Returns a list of subscriptions meeting **all**\nthe conditions specified in the filter parameters below.\n",
        "operationId" : "list_subscriptions",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The number of resources to be returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10,
            "description" : "The number of resources to be returned.\n",
            "maximum" : 100,
            "minimum" : 1,
            "example" : null
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "<p class=\"mb-2\">Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">offset</code>\nto the value of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">next_offset</code>\nobtained in the previous iteration of the API call.</p>",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "description" : "Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set 'offset' to the value of 'next_offset' obtained in the previous iteration of the API call.\n",
            "maxLength" : 1000,
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "list" : {
                      "type" : "array",
                      "items" : {
                        "type" : "object",
                        "properties" : {
                          "subscription" : {
                            "$ref" : "#/components/schemas/Subscription",
                            "description" : "Resource object representing subscription"
                          },
                          "customer" : {
                            "$ref" : "#/components/schemas/Customer",
                            "description" : "Resource object representing customer"
                          },
                          "card" : {
                            "$ref" : "#/components/schemas/Card",
                            "description" : "Resource object representing card"
                          }
                        },
                        "required" : [ "customer", "subscription" ],
                        "example" : null
                      },
                      "example" : null
                    },
                    "next_offset" : {
                      "type" : "string",
                      "description" : "This attribute is returned only if more resources are present. To fetch the next set of resources use this value for the input parameter `offset`.",
                      "maxLength" : 1000,
                      "example" : null
                    }
                  },
                  "required" : [ "list" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      },
      "post" : {
        "summary" : "Create a subscription",
        "description" : "**Note:**\nThis operation optionally supports 3DS verification flow. To achieve the same, create the [Payment Intent](/docs/api/getting-started)\nand pass it as input parameter to this API.\n\nCreates a new subscription along with the customer. You can attach a plan, plan quantity, one or more addons and coupon while creating this subscription.\n\n#### Future Subscriptions\n\nIf the **start_date** is specified, the subscription will be created in 'future' state (.ie, instead of starting immediately it will be scheduled to start at the specified 'start_date'). Besides if 'trial' is specified (plan configuration or specified explicitly using trial_end), the subscription will go into 'trial' state when it starts. Otherwise it will directly become 'active' when it starts.\n\n#### Trial Period\n\nIf the plan has trial period or if the trial_end is specified explicitly, the subscription will be created in 'in_trial' state.\n\nIf the card details are passed, it is not charged until the end of the trial period. Incase you need to verify the card you could enable the ['card verification option'](https://www.chargebee.com/docs/cards.html#card-verification) in the gateway settings.\n\n#### Invoice\n\nIf the plan does not have a trial period and if any of the recurring items has charges, then a invoice would be raised immediately. If 'auto_collection' is turned 'on', then card attributes are mandatory and subscription will be created only if the payment was successful.\n\n#### Card details\n\nPassing card details to this API involves PCI liability at your end as sensitive card information passes through your servers. If you wish to avoid that, you can use one of the following integration methodologies if applicable\n\n* If you are using Stripe gateway, you can use [Stripe.js](https://stripe.com/docs/stripe.js) with your checkout form. Take a look at this [Stripe tutorial](https://stripe.com/docs/payments/accept-a-payment-charges) for more details.\n* If you are using Braintree gateway, you can use [Braintree.js](https://www.braintreepayments.com/docs/javascript) with your checkout form. Please refer this [tutorial](https://www.chargebee.com/tutorials/braintree-js-example.html) for more details. You can also use our [Hosted Pages](https://www.chargebee.com/docs/hosted_pages.html) based integration.\n\n#### Billing Address\n\n* The Billing Address is significant especially when EU VAT or Customized Tax options are in use, because tax calculations will be based on this address.\n* In the case of EU VAT, for customers without Billing Address, taxes will not be included.\n* In the case of Customized Tax option, the billing address will be used to determine tax if shipping address is not available for the customer. If both addresses are not available, tax calculation will not happen.\n\n**Note:** For the sites created before 1st Mar 2014, customer's billing address and 'vat_number' will be replaced automatically whenever the associated card gets updated. i.e existing values for billing address and 'vat_number' will be cleared and the new values will be set. This behaviour is changed now - The VAT number should always be passed along billing address and not with card address. Both the addresses have to be dealt separately.\n\nBilling Address attributes shall be explicitly passed for customers paying offline(Cash, Check, Bank Transfer etc).\n\n#### Shipping Address\n\nThe Shipping Address is significant for the Customized Tax option, because tax calculations will be based on this address. For customers without Shipping Address, Billing Address details will be used to calculate taxes. If neither of the addresses are available for a customer, taxes will not be calculated for him/her.\n\n#### Related Tutorials\n\n* [Check out this tutorial to create trial signup with custom fields.](https://www.chargebee.com/tutorials/custom-fields-recurring-billing-example.html)\n* [Learn how to implement a in-app checkout flow that allows your customers to select addons and apply coupons. Estimate API is used to dynamically calculate the order summary shown to the customer.](https://www.chargebee.com/tutorials/in-app-checkout-page-using-estimate-api-example.html)\n",
        "operationId" : "create_a_subscription",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "additionalProperties" : true,
                "properties" : {
                  "id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "A unique and immutable identifier for the subscription. If not provided, it is autogenerated.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "plan_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Identifier of the plan for this subscription.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "plan_quantity" : {
                    "type" : "integer",
                    "format" : "int32",
                    "default" : 1,
                    "deprecated" : false,
                    "description" : "Plan quantity for this subscription.\n",
                    "minimum" : 1,
                    "example" : null
                  },
                  "trial_end" : {
                    "type" : "integer",
                    "format" : "unix-time",
                    "deprecated" : false,
                    "description" : "The time at which the trial ends for this subscription. Can be specified to override the default trial period.If **'0'**\nis passed, the subscription will be activated immediately.\n",
                    "example" : null
                  },
                  "billing_cycles" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "description" : "Number of cycles(plan interval) this subscription should be charged. After the billing cycles exhausted, the subscription will be cancelled.\n",
                    "minimum" : 0,
                    "example" : null
                  },
                  "start_date" : {
                    "type" : "integer",
                    "format" : "unix-time",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The date/time at which the subscription is to start. If not provided, the subscription starts immediately. You can provide a value in the past as well. This is called backdating the subscription creation and is done when the subscription has already been provisioned but its billing has been delayed. Backdating is allowed only when the following prerequisites are met:</p>\n<ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">Backdating is enabled for subscription creation operations.</li>\n<li class=\"text-base leading-relaxed\">The current day of the month does not exceed the limit set in Chargebee for backdating such operations. This day is typically the day of the month by which the accounting for the previous month must be closed.</li>\n<li class=\"text-base leading-relaxed\">The date is not more than duration X into the past, where X is the billing period of the plan. For example, if the period of the plan in the subscription is 2 months and today is 14th April, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">start_date</code> cannot be earlier than 14th February.\n.</li>\n</ul>",
                    "example" : null
                  },
                  "coupon" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The id of the coupon. For validating the coupon code provided by the user , use the following codes in combination with the param attribute in the error response.\n\n* **resource_not_found :** Returned if the coupon is not present.\n* **resource_limit_exhausted :** Returned if the coupon has expired or the maximum redemption for the coupon has already been reached.\n* **invalid_request :** Returned if the coupon is not applicable for the particular plan/addon.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "po_number" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Purchase order number for this subscription.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "affiliate_token" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "A unique tracking token.\n",
                    "maxLength" : 250,
                    "example" : null
                  },
                  "created_from_ip" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The IP address of the user. Used primarly in Refersion integration. Refersion uses this field to track/log affiliate subscription.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "invoice_notes" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "A customer-facing note added to all invoices associated with this subscription. This note is one among [all the notes](/docs/api/invoices/invoice-object#notes)\ndisplayed on the invoice PDF.\n",
                    "maxLength" : 2000,
                    "example" : null
                  },
                  "meta_data" : {
                    "type" : "object",
                    "additionalProperties" : true,
                    "deprecated" : false,
                    "description" : "A set of key-value pairs stored as additional information for the subscription. \\[Learn more\\](/docs/api/v1/subscriptions) .\n",
                    "example" : null
                  },
                  "customer" : {
                    "type" : "object",
                    "additionalProperties" : true,
                    "deprecated" : false,
                    "description" : "Parameters for customer\n",
                    "properties" : {
                      "id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The unique ID of the customer for which this <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">hosted_page</code>\nshould be created. When not provided, a new customer is created with the ID set to the value provided for <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">subscription[id]</code>.\nIf <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">subscription[id]</code>\nis unavailable, then the customer ID is autogenerated.</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "email" : {
                        "type" : "string",
                        "format" : "email",
                        "deprecated" : false,
                        "description" : "Email of the customer. Configured email notifications will be sent to this email.\n",
                        "maxLength" : 70,
                        "example" : null
                      },
                      "first_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "First name of the customer\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "last_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Last name of the customer\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "company" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Company name of the customer.\n",
                        "maxLength" : 250,
                        "example" : null
                      },
                      "phone" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Phone number of the customer\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "taxability" : {
                        "type" : "string",
                        "default" : "taxable",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">Specifies if the customer is liable for tax</p>\n* exempt - <ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">Customer is exempted from tax. When using Chargebee&#x27;s native <a href=\"https://www.chargebee.com/docs/tax.html\" target=\"_blank\" rel=\"noopener noreferrer\">Taxes</a> feature or when using the <a href=\"https://www.chargebee.com/docs/taxjar.html\" target=\"_blank\" rel=\"noopener noreferrer\">TaxJar integration</a>, no other action is needed.</li>\n<li class=\"text-base leading-relaxed\">However, when using our <a href=\"https://www.chargebee.com/docs/avalara.html\" target=\"_blank\" rel=\"noopener noreferrer\">Avalara integration</a>, optionally, specify <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">entity_code</code> or <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exempt_number</code> attributes if you use Chargebee&#x27;s <a href=\"https://www.chargebee.com/docs/avalara.html#configuring-tax-exemption\" target=\"_blank\">AvaTax for Sales</a> or specify <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exemption_details</code> attribute if you use <a href=\"https://www.chargebee.com/docs/avatax-for-communication.html\" target=\"_blank\" rel=\"noopener noreferrer\">Chargebee&#x27;s AvaTax for Communications</a> integration. Tax may still be applied by Avalara for certain values of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">entity_code</code>/<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exempt_number</code>/<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exemption_details</code> based on the state/region/province of the taxable address.</li>\n</ul>\n* taxable - <p class=\"mb-2\">Computes tax for the customer based on the <a href=\"https://www.chargebee.com/docs/tax.html\" target=\"_blank\" rel=\"noopener noreferrer\">site configuration</a>.\nIn some cases, depending on the region, shipping_address is needed. If not provided, then billing_address is used to compute tax. If that&#x27;s not available either, the tax is taken as zero.</p>",
                        "enum" : [ "taxable", "exempt" ],
                        "example" : null
                      },
                      "auto_collection" : {
                        "type" : "string",
                        "default" : "on",
                        "deprecated" : false,
                        "description" : "Whether payments needs to be collected automatically for this customer\n\\* on -\n\nWhenever an invoice is created, an automatic attempt to charge the customer's payment method is made.\n\\* off -\n\nAutomatic collection of charges will not be made. All payments must be recorded offline.\n",
                        "enum" : [ "on", "off" ],
                        "example" : null
                      },
                      "allow_direct_debit" : {
                        "type" : "boolean",
                        "default" : false,
                        "deprecated" : false,
                        "description" : "Whether the customer can pay via Direct Debit\n",
                        "example" : null
                      },
                      "vat_number" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The VAT/tax registration number for the customer. For customers with <code><a href=\"/docs/api/customers/customer-object#billing_address\">billing_address</a></code></p>\n<p class=\"mb-2\"><code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">country</code>\nas\n<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code>\n(which is <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>\n), the first two characters of the <a href=\"https://en.wikipedia.org/wiki/VAT_identification_number\" target=\"_blank\">full VAT number</a>\ncan be overridden by setting\n<code><a href=\"/docs/api/customers/customer-object#vat_number_prefix\">vat_number_prefix</a></code>\n.</p>",
                        "maxLength" : 20,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "card" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for card\n",
                    "properties" : {
                      "gateway" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Name of the gateway this payment source is stored with.\n\\* braintree -\n\nBraintree is a payment gateway.\n\\* pin -\n\nPin is a payment gateway\n\\* authorize_net -\n\nAuthorize.net is a payment gateway\n\\* nmi -\n\nNMI is a payment gateway.\n\\* not_applicable -\n\nIndicates that payment gateway is not applicable for this resource.\n\\* eway_rapid -\n\neWAY Rapid is a payment gateway.\n\\* twikey -\n\nTwikey is a payment service provider that specializes in processing direct debit payments across the EU.\n\\* beanstream -\n\nBambora(formerly known as Beanstream) is a payment gateway.\n\\* tco -\n\n2Checkout is a payment gateway.\n\\* bluepay -\n\nBluePay is a payment gateway.\n\\* paypal_payflow_pro -\n\nPayPal Payflow Pro is a payment gateway.\n\\* paypal_pro -\n\nPayPal Pro Account is a payment gateway.\n\\* stripe -\n\nStripe is a payment gateway.\n\\* sage_pay -\n\nSage Pay is a payment gateway.\n\\* wirecard -\n\nWireCard Account is a payment service provider.\n\\* balanced_payments -\n\nBalanced is a payment gateway\n\\* migs -\n\nMasterCard Internet Gateway Service payment gateway.\n\\* paymill -\n\nPAYMILL is a payment gateway.\n\\* first_data_global -\n\nFirst Data Global Gateway Virtual Terminal Account\n\\* ogone -\n\nIngenico ePayments (formerly known as Ogone) is a payment gateway.\n\\* chargebee -\n\nChargebee test gateway.\n\\* worldpay -\n\nWorldPay is a payment gateway\n\\* hdfc -\n\nHDFC Account is a payment gateway.\n\\* elavon -\n\nElavon Virtual Merchant is a payment solution.\n\\* eway -\n\neWAY Account is a payment gateway.\n",
                        "enum" : [ "chargebee", "stripe", "braintree", "authorize_net", "paypal_pro", "pin", "eway", "eway_rapid", "worldpay", "balanced_payments", "beanstream", "bluepay", "elavon", "first_data_global", "hdfc", "migs", "nmi", "ogone", "paymill", "paypal_payflow_pro", "sage_pay", "tco", "wirecard" ],
                        "example" : null
                      },
                      "tmp_token" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The single-use card token returned by vaults like Stripe/Braintree which act as a substitute for your card details. Before calling this API, you should have submitted your card details to the gateway and gotten this token in return.\n**Note:**\nSupported only for Stripe, Braintree and Authorize.Net. If this value is specified, there is no need to specify other card details (like number, cvv, etc).\n",
                        "maxLength" : 300,
                        "example" : null
                      },
                      "first_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Cardholder's first name\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "last_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Cardholder's last name\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "number" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The credit card number without any format. If you are using [Braintree.js](https://developer.paypal.com/braintree/docs/guides/client-sdk/setup/javascript/v2#getting-braintree.js)\n, you can specify the Braintree encrypted card number here.\n",
                        "maxLength" : 1500,
                        "example" : null
                      },
                      "expiry_month" : {
                        "type" : "integer",
                        "format" : "int32",
                        "deprecated" : false,
                        "description" : "Card expiry month.\n",
                        "maximum" : 12,
                        "minimum" : 1,
                        "example" : null
                      },
                      "expiry_year" : {
                        "type" : "integer",
                        "format" : "int32",
                        "deprecated" : false,
                        "description" : "Card expiry year.\n",
                        "example" : null
                      },
                      "cvv" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The card verification value (CVV). If you are using [Braintree.js](https://developer.paypal.com/braintree/docs/guides/client-sdk/setup/javascript/v2#getting-braintree.js)\n, you can specify the Braintree encrypted CVV here.\n",
                        "maxLength" : 520,
                        "example" : null
                      },
                      "billing_addr1" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 1, as available in card billing address.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "billing_addr2" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 2, as available in card billing address.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "billing_city" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "City, as available in card billing address.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "billing_state_code" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search/code\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "billing_state" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The state/province name. Is set by Chargebee automatically for US, Canada and India If <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nis provided.</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "billing_zip" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Postal or Zip code, as available in card billing address.\n",
                        "maxLength" : 20,
                        "example" : null
                      },
                      "billing_country" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "ip_address" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The IP address of the customer. Used primarily for referral integration and EU VAT validation.\n",
                        "maxLength" : 50,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "payment_method" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for payment_method\n",
                    "properties" : {
                      "type" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The type of payment method. For more details refer [Update payment method for a customer](/docs/api/customers/update-payment-method-for-a-customer)\nAPI under Customer resource.\n\\* paypal_express_checkout -\n\nPayments made via PayPal Express Checkout.\n\\* direct_debit -\n\nRepresents bank account for which the direct debit or ACH agreement/mandate is created.\n\\* automated_bank_transfer -\n\nRepresents virtual bank account using which the payment will be done.\n\\* amazon_payments -\n\nPayments made via Amazon Payments.\n\\* card -\n\nCard based payment including credit cards and debit cards. Details about the card can be obtained from the card resource.\n",
                        "enum" : [ "card", "paypal_express_checkout", "amazon_payments", "direct_debit", "automated_bank_transfer" ],
                        "example" : null
                      },
                      "gateway" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Name of the gateway the payment method is associated with.\n\\* chargebee -\n\nChargebee test gateway.\n\\* stripe -\n\nStripe is a payment gateway.\n\\* eway -\n\neWAY Account is a payment gateway.\n\\* authorize_net -\n\nAuthorize.net is a payment gateway\n\\* paypal_payflow_pro -\n\nPayPal Payflow Pro is a payment gateway.\n\\* sage_pay -\n\nSage Pay is a payment gateway.\n\\* wirecard -\n\nWireCard Account is a payment service provider.\n\\* worldpay -\n\nWorldPay is a payment gateway\n\\* pin -\n\nPin is a payment gateway\n\\* migs -\n\nMasterCard Internet Gateway Service payment gateway.\n\\* beanstream -\n\nBambora(formerly known as Beanstream) is a payment gateway.\n\\* elavon -\n\nElavon Virtual Merchant is a payment solution.\n\\* braintree -\n\nBraintree is a payment gateway.\n\\* nmi -\n\nNMI is a payment gateway.\n\\* first_data_global -\n\nFirst Data Global Gateway Virtual Terminal Account\n\\* bluepay -\n\nBluePay is a payment gateway.\n\\* paymill -\n\nPAYMILL is a payment gateway.\n\\* paypal_pro -\n\nPayPal Pro Account is a payment gateway.\n\\* eway_rapid -\n\neWAY Rapid is a payment gateway.\n\\* twikey -\n\nTwikey is a payment service provider that specializes in processing direct debit payments across the EU.\n\\* ogone -\n\nIngenico ePayments (formerly known as Ogone) is a payment gateway.\n\\* not_applicable -\n\nIndicates that payment gateway is not applicable for this resource.\n\\* tco -\n\n2Checkout is a payment gateway.\n\\* hdfc -\n\nHDFC Account is a payment gateway.\n\\* balanced_payments -\n\nBalanced is a payment gateway\n",
                        "enum" : [ "stripe", "braintree", "authorize_net", "paypal_pro", "pin", "eway", "eway_rapid", "worldpay", "balanced_payments", "beanstream", "bluepay", "elavon", "first_data_global", "hdfc", "migs", "nmi", "ogone", "paymill", "paypal_payflow_pro", "sage_pay", "tco", "wirecard" ],
                        "example" : null
                      },
                      "reference_id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The reference id. In the case of Amazon and Paypal this will be the *billing agreement id* .\nIn the case of card this will be the identifier provided by the gateway/card vault for the specific payment method resource. **Note:**\nThis is not the one time temporary token provided by gateways like Stripe.\n\nFor more details refer [Update payment method for a customer](/docs/api/customers/update-payment-method-for-a-customer)\nAPI under Customer resource.\n",
                        "maxLength" : 200,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "payment_intent" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for payment_intent\n",
                    "properties" : {
                      "id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier for PaymentIntent generated by Chargebee.js. Applicable only when you are using Chargebee.js for completing the 3DS flow. The PaymentIntent should be in 'authorized' state while passing it here. You need not pass other PaymentIntent parameters if this is passed.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "gateway_account_id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The gateway account used for performing the 3DS flow.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "gw_token" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier for 3DS transaction/verification object at the gateway. Can be passed only after successfully completing the 3DS flow. Refer [3DS implementation in Chargebee](/docs/api/3ds_card_payments)\nto find out the gateway-specific gw_token format. Applicable when you are using gateway APIs directly for completing the 3DS flow.\n",
                        "maxLength" : 65000,
                        "example" : null
                      },
                      "reference_id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier for Braintree permanent token. Applicable when you are using Braintree APIs for completing the 3DS flow.\n",
                        "maxLength" : 65000,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "billing_address" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for billing_address\n",
                    "properties" : {
                      "first_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The first name of the billing contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "last_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The last name of the billing contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "email" : {
                        "type" : "string",
                        "format" : "email",
                        "deprecated" : false,
                        "description" : "The email address.\n",
                        "maxLength" : 70,
                        "example" : null
                      },
                      "company" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The company name.\n",
                        "maxLength" : 250,
                        "example" : null
                      },
                      "phone" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The phone number.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "line1" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 1\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "line2" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 2\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "line3" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 3\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "city" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The name of the city.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "state_code" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search/code\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "state" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The state/province name. Is set by Chargebee automatically for US, Canada and India If <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nis provided.</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "zip" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Zip or postal code. The number of characters is validated according to the rules [specified here](https://chromium-i18n.appspot.com/ssl-address)\n.\n",
                        "maxLength" : 20,
                        "example" : null
                      },
                      "country" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
                        "maxLength" : 50,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "shipping_address" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for shipping_address\n",
                    "properties" : {
                      "first_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The first name of the contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "last_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The last name of the contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "email" : {
                        "type" : "string",
                        "format" : "email",
                        "deprecated" : false,
                        "description" : "The email address.\n",
                        "maxLength" : 70,
                        "example" : null
                      },
                      "company" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The company name.\n",
                        "maxLength" : 250,
                        "example" : null
                      },
                      "phone" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The phone number.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "line1" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 1\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "line2" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 2\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "line3" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 3\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "city" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The name of the city.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "state_code" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search/code\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "state" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The state/province name. Is set by Chargebee automatically for US, Canada and India If <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nis provided.</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "zip" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Zip or postal code. The number of characters is validated according to the rules [specified here](https://chromium-i18n.appspot.com/ssl-address)\n.\n",
                        "maxLength" : 20,
                        "example" : null
                      },
                      "country" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
                        "maxLength" : 50,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "addons" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for addons\n",
                    "properties" : {
                      "id" : {
                        "type" : "array",
                        "description" : "Identifier of the addon. Multiple addons can be passed.\n",
                        "items" : {
                          "type" : "string",
                          "deprecated" : false,
                          "maxLength" : 100,
                          "example" : null
                        },
                        "example" : null
                      },
                      "quantity" : {
                        "type" : "array",
                        "description" : "<p class=\"mb-2\">Quantity of the addon. Applicable for addons with <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">pricing_model</code>\nother than <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">flat_fee</code>\n.</p>",
                        "items" : {
                          "type" : "integer",
                          "format" : "int32",
                          "default" : 1,
                          "deprecated" : false,
                          "minimum" : 1,
                          "example" : null
                        },
                        "example" : null
                      }
                    },
                    "example" : null
                  }
                },
                "required" : [ "plan_id" ],
                "example" : null
              },
              "encoding" : {
                "addons" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "billing_address" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "card" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "customer" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "payment_intent" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "payment_method" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "shipping_address" : {
                  "style" : "deepObject",
                  "explode" : true
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "subscription" : {
                      "$ref" : "#/components/schemas/Subscription",
                      "description" : "<p class=\"mb-2\">Resource object representing subscription</p>"
                    },
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    },
                    "invoice" : {
                      "$ref" : "#/components/schemas/Invoice",
                      "description" : "<p class=\"mb-2\">Resource object representing invoice</p>"
                    }
                  },
                  "required" : [ "customer", "subscription" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/subscriptions/{subscription-id}/cancel" : {
      "post" : {
        "summary" : "Cancel a subscription",
        "description" : "Cancelling a subscription will move the current state of the subscription to the **cancelled** state and will stop all recurring actions.\n\nYou could schedule the cancellation by passing **end_of_term** parameter as **true** . If scheduled, the subscription status will be set to **non_renewing** if it is in **active** state until the end of term and then **cancelled** . Subscription's state will not change if it is in **in_trial** state. However, cancellation will be scheduled at the trial end date.\n\nWhile cancelling a subscription, we try to collect all pending amount against the current and old invoices. No refund for the unused period is processed (let us know if you need have specific refund scenarios).\n\nIf the collection of pending charges fails while cancelling, it will still be moved to **cancelled** status. We will continue to retry collecting the payment based on the configured retry settings until it is manually overridden.  \nAdvance charges, if any, will be refunded as credits.\n",
        "operationId" : "cancel_a_subscription",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "subscription-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/subscription-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "end_of_term" : {
                    "type" : "boolean",
                    "default" : false,
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">Set this to <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">true</code>\nif you want to cancel the subscription at the end of the current subscription billing cycle. The subscription <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">status</code>\nchanges to <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">non_renewing</code>\n.</p>",
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "subscription" : {
                      "$ref" : "#/components/schemas/Subscription",
                      "description" : "<p class=\"mb-2\">Resource object representing subscription</p>"
                    },
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    },
                    "invoice" : {
                      "$ref" : "#/components/schemas/Invoice",
                      "description" : "<p class=\"mb-2\">Resource object representing invoice</p>"
                    }
                  },
                  "required" : [ "customer", "subscription" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/subscriptions/{subscription-id}/charge_addon_at_term_end" : {
      "post" : {
        "summary" : "Charge addon at term end",
        "description" : "Adds a \"non-recurring addon\" charge to a subscription which will be added to the invoice generated at the end of the current term. If there are any applicable coupons in the subscription, an appropriate discount will be applied.\n\nTo collect the charges for the non-recurring addon immediately, [use this API](/docs/api/v1/invoices/create-invoice-for-a-non-recurring-addon).  \nIf any subscription changes happen before the end of the current term, these charges will be collected along with it.\n",
        "operationId" : "charge_addon_at_term_end",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "subscription-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/subscription-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "addon_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The ID of the non-recurring addon to be charged.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "addon_quantity" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "description" : "The number of addon units to be charged. Mandatory for quantity based addons.\n",
                    "minimum" : 1,
                    "example" : null
                  }
                },
                "required" : [ "addon_id" ],
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "estimate" : {
                      "$ref" : "#/components/schemas/Estimate",
                      "description" : "<p class=\"mb-2\">Resource object representing estimate</p>"
                    }
                  },
                  "required" : [ "estimate" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/subscriptions/{subscription-id}/scheduled_changes" : {
      "get" : {
        "summary" : "Scheduled_changes a subscription_scheduled_change",
        "operationId" : "scheduled_changes_a_subscription_scheduled_change",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "subscription-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/subscription-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "subscription_scheduled_change" : {
                      "$ref" : "#/components/schemas/SubscriptionScheduledChange",
                      "description" : "Resource object representing subscription_scheduled_change"
                    }
                  },
                  "required" : [ "subscription_scheduled_change" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/subscriptions/{subscription-id}/update_scheduled_changes" : {
      "post" : {
        "summary" : "Update_scheduled_changes a subscription_scheduled_change",
        "operationId" : "update_scheduled_changes_a_subscription_scheduled_change",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "subscription-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/subscription-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "action_type" : {
                    "type" : "string",
                    "deprecated" : false,
                    "enum" : [ "cancel", "pause", "reactivate" ],
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "subscription_scheduled_change" : {
                      "$ref" : "#/components/schemas/SubscriptionScheduledChange",
                      "description" : "Resource object representing subscription_scheduled_change"
                    }
                  },
                  "required" : [ "subscription_scheduled_change" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/customers/{customer-id}/delete" : {
      "post" : {
        "summary" : "Delete a customer",
        "description" : "Deletes the customer resource.  \nThis will delete the Payment Method from the gateway/vault. If you do not want the Payment Method to be deleted from the vault, set the value for the delete_payment_method parameter to false.\nThis operation is irreversible - all data related to the customer, such as subscriptions, invoices, transactions, and reports, will be deleted.\n**Note:** This operation schedules the customer resource for deletion. It will be deleted in a few minutes.\n",
        "operationId" : "delete_a_customer",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "customer-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/customer-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "delete_payment_method" : {
                    "type" : "boolean",
                    "default" : true,
                    "deprecated" : false,
                    "description" : "Deletes the Payment Method from the gateway/vault.\n",
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    }
                  },
                  "required" : [ "customer" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/customers/{customer-id}/deduct_account_credits" : {
      "post" : {
        "summary" : "Deduct account credits for a customer",
        "description" : "This API call can be used to deduct credits for a customer. [Learn more about Promotional Credits](https://www.chargebee.com/docs/2.0/credit-notes.html#creating-promotional-credits).\n\nFor example, if a customer has a credit balance of $20, if you pass the **amount** as $5, then the customer's credit balance would become $15.\n",
        "operationId" : "deduct_account_credits_for_a_customer",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "customer-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/customer-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "amount" : {
                    "type" : "integer",
                    "format" : "int64",
                    "deprecated" : false,
                    "description" : "Credit amount to be deducted.\n",
                    "minimum" : 1,
                    "example" : null
                  },
                  "description" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Description for this credit.\n",
                    "maxLength" : 250,
                    "example" : null
                  }
                },
                "required" : [ "amount", "description" ],
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    }
                  },
                  "required" : [ "customer" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/customers/{customer-id}/set_account_credits" : {
      "post" : {
        "summary" : "Set account credits for a customer",
        "description" : "This API call can be used to set credits for a customer. [Learn more about Promotional Credits](https://www.chargebee.com/docs/2.0/credit-notes.html#creating-promotional-credits).\n\nFor example, if a customer has a credit balance of $10 and if you would like to set the balance to $100, you could pass the **amount** as $100.\n",
        "operationId" : "set_account_credits_for_a_customer",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "customer-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/customer-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "amount" : {
                    "type" : "integer",
                    "format" : "int64",
                    "deprecated" : false,
                    "description" : "Credit amount to be set.\n",
                    "minimum" : 0,
                    "example" : null
                  },
                  "description" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Description for this credit.\n",
                    "maxLength" : 250,
                    "example" : null
                  }
                },
                "required" : [ "amount", "description" ],
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    }
                  },
                  "required" : [ "customer" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/customers/{customer-id}/delete_contact" : {
      "post" : {
        "summary" : "Delete contacts for a customer",
        "description" : "Deletes the contact information. [Learn more about Contacts](https://www.chargebee.com/docs/customers.html#add-contact).\n",
        "operationId" : "delete_contacts_for_a_customer",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "customer-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/customer-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "contact" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for contact\n",
                    "properties" : {
                      "id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Unique reference ID provided for the contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      }
                    },
                    "required" : [ "id" ],
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : {
                "contact" : {
                  "style" : "deepObject",
                  "explode" : true
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    }
                  },
                  "required" : [ "customer" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/customers/{customer-id}/update_payment_method" : {
      "post" : {
        "summary" : "Update payment method for a customer",
        "description" : "<div class=\"api-description\"><p class=\"mb-2\">Updates payment method details for a customer.</p><div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Note:</strong>\nIf you wish to pass the card number, CVV, or the single-use card tokens provided by gateways like Stripe, then use the <a href=\"/docs/api/cards/update-card-for-a-customer\">Update card for a customer</a>\nAPI under Cards resource. This API is not supported for Chargebee Test Gateway, which is provided to help you understand the billing workflow in Chargebee.</p></div><p class=\"mb-2\"><strong class=\"font-semibold\">PayPal Express Checkout</strong>\nYou can use this API if you are directly integrating PayPal Express Checkout in your website instead of using Chargebee&#x27;s hosted pages. When your customer updates his payment method using PayPal Express Checkout, you will be provided with the <em class=\"italic\">Billing Agreement ID</em> by PayPal. You can update the payment method for that customer in Chargebee by passing <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">type</code> as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">paypal_express_checkout</code> and <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">reference_id</code> with the <em class=\"italic\">Billing Agreement ID</em>.</p><p class=\"mb-2\"><strong class=\"font-semibold\">Login and Pay with Amazon</strong>\nYou can use this API if you are directly integrating <em class=\"italic\">Login and Pay with Amazon</em> in your website instead of using Chargebee&#x27;s hosted pages. When your customer updates Amazon as a payment method, you will be provided with the <em class=\"italic\">Billing Agreement ID</em> by Amazon. You can update the payment method for that customer in Chargebee by passing <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">type</code> as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">amazon_payments</code> and <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">reference_id</code> with the <em class=\"italic\">Billing Agreement ID</em>.</p><p class=\"mb-2\"><strong class=\"font-semibold\">Card Payments</strong>\nWhen the card details of your customer are stored in the vault of gateways such as Stripe or Braintree, you can use this API to update the <em class=\"italic\">reference id</em> provided by them in Chargebee. To use this API, pass</p><ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\"><code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">type</code> as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">card</code>.</li>\n<li class=\"text-base leading-relaxed\"><code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">gateway</code> with the gateway associated with the card. If the gateway is not specified, the default gateway will be used.</li>\n<li class=\"text-base leading-relaxed\"><code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">reference_id</code> with the identifier provided by the gateway/Spreedly to reference that specific card.</li>\n</ul><p class=\"mb-2\"><strong class=\"font-semibold\">Reference id format for Card Payments</strong>\nThe format of reference_id will differ based on where the card is stored.\n<strong class=\"font-semibold\">Stripe:</strong> In case of Stripe, the reference_id consists of combination of Stripe Customer ID and Stripe Card ID separated by forward slash (e.g. <em class=\"italic\">cus_63MnDn0t6kfDW7/card_6WjCF20vT9WN1G</em>). If you are passing Stripe Customer ID alone, then Chargebee will store the card marked as active for that customer in Stripe.\n<strong class=\"font-semibold\">Braintree:</strong> In case of Braintree, the reference_id consists of combination of Braintree Customer ID and Braintree Payment Method Token separated by forward slash (e.g. <em class=\"italic\">cus_63MnDn0t6kfDW7/card_6WjCF20vT9WN1G</em>). If you are passing Braintree Customer ID alone, then Chargebee will store the card marked as default for that customer in Braintree.\n<strong class=\"font-semibold\">Spreedly Card vault:</strong> If the card details are stored in Spreedly vault, then you need to provide the Spreedly token as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">reference_id</code>.</p><p class=\"mb-2\"><strong class=\"font-semibold\">Direct Debit Payments</strong>\nWhen the bank account details of your customer is stored in the vault of Authorize.Net, you can use this API to update the reference id provided by them in Chargebee. To use this API, pass</p><ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\"><code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">type</code> as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">direct_debit</code>.</li>\n<li class=\"text-base leading-relaxed\"><code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">gateway</code> with the gateway where the bank account details are stored (e.g. <em class=\"italic\">authorize_net</em>). If the gateway is not specified, the gateway supporting the direct debit will be used.</li>\n<li class=\"text-base leading-relaxed\"><code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">reference_id</code> with the identifier provided by the gateway to reference the customer&#x27;s bank account details.</li>\n</ul><p class=\"mb-2\"><strong class=\"font-semibold\">Reference id format for Direct Debit Payments</strong>\nThe reference_id consists of combination of Authorize.Net&#x27;s Customer Profile ID and Payment Profile ID separated by forward slash (e.g. <em class=\"italic\">2384383/34834382</em>). If you are passing Authorize.Net&#x27;s Customer Profile ID alone, then Chargebee will store the first bank account details present in payment profile list of that customer in Authorize.Net.</p><p class=\"mb-2\"><strong class=\"font-semibold\">Note:</strong> While using this API to update payment method details, <a href=\"https://www.chargebee.com/docs/cards.html#card-verification\">Card Verification</a> will not happen even if it is enabled for that particular gateway.</p><div class=\"alert alert-info\"><p class=\"mb-2\">Storing card after successful 3DS flow not supported in this API. Use <a href=\"/docs/api/payment_sources/create-using-payment-intent\">create using Payment Intent API</a>\nunder Payment source to store the card after successful 3DS flow completion.</p></div></div>",
        "operationId" : "update_payment_method_for_a_customer",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "customer-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/customer-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "payment_method" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for payment_method\n",
                    "properties" : {
                      "type" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The type of payment method. For more details refer [Update payment method for a customer](/docs/api/customers/update-payment-method-for-a-customer)\nAPI under Customer resource.\n\\* card -\n\nCard based payment including credit cards and debit cards. Details about the card can be obtained from the card resource.\n\\* direct_debit -\n\nRepresents bank account for which the direct debit or ACH agreement/mandate is created.\n\\* automated_bank_transfer -\n\nRepresents virtual bank account using which the payment will be done.\n\\* amazon_payments -\n\nPayments made via Amazon Payments.\n\\* paypal_express_checkout -\n\nPayments made via PayPal Express Checkout.\n",
                        "enum" : [ "card", "paypal_express_checkout", "amazon_payments", "direct_debit", "automated_bank_transfer" ],
                        "example" : null
                      },
                      "gateway" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Name of the gateway the payment method is associated with.\n\\* twikey -\n\nTwikey is a payment service provider that specializes in processing direct debit payments across the EU.\n\\* braintree -\n\nBraintree is a payment gateway.\n\\* chargebee -\n\nChargebee test gateway.\n\\* nmi -\n\nNMI is a payment gateway.\n\\* ogone -\n\nIngenico ePayments (formerly known as Ogone) is a payment gateway.\n\\* stripe -\n\nStripe is a payment gateway.\n\\* eway -\n\neWAY Account is a payment gateway.\n\\* first_data_global -\n\nFirst Data Global Gateway Virtual Terminal Account\n\\* paymill -\n\nPAYMILL is a payment gateway.\n\\* authorize_net -\n\nAuthorize.net is a payment gateway\n\\* paypal_payflow_pro -\n\nPayPal Payflow Pro is a payment gateway.\n\\* paypal_pro -\n\nPayPal Pro Account is a payment gateway.\n\\* bluepay -\n\nBluePay is a payment gateway.\n\\* not_applicable -\n\nIndicates that payment gateway is not applicable for this resource.\n\\* tco -\n\n2Checkout is a payment gateway.\n\\* hdfc -\n\nHDFC Account is a payment gateway.\n\\* balanced_payments -\n\nBalanced is a payment gateway\n\\* sage_pay -\n\nSage Pay is a payment gateway.\n\\* wirecard -\n\nWireCard Account is a payment service provider.\n\\* worldpay -\n\nWorldPay is a payment gateway\n\\* pin -\n\nPin is a payment gateway\n\\* eway_rapid -\n\neWAY Rapid is a payment gateway.\n\\* migs -\n\nMasterCard Internet Gateway Service payment gateway.\n\\* beanstream -\n\nBambora(formerly known as Beanstream) is a payment gateway.\n\\* elavon -\n\nElavon Virtual Merchant is a payment solution.\n",
                        "enum" : [ "stripe", "braintree", "authorize_net", "paypal_pro", "pin", "eway", "eway_rapid", "worldpay", "balanced_payments", "beanstream", "bluepay", "elavon", "first_data_global", "hdfc", "migs", "nmi", "ogone", "paymill", "paypal_payflow_pro", "sage_pay", "tco", "wirecard" ],
                        "example" : null
                      },
                      "reference_id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The reference id. In the case of Amazon and Paypal this will be the *billing agreement id* .\nIn the case of card this will be the identifier provided by the gateway/card vault for the specific payment method resource. **Note:**\nThis is not the one time temporary token provided by gateways like Stripe.\n\nFor more details refer [Update payment method for a customer](/docs/api/customers/update-payment-method-for-a-customer)\nAPI under Customer resource.\n",
                        "maxLength" : 200,
                        "example" : null
                      }
                    },
                    "required" : [ "reference_id", "type" ],
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : {
                "payment_method" : {
                  "style" : "deepObject",
                  "explode" : true
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    }
                  },
                  "required" : [ "customer" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/customers/{customer-id}" : {
      "get" : {
        "summary" : "Retrieve a customer",
        "description" : "Retrieves the details of the desired customer. You can use the unique identifier for a particular customer to retrieve the desired details.\n",
        "operationId" : "retrieve_a_customer",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "customer-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/customer-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    }
                  },
                  "required" : [ "customer" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      },
      "post" : {
        "summary" : "Update a customer",
        "description" : "Updates the customer resource. However this method cannot be used for updating the 'Billing Info' - the Billing Address and 'vat_number' attributes - of the customer. To update the same, use our [Update Billing Info](/docs/api/v1/customers/update-billing-info-for-a-customer) API.\n",
        "operationId" : "update_a_customer",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "customer-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/customer-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "additionalProperties" : true,
                "properties" : {
                  "first_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "First name of the customer.\n",
                    "maxLength" : 150,
                    "example" : null
                  },
                  "last_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Last name of the customer.\n",
                    "maxLength" : 150,
                    "example" : null
                  },
                  "email" : {
                    "type" : "string",
                    "format" : "email",
                    "deprecated" : false,
                    "description" : "Email of the customer. Configured email notifications will be sent to this email.\n",
                    "maxLength" : 70,
                    "example" : null
                  },
                  "phone" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Phone number of the customer.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "company" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Company name of the customer.\n",
                    "maxLength" : 250,
                    "example" : null
                  },
                  "auto_collection" : {
                    "type" : "string",
                    "default" : "on",
                    "deprecated" : false,
                    "description" : "Whether payments needs to be collected automatically for this customer.\n\\* off -\n\nAutomatic collection of charges will not be made. All payments must be recorded offline.\n\\* on -\n\nWhenever an invoice is created, an automatic attempt to charge the customer's payment method is made.\n",
                    "enum" : [ "on", "off" ],
                    "example" : null
                  },
                  "allow_direct_debit" : {
                    "type" : "boolean",
                    "default" : false,
                    "deprecated" : false,
                    "description" : "Whether the customer can pay via Direct Debit.\n",
                    "example" : null
                  },
                  "taxability" : {
                    "type" : "string",
                    "default" : "taxable",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">Specifies if the customer is liable for tax.</p>\n* exempt - <ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">Customer is exempted from tax. When using Chargebee&#x27;s native <a href=\"https://www.chargebee.com/docs/tax.html\" target=\"_blank\" rel=\"noopener noreferrer\">Taxes</a> feature or when using the <a href=\"https://www.chargebee.com/docs/taxjar.html\" target=\"_blank\" rel=\"noopener noreferrer\">TaxJar integration</a>, no other action is needed.</li>\n<li class=\"text-base leading-relaxed\">However, when using our <a href=\"https://www.chargebee.com/docs/avalara.html\" target=\"_blank\" rel=\"noopener noreferrer\">Avalara integration</a>, optionally, specify <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">entity_code</code> or <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exempt_number</code> attributes if you use Chargebee&#x27;s <a href=\"https://www.chargebee.com/docs/avalara.html#configuring-tax-exemption\" target=\"_blank\">AvaTax for Sales</a> or specify <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exemption_details</code> attribute if you use <a href=\"https://www.chargebee.com/docs/avatax-for-communication.html\" target=\"_blank\" rel=\"noopener noreferrer\">Chargebee&#x27;s AvaTax for Communications</a> integration. Tax may still be applied by Avalara for certain values of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">entity_code</code>/<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exempt_number</code>/<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exemption_details</code> based on the state/region/province of the taxable address.</li>\n</ul>\n* taxable - <p class=\"mb-2\">Computes tax for the customer based on the <a href=\"https://www.chargebee.com/docs/tax.html\" target=\"_blank\" rel=\"noopener noreferrer\">site configuration</a>.\nIn some cases, depending on the region, shipping_address is needed. If not provided, then billing_address is used to compute tax. If that&#x27;s not available either, the tax is taken as zero.</p>",
                    "enum" : [ "taxable", "exempt" ],
                    "example" : null
                  },
                  "invoice_notes" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "A customer-facing note added to all invoices associated with this API resource. This note becomes one among [all the notes](/docs/api/invoices/invoice-object#notes)\ndisplayed on the invoice PDF.\n",
                    "maxLength" : 2000,
                    "example" : null
                  },
                  "meta_data" : {
                    "type" : "object",
                    "additionalProperties" : true,
                    "deprecated" : false,
                    "description" : "A set of key-value pairs stored as additional information for the customer. \\[Learn more\\](/docs/api/v1/customers) .\n",
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    }
                  },
                  "required" : [ "customer" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/customers/{customer-id}/update_contact" : {
      "post" : {
        "summary" : "Update contacts for a customer",
        "description" : "Updates the contact information. [Learn more about Contacts](https://www.chargebee.com/docs/customers.html#add-contact).\n",
        "operationId" : "update_contacts_for_a_customer",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "customer-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/customer-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "contact" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for contact\n",
                    "properties" : {
                      "id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Unique reference ID provided for the contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "first_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "First name of the contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "last_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Last name of the contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "email" : {
                        "type" : "string",
                        "format" : "email",
                        "deprecated" : false,
                        "description" : "Email of the contact.\n",
                        "maxLength" : 70,
                        "example" : null
                      },
                      "phone" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Phone number of the contact.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "label" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Label/Tag provided for contact.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "enabled" : {
                        "type" : "boolean",
                        "default" : false,
                        "deprecated" : false,
                        "description" : "Contact enabled / disabled\n",
                        "example" : null
                      },
                      "send_billing_email" : {
                        "type" : "boolean",
                        "default" : false,
                        "deprecated" : false,
                        "description" : "Whether Billing Emails option is enabled for the contact.\n",
                        "example" : null
                      },
                      "send_account_email" : {
                        "type" : "boolean",
                        "default" : false,
                        "deprecated" : false,
                        "description" : "Whether Account Emails option is enabled for the contact.\n",
                        "example" : null
                      }
                    },
                    "required" : [ "id" ],
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : {
                "contact" : {
                  "style" : "deepObject",
                  "explode" : true
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    }
                  },
                  "required" : [ "customer" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/customers/{customer-id}/add_account_credits" : {
      "post" : {
        "summary" : "Add account credits to a customer",
        "description" : "This API call can be used to add credits to a customer. [Learn more about Promotional Credits](https://www.chargebee.com/docs/2.0/credit-notes.html#creating-promotional-credits).\n\nFor example, if a customer has credits of $10, if you pass the **amount** as $10, then the customer's credit balance would become $20.\n",
        "operationId" : "add_account_credits_to_a_customer",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "customer-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/customer-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "amount" : {
                    "type" : "integer",
                    "format" : "int64",
                    "deprecated" : false,
                    "description" : "Credit amount to be added.\n",
                    "minimum" : 1,
                    "example" : null
                  },
                  "description" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Description for this credit.\n",
                    "maxLength" : 250,
                    "example" : null
                  }
                },
                "required" : [ "amount", "description" ],
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    }
                  },
                  "required" : [ "customer" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/customers/{customer-id}/update_billing_info" : {
      "post" : {
        "summary" : "Update billing info for a customer",
        "description" : "This method is used for updating the 'Billing Info' - the Billing Address and 'vat_number' attributes - of the customer. For updating the other customer attributes use our [Update Customer](/docs/api/v1/customers/update-a-customer) API.\n\nDuring this operation if Billing Info(Billing Address and vat_number) is not already present it will get added. Whereas if it is present already, the existing values will be replaced. i.e existing values for Billing Address and vat_number will be cleared and the new values will be set.\n\n**Note:** When an invoice is generated for a customer, the billing address provided for the customer will be stored with the invoice. If the First Name, Last Name, and Company fields do not contain any information under Billing Info, the same will be picked from Customer Details if the same is available there.\n",
        "operationId" : "update_billing_info_for_a_customer",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "customer-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/customer-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "vat_number" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The VAT/tax registration number for the customer. For customers with <code><a href=\"/docs/api/customers/customer-object#billing_address\">billing_address</a></code></p>\n<p class=\"mb-2\"><code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">country</code>\nas\n<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code>\n(which is <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>\n), the first two characters of the <a href=\"https://en.wikipedia.org/wiki/VAT_identification_number\" target=\"_blank\">full VAT number</a>\ncan be overridden by setting\n<code><a href=\"/docs/api/customers/customer-object#vat_number_prefix\">vat_number_prefix</a></code>\n.</p>",
                    "maxLength" : 20,
                    "example" : null
                  },
                  "billing_address" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for billing_address\n",
                    "properties" : {
                      "first_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The first name of the billing contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "last_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The last name of the billing contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "email" : {
                        "type" : "string",
                        "format" : "email",
                        "deprecated" : false,
                        "description" : "The email address.\n",
                        "maxLength" : 70,
                        "example" : null
                      },
                      "company" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The company name.\n",
                        "maxLength" : 250,
                        "example" : null
                      },
                      "phone" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The phone number.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "line1" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 1\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "line2" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 2\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "line3" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 3\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "city" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The name of the city.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "state_code" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search/code\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "state" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The state/province name. Is set by Chargebee automatically for US, Canada and India If <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nis provided.</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "zip" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Zip or postal code. The number of characters is validated according to the rules [specified here](https://chromium-i18n.appspot.com/ssl-address)\n.\n",
                        "maxLength" : 20,
                        "example" : null
                      },
                      "country" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">E-Invoicing</strong></p><p class=\"mb-2\">If <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">country</code> is provided as different from the existing value and if <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">entity_identifier_scheme</code>, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">entity_identifier_standard</code>, and <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">entity_identifier</code> already exist and are not provided for this operation, they&#x27;re cleared.</p></div>\n<span featureId=\"cb-einvoicing\" isMicro=\"true\"></span>",
                        "maxLength" : 50,
                        "example" : null
                      }
                    },
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : {
                "billing_address" : {
                  "style" : "deepObject",
                  "explode" : true
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    }
                  },
                  "required" : [ "customer" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/customers" : {
      "get" : {
        "summary" : "List customers",
        "description" : "Retrieves a list of customers added to your Chargebee site. The list contains the necessary customer details such as First Name, Last Name and the Customer ID.\n",
        "operationId" : "list_customers",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The number of resources to be returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10,
            "description" : "The number of resources to be returned.\n",
            "maximum" : 100,
            "minimum" : 1,
            "example" : null
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "<p class=\"mb-2\">Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">offset</code>\nto the value of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">next_offset</code>\nobtained in the previous iteration of the API call.</p>",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "description" : "Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set 'offset' to the value of 'next_offset' obtained in the previous iteration of the API call.\n",
            "maxLength" : 1000,
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "list" : {
                      "type" : "array",
                      "items" : {
                        "type" : "object",
                        "properties" : {
                          "customer" : {
                            "$ref" : "#/components/schemas/Customer",
                            "description" : "Resource object representing customer"
                          },
                          "card" : {
                            "$ref" : "#/components/schemas/Card",
                            "description" : "Resource object representing card"
                          }
                        },
                        "required" : [ "customer" ],
                        "example" : null
                      },
                      "example" : null
                    },
                    "next_offset" : {
                      "type" : "string",
                      "description" : "This attribute is returned only if more resources are present. To fetch the next set of resources use this value for the input parameter `offset`.",
                      "maxLength" : 1000,
                      "example" : null
                    }
                  },
                  "required" : [ "list" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      },
      "post" : {
        "summary" : "Create a customer",
        "description" : "**Note:**\nThis operation optionally supports 3DS verification flow. To achieve the same, create the [Payment Intent](/docs/api/getting-started)\nand pass it as input parameter to this API.\n\nCreates a customer. You can create a customer and then create subscriptions for the customer when required. When creating a customer, you can pass along the billing address and card details.\n\nPassing credit card details to through the API involves PCI liability at your end as sensitive card information passes through your servers. If you wish to avoid that, you can use one of the following integration methodologies if applicable:\n\n* If you use Stripe, you can also use [Stripe.js](https://stripe.com/docs/js) with your checkout form, to collect card information.\n* If you are using Braintree gateway, you can use [Braintree.js](https://developer.paypal.com/braintree/docs/guides/client-sdk/setup/javascript/v2) with your checkout form.\n* You can also use our [Hosted Pages](https://www.chargebee.com/docs/hosted_pages.html) based integration.\n\nThe Billing Address is significant especially when [EU VAT taxes](https://www.chargebee.com/docs/tax.html#european-union-vat) are involved, for tax calculations will be based on this address. For customers without a billing address, EU VAT taxes will not be included. Thus ensure to set this properly if you have configured EU VAT Tax.\n\nBilling Address attributes shall be explicitly passed for customers paying offline(Cash, Check, Bank Transfer etc).\n\n**Note:** When an invoice is generated for a customer, the billing address provided for the customer will be stored with the invoice. If the First Name, Last Name, and Company fields do not contain any information under Billing Info, the same will be picked from Customer Details if the same is available there.\n",
        "operationId" : "create_a_customer",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "additionalProperties" : true,
                "properties" : {
                  "id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Id for the new customer. If not given, this will be auto-generated.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "first_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "First name of the customer.\n",
                    "maxLength" : 150,
                    "example" : null
                  },
                  "last_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Last name of the customer.\n",
                    "maxLength" : 150,
                    "example" : null
                  },
                  "email" : {
                    "type" : "string",
                    "format" : "email",
                    "deprecated" : false,
                    "description" : "Email of the customer. Configured email notifications will be sent to this email.\n",
                    "maxLength" : 70,
                    "example" : null
                  },
                  "phone" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Phone number of the customer.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "company" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Company name of the customer.\n",
                    "maxLength" : 250,
                    "example" : null
                  },
                  "auto_collection" : {
                    "type" : "string",
                    "default" : "on",
                    "deprecated" : false,
                    "description" : "Whether payments needs to be collected automatically for this customer.\n\\* on -\n\nWhenever an invoice is created, an automatic attempt to charge the customer's payment method is made.\n\\* off -\n\nAutomatic collection of charges will not be made. All payments must be recorded offline.\n",
                    "enum" : [ "on", "off" ],
                    "example" : null
                  },
                  "allow_direct_debit" : {
                    "type" : "boolean",
                    "default" : false,
                    "deprecated" : false,
                    "description" : "Whether the customer can pay via Direct Debit.\n",
                    "example" : null
                  },
                  "vat_number" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The VAT/tax registration number for the customer. For customers with <code><a href=\"/docs/api/customers/customer-object#billing_address\">billing_address</a></code></p>\n<p class=\"mb-2\"><code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">country</code>\nas\n<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code>\n(which is <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>\n), the first two characters of the <a href=\"https://en.wikipedia.org/wiki/VAT_identification_number\" target=\"_blank\">full VAT number</a>\ncan be overridden by setting\n<code><a href=\"/docs/api/customers/customer-object#vat_number_prefix\">vat_number_prefix</a></code>\n.</p>",
                    "maxLength" : 20,
                    "example" : null
                  },
                  "taxability" : {
                    "type" : "string",
                    "default" : "taxable",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">Specifies if the customer is liable for tax.</p>\n* taxable - <p class=\"mb-2\">Computes tax for the customer based on the <a href=\"https://www.chargebee.com/docs/tax.html\" target=\"_blank\" rel=\"noopener noreferrer\">site configuration</a>.\nIn some cases, depending on the region, shipping_address is needed. If not provided, then billing_address is used to compute tax. If that&#x27;s not available either, the tax is taken as zero.</p>\n* exempt - <ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">Customer is exempted from tax. When using Chargebee&#x27;s native <a href=\"https://www.chargebee.com/docs/tax.html\" target=\"_blank\" rel=\"noopener noreferrer\">Taxes</a> feature or when using the <a href=\"https://www.chargebee.com/docs/taxjar.html\" target=\"_blank\" rel=\"noopener noreferrer\">TaxJar integration</a>, no other action is needed.</li>\n<li class=\"text-base leading-relaxed\">However, when using our <a href=\"https://www.chargebee.com/docs/avalara.html\" target=\"_blank\" rel=\"noopener noreferrer\">Avalara integration</a>, optionally, specify <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">entity_code</code> or <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exempt_number</code> attributes if you use Chargebee&#x27;s <a href=\"https://www.chargebee.com/docs/avalara.html#configuring-tax-exemption\" target=\"_blank\">AvaTax for Sales</a> or specify <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exemption_details</code> attribute if you use <a href=\"https://www.chargebee.com/docs/avatax-for-communication.html\" target=\"_blank\" rel=\"noopener noreferrer\">Chargebee&#x27;s AvaTax for Communications</a> integration. Tax may still be applied by Avalara for certain values of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">entity_code</code>/<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exempt_number</code>/<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exemption_details</code> based on the state/region/province of the taxable address.</li>\n</ul>",
                    "enum" : [ "taxable", "exempt" ],
                    "example" : null
                  },
                  "meta_data" : {
                    "type" : "object",
                    "additionalProperties" : true,
                    "deprecated" : false,
                    "description" : "A set of key-value pairs stored as additional information for the customer. \\[Learn more\\](/docs/api/v1/customers) .\n",
                    "example" : null
                  },
                  "created_from_ip" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The IP address of the customer. Used primarily for [referral integrations](https://www.chargebee.com/docs/marketing-integration-index.html)\nand EU/UK VAT validation.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "invoice_notes" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "A customer-facing note added to all invoices associated with this API resource. This note becomes one among [all the notes](/docs/api/invoices/invoice-object#notes)\ndisplayed on the invoice PDF.\n",
                    "maxLength" : 2000,
                    "example" : null
                  },
                  "card" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for card\n",
                    "properties" : {
                      "gateway" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Name of the gateway this payment source is stored with.\n\\* braintree -\n\nBraintree is a payment gateway.\n\\* pin -\n\nPin is a payment gateway\n\\* authorize_net -\n\nAuthorize.net is a payment gateway\n\\* nmi -\n\nNMI is a payment gateway.\n\\* not_applicable -\n\nIndicates that payment gateway is not applicable for this resource.\n\\* eway_rapid -\n\neWAY Rapid is a payment gateway.\n\\* twikey -\n\nTwikey is a payment service provider that specializes in processing direct debit payments across the EU.\n\\* beanstream -\n\nBambora(formerly known as Beanstream) is a payment gateway.\n\\* tco -\n\n2Checkout is a payment gateway.\n\\* bluepay -\n\nBluePay is a payment gateway.\n\\* paypal_payflow_pro -\n\nPayPal Payflow Pro is a payment gateway.\n\\* paypal_pro -\n\nPayPal Pro Account is a payment gateway.\n\\* stripe -\n\nStripe is a payment gateway.\n\\* sage_pay -\n\nSage Pay is a payment gateway.\n\\* wirecard -\n\nWireCard Account is a payment service provider.\n\\* balanced_payments -\n\nBalanced is a payment gateway\n\\* migs -\n\nMasterCard Internet Gateway Service payment gateway.\n\\* paymill -\n\nPAYMILL is a payment gateway.\n\\* first_data_global -\n\nFirst Data Global Gateway Virtual Terminal Account\n\\* ogone -\n\nIngenico ePayments (formerly known as Ogone) is a payment gateway.\n\\* chargebee -\n\nChargebee test gateway.\n\\* worldpay -\n\nWorldPay is a payment gateway\n\\* hdfc -\n\nHDFC Account is a payment gateway.\n\\* elavon -\n\nElavon Virtual Merchant is a payment solution.\n\\* eway -\n\neWAY Account is a payment gateway.\n",
                        "enum" : [ "chargebee", "stripe", "braintree", "authorize_net", "paypal_pro", "pin", "eway", "eway_rapid", "worldpay", "balanced_payments", "beanstream", "bluepay", "elavon", "first_data_global", "hdfc", "migs", "nmi", "ogone", "paymill", "paypal_payflow_pro", "sage_pay", "tco", "wirecard" ],
                        "example" : null
                      },
                      "tmp_token" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The single-use card token returned by vaults like Stripe/Braintree which act as a substitute for your card details. Before calling this API, you should have submitted your card details to the gateway and gotten this token in return.\n**Note:**\nSupported only for Stripe, Braintree and Authorize.Net. If this value is specified, there is no need to specify other card details (like number, cvv, etc).\n",
                        "maxLength" : 300,
                        "example" : null
                      },
                      "first_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Cardholder's first name\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "last_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Cardholder's last name\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "number" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The credit card number without any format. If you are using [Braintree.js](https://developer.paypal.com/braintree/docs/guides/client-sdk/setup/javascript/v2#getting-braintree.js)\n, you can specify the Braintree encrypted card number here.\n",
                        "maxLength" : 1500,
                        "example" : null
                      },
                      "expiry_month" : {
                        "type" : "integer",
                        "format" : "int32",
                        "deprecated" : false,
                        "description" : "Card expiry month.\n",
                        "maximum" : 12,
                        "minimum" : 1,
                        "example" : null
                      },
                      "expiry_year" : {
                        "type" : "integer",
                        "format" : "int32",
                        "deprecated" : false,
                        "description" : "Card expiry year.\n",
                        "example" : null
                      },
                      "cvv" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The card verification value (CVV). If you are using [Braintree.js](https://developer.paypal.com/braintree/docs/guides/client-sdk/setup/javascript/v2#getting-braintree.js)\n, you can specify the Braintree encrypted CVV here.\n",
                        "maxLength" : 520,
                        "example" : null
                      },
                      "billing_addr1" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 1, as available in card billing address.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "billing_addr2" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 2, as available in card billing address.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "billing_city" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "City, as available in card billing address.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "billing_state_code" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search/code\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "billing_state" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The state/province name. Is set by Chargebee automatically for US, Canada and India If <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nis provided.</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "billing_zip" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Postal or Zip code, as available in card billing address.\n",
                        "maxLength" : 20,
                        "example" : null
                      },
                      "billing_country" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "ip_address" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The IP address of the customer. Used primarily for referral integration and EU VAT validation.\n",
                        "maxLength" : 50,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "payment_method" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for payment_method\n",
                    "properties" : {
                      "type" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The type of payment method. For more details refer [Update payment method for a customer](/docs/api/customers/update-payment-method-for-a-customer)\nAPI under Customer resource.\n\\* paypal_express_checkout -\n\nPayments made via PayPal Express Checkout.\n\\* direct_debit -\n\nRepresents bank account for which the direct debit or ACH agreement/mandate is created.\n\\* automated_bank_transfer -\n\nRepresents virtual bank account using which the payment will be done.\n\\* amazon_payments -\n\nPayments made via Amazon Payments.\n\\* card -\n\nCard based payment including credit cards and debit cards. Details about the card can be obtained from the card resource.\n",
                        "enum" : [ "card", "paypal_express_checkout", "amazon_payments", "direct_debit", "automated_bank_transfer" ],
                        "example" : null
                      },
                      "gateway" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Name of the gateway the payment method is associated with.\n\\* chargebee -\n\nChargebee test gateway.\n\\* stripe -\n\nStripe is a payment gateway.\n\\* eway -\n\neWAY Account is a payment gateway.\n\\* authorize_net -\n\nAuthorize.net is a payment gateway\n\\* paypal_payflow_pro -\n\nPayPal Payflow Pro is a payment gateway.\n\\* sage_pay -\n\nSage Pay is a payment gateway.\n\\* wirecard -\n\nWireCard Account is a payment service provider.\n\\* worldpay -\n\nWorldPay is a payment gateway\n\\* pin -\n\nPin is a payment gateway\n\\* migs -\n\nMasterCard Internet Gateway Service payment gateway.\n\\* beanstream -\n\nBambora(formerly known as Beanstream) is a payment gateway.\n\\* elavon -\n\nElavon Virtual Merchant is a payment solution.\n\\* braintree -\n\nBraintree is a payment gateway.\n\\* nmi -\n\nNMI is a payment gateway.\n\\* first_data_global -\n\nFirst Data Global Gateway Virtual Terminal Account\n\\* bluepay -\n\nBluePay is a payment gateway.\n\\* paymill -\n\nPAYMILL is a payment gateway.\n\\* paypal_pro -\n\nPayPal Pro Account is a payment gateway.\n\\* eway_rapid -\n\neWAY Rapid is a payment gateway.\n\\* twikey -\n\nTwikey is a payment service provider that specializes in processing direct debit payments across the EU.\n\\* ogone -\n\nIngenico ePayments (formerly known as Ogone) is a payment gateway.\n\\* not_applicable -\n\nIndicates that payment gateway is not applicable for this resource.\n\\* tco -\n\n2Checkout is a payment gateway.\n\\* hdfc -\n\nHDFC Account is a payment gateway.\n\\* balanced_payments -\n\nBalanced is a payment gateway\n",
                        "enum" : [ "stripe", "braintree", "authorize_net", "paypal_pro", "pin", "eway", "eway_rapid", "worldpay", "balanced_payments", "beanstream", "bluepay", "elavon", "first_data_global", "hdfc", "migs", "nmi", "ogone", "paymill", "paypal_payflow_pro", "sage_pay", "tco", "wirecard" ],
                        "example" : null
                      },
                      "reference_id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The reference id. In the case of Amazon and Paypal this will be the *billing agreement id* .\nIn the case of card this will be the identifier provided by the gateway/card vault for the specific payment method resource. **Note:**\nThis is not the one time temporary token provided by gateways like Stripe.\n\nFor more details refer [Update payment method for a customer](/docs/api/customers/update-payment-method-for-a-customer)\nAPI under Customer resource.\n",
                        "maxLength" : 200,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "payment_intent" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for payment_intent\n",
                    "properties" : {
                      "id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier for PaymentIntent generated by Chargebee.js. Applicable only when you are using Chargebee.js for completing the 3DS flow. The PaymentIntent should be in 'authorized' state while passing it here. You need not pass other PaymentIntent parameters if this is passed.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "gateway_account_id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The gateway account used for performing the 3DS flow.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "gw_token" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier for 3DS transaction/verification object at the gateway. Can be passed only after successfully completing the 3DS flow. Refer [3DS implementation in Chargebee](/docs/api/3ds_card_payments)\nto find out the gateway-specific gw_token format. Applicable when you are using gateway APIs directly for completing the 3DS flow.\n",
                        "maxLength" : 65000,
                        "example" : null
                      },
                      "reference_id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier for Braintree permanent token. Applicable when you are using Braintree APIs for completing the 3DS flow.\n",
                        "maxLength" : 65000,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "billing_address" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for billing_address\n",
                    "properties" : {
                      "first_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The first name of the billing contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "last_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The last name of the billing contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "email" : {
                        "type" : "string",
                        "format" : "email",
                        "deprecated" : false,
                        "description" : "The email address.\n",
                        "maxLength" : 70,
                        "example" : null
                      },
                      "company" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The company name.\n",
                        "maxLength" : 250,
                        "example" : null
                      },
                      "phone" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The phone number.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "line1" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 1\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "line2" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 2\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "line3" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 3\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "city" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The name of the city.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "state_code" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search/code\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "state" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The state/province name. Is set by Chargebee automatically for US, Canada and India If <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nis provided.</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "zip" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Zip or postal code. The number of characters is validated according to the rules [specified here](https://chromium-i18n.appspot.com/ssl-address)\n.\n",
                        "maxLength" : 20,
                        "example" : null
                      },
                      "country" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
                        "maxLength" : 50,
                        "example" : null
                      }
                    },
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : {
                "billing_address" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "card" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "payment_intent" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "payment_method" : {
                  "style" : "deepObject",
                  "explode" : true
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    }
                  },
                  "required" : [ "customer" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/customers/{customer-id}/add_contact" : {
      "post" : {
        "summary" : "Add contacts to a customer",
        "description" : "Creates an additional contact for the customer. You can add up to a maximum of 6 contacts. [Learn more about Contacts](https://www.chargebee.com/docs/customers.html#add-contact).\n",
        "operationId" : "add_contacts_to_a_customer",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "customer-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/customer-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "contact" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for contact\n",
                    "properties" : {
                      "id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Unique reference ID provided for the contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "first_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "First name of the contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "last_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Last name of the contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "email" : {
                        "type" : "string",
                        "format" : "email",
                        "deprecated" : false,
                        "description" : "Email of the contact.\n",
                        "maxLength" : 70,
                        "example" : null
                      },
                      "phone" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Phone number of the contact.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "label" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Label/Tag provided for contact.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "enabled" : {
                        "type" : "boolean",
                        "default" : false,
                        "deprecated" : false,
                        "description" : "Contact enabled / disabled\n",
                        "example" : null
                      },
                      "send_billing_email" : {
                        "type" : "boolean",
                        "default" : false,
                        "deprecated" : false,
                        "description" : "Whether Billing Emails option is enabled for the contact.\n",
                        "example" : null
                      },
                      "send_account_email" : {
                        "type" : "boolean",
                        "default" : false,
                        "deprecated" : false,
                        "description" : "Whether Account Emails option is enabled for the contact.\n",
                        "example" : null
                      }
                    },
                    "required" : [ "email" ],
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : {
                "contact" : {
                  "style" : "deepObject",
                  "explode" : true
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    }
                  },
                  "required" : [ "customer" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/cards/{customer-id}" : {
      "get" : {
        "summary" : "Retrieve card for a customer",
        "description" : "Retrieves the credit card for the customer ID.\n",
        "operationId" : "retrieve_card_for_a_customer",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "customer-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/customer-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    }
                  },
                  "required" : [ "card" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/customers/{customer-id}/credit_card_using_payment_intent" : {
      "post" : {
        "summary" : "Update card for customer using payment intent",
        "description" : "Used to store the card to the customer after 3DS flow completion. [Learn more](/docs/api/getting-started)\non the 3DS integration guide via Chargebee APIs\n",
        "operationId" : "update_card_for_customer_using_payment_intent",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "customer-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/customer-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "payment_intent_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Identifier for PaymentIntent generated by Chargebee.js. Applicable only when you are using Chargebee.js for completing the 3DS flow. The PaymentIntent should be in 'authorized' state while passing it here. You need not pass other PaymentIntent parameters if this is passed.\n",
                    "maxLength" : 150,
                    "example" : null
                  },
                  "gateway_account_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The gateway account used for performing the 3DS flow. Applicable when you are using gateway APIs directly for completing the 3DS flow.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "gw_token" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Identifier for 3DS transaction/verification object at the gateway. Can be passed only after successfully completing the 3DS flow. Refer [3DS implementation in Chargebee](/docs/api/3ds_card_payments)\nto find out the gateway-specific gw_token format. Applicable when you are using gateway APIs directly for completing the 3DS flow.\n",
                    "maxLength" : 65000,
                    "example" : null
                  },
                  "reference_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Identifier for Braintree permanent token. Applicable when you are using Braintree APIs for completing the 3DS flow.\n",
                    "maxLength" : 65000,
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    }
                  },
                  "required" : [ "card", "customer" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/customers/{customer-id}/switch_gateway" : {
      "post" : {
        "summary" : "Switch gateway",
        "description" : "Switches the gateway in which customer's card information is stored.\n\nThis is applicable only if the payment method is \"card\".  \nThis operation is not supported if the current gateway is Braintree or Stripe.\n",
        "operationId" : "switch_gateway",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "customer-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/customer-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "gateway" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Name of the gateway you want to switch to.\n\\* twikey -\n\nTwikey is a payment service provider that specializes in processing direct debit payments across the EU.\n\\* ecentric -\n\nEcentric provides a seamless payment processing service in South Africa specializing on omnichannel capabilities.\n\\* bluesnap -\n\nBlueSnap is a payment gateway.\n\\* jp_morgan -\n\nJ.P. Morgan Mobility Payment Solutions is a payment gateway that enables you to securely accept and manage digital payments across different [payment_source_type](/docs/api/payment_sources/payment_source-object#type).  \nThis feature is a **Private Beta Release** . [Request access](https://app.chargebee.com/login?forward=https://app.chargebee.com/request_access/jp-morgan-bacs&ref=feature) to enable the J.P. Morgan Mobility Payment Solutions gateway via payFURL for your test and live sites.\n\\* tco -\n\n2Checkout is a payment gateway.\n\\* first_data_global -\n\nFirst Data Global Gateway Virtual Terminal Account\n\\* exact -\n\nExact Payments is a payment gateway.\n\\* deutsche_bank -\n\nDeutsche Bank is the leading German bank with strong European roots and a global network.  \nThis feature is a **Private Beta Release**.\n\\* bluepay -\n\nBluePay is a payment gateway.\n\\* paypal_express_checkout -\n\nPayPal Express Checkout is a payment gateway.\n\\* nuvei -\n\nNuvei is a secure and reliable payment processing solution that allows you to accept payments from customers and suitable for various types of businesses.  \nThis feature is a **Private Beta Release** . [Request access](https://app.chargebee.com/login?forward=https://app.chargebee.com/request_access/nuvei&ref=feature) to enable Nuvei for your test and live sites.\n\\* eway -\n\neWAY Account is a payment gateway.\n\\* metrics_global -\n\nMetrics global is a leading payment service provider providing unified payment services in the US.\n\\* paypal_payflow_pro -\n\nPayPal Payflow Pro is a payment gateway.\n\\* razorpay -\n\nRazorpay is a fast growing payment service provider in India working with all leading banks and support for major local payment methods including Netbanking, UPI etc.\n\\* global_payments -\n\nGlobal Payments is a payment service provider.\n\\* amazon_payments -\n\nAmazon Payments is a payment service provider.\n\\* dlocal -\n\nDlocal provides payment solutions for global commerce by accepting local payment methods.\n\\* not_applicable -\n\nIndicates that payment gateway is not applicable for this resource.\n\\* windcave -\n\nWindcave provides an end to end payment processing solution in ANZ and other leading global markets.\n\\* checkout_com -\n\nCheckout.com is a payment gateway.\n\\* adyen -\n\nAdyen is a payment gateway.\n\\* braintree -\n\nBraintree is a payment gateway.\n\\* nmi -\n\nNMI is a payment gateway.\n\\* quickbooks -\n\nIntuit QuickBooks Payments gateway\n\\* wepay -\n\nWePay is a payment gateway.\n\\* worldpay -\n\nWorldPay is a payment gateway\n\\* paystack -\n\nPaystack is a payment gateway for businesses in Africa. It enables secure payment acceptance both online and offline.  \nThis feature is a **Private Beta Release** . [Request access](https://app.chargebee.com/login?forward=https://app.chargebee.com/request_access/paystack&ref=feature) to enable Paystack for your test and live sites.\n\\* ezidebit -\n\nEzidebit is a payment gateway integration based in Australia that supports automated direct debit, BPAY, and card payments for businesses.  \nThis feature is a **Private Beta Release**.\n\\* pay_com -\n\nPay.com provides payment services focused on simplicity and hassle-free operations for businesses of all sizes.\n\\* wirecard -\n\nWireCard Account is a payment service provider.\n\\* chargebee_payments -\n\nChargebee Payments gateway\n\\* sage_pay -\n\nSage Pay is a payment gateway.\n\\* moneris_us -\n\nMoneris USA is a payment gateway.\n\\* pin -\n\nPin is a payment gateway\n\\* authorize_net -\n\nAuthorize.net is a payment gateway\n\\* elavon -\n\nElavon Virtual Merchant is a payment solution.\n\\* paypal_pro -\n\nPayPal Pro Account is a payment gateway.\n\\* orbital -\n\nChase Paymentech(Orbital) is a payment gateway.\n\\* paypal -\n\nPayPal Commerce is a payment gateway.\n\\* beanstream -\n\nBambora(formerly known as Beanstream) is a payment gateway.\n\\* hdfc -\n\nHDFC Account is a payment gateway.\n\\* ingenico_direct -\n\nWorldline Online Payments is a payment gateway.\n\\* ogone -\n\nIngenico ePayments (formerly known as Ogone) is a payment gateway.\n\\* migs -\n\nMasterCard Internet Gateway Service payment gateway.\n\\* stripe -\n\nStripe is a payment gateway.\n\\* vantiv -\n\nVantiv is a payment gateway.\n\\* moneris -\n\nMoneris is a payment gateway.\n\\* bank_of_america -\n\nBank of America Gateway\n\\* chargebee -\n\nChargebee test gateway.\n\\* eway_rapid -\n\neWAY Rapid is a payment gateway.\n\\* gocardless -\n\nGoCardless is a payment service provider.\n\\* mollie -\n\nMollie is a payment gateway.\n\\* paymill -\n\nPAYMILL is a payment gateway.\n\\* balanced_payments -\n\nBalanced is a payment gateway\n\\* solidgate -\n\nSolidgate is a secure and reliable payment processing solution that allows you to accept payments from customers and suitable for various types of businesses.  \nThis feature is a **Private Beta Release**.\n\\* cybersource -\n\nCyberSource is a payment gateway.\n\\* ebanx -\n\nEBANX is a payment gateway, enabling businesses to accept diverse local payment methods from various countries for increased market reach and conversion.\n",
                    "enum" : [ "stripe", "braintree", "authorize_net", "paypal_pro", "pin", "eway", "eway_rapid", "worldpay", "balanced_payments", "beanstream", "bluepay", "elavon", "first_data_global", "hdfc", "migs", "nmi", "ogone", "paymill", "paypal_payflow_pro", "sage_pay", "wirecard" ],
                    "example" : null
                  }
                },
                "required" : [ "gateway" ],
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    }
                  },
                  "required" : [ "card", "customer" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/customers/{customer-id}/delete_card" : {
      "post" : {
        "summary" : "Delete card for a customer",
        "description" : "Deletes the existing card for a customer. Upon successful deletion of card the auto_collection attribute for this customer will be set to off and card_deleted event will be triggered.\n\nIf there is no card present in the gateway for the customer, this API will return successfully without throwing any error.\n",
        "operationId" : "delete_card_for_a_customer",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "customer-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/customer-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    }
                  },
                  "required" : [ "customer" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/customers/{customer-id}/credit_card" : {
      "post" : {
        "summary" : "Update card for a customer",
        "description" : "Storing card after successful 3DS flow not supported in this API. Use [create using Payment Intent API](/docs/api/payment_sources/create-using-payment-intent)\nunder Payemnt source to store the card after successful 3DS flow completion.\n\nAdds or replaces card details of a customer. Updating card details replaces the present payment method.\n\nPassing credit card details to this API involves PCI liability at your end as sensitive card info passes through your servers. If you wish to avoid that, you can use one of the following integration methodologies if applicable\n\n* If you are using Stripe gateway, you can use [Stripe.js](https://stripe.com/docs/stripe.js) with your card update form.\n* If you are using Braintree gateway, you can use [Braintree.js](https://www.braintreepayments.com/docs/javascript) with your card update form.\n* You can also use our [Hosted Pages](https://www.chargebee.com/docs/hosted_pages.html) based integration. Use our [Hosted Page - Update Card](/docs/api/v1/hosted_pages) API to generate a 'Update Card' Hosted Page link.\n\n\\*\\*Note:\\*\\*For customers signed up before 1st March 2014, if the card's billing information is specified in the input, the customer's Billing Info (i.e [Billing Address](/docs/api/v1/customers/customer-object) and vat_number) will also be replaced with the new values automatically.\n",
        "operationId" : "update_card_for_a_customer",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "customer-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/customer-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "gateway" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Name of the gateway this card should be stored with.\n\\* twikey -\n\nTwikey is a payment service provider that specializes in processing direct debit payments across the EU.\n\\* ecentric -\n\nEcentric provides a seamless payment processing service in South Africa specializing on omnichannel capabilities.\n\\* bluesnap -\n\nBlueSnap is a payment gateway.\n\\* jp_morgan -\n\nJ.P. Morgan Mobility Payment Solutions is a payment gateway that enables you to securely accept and manage digital payments across different [payment_source_type](/docs/api/payment_sources/payment_source-object#type).  \nThis feature is a **Private Beta Release** . [Request access](https://app.chargebee.com/login?forward=https://app.chargebee.com/request_access/jp-morgan-bacs&ref=feature) to enable the J.P. Morgan Mobility Payment Solutions gateway via payFURL for your test and live sites.\n\\* tco -\n\n2Checkout is a payment gateway.\n\\* first_data_global -\n\nFirst Data Global Gateway Virtual Terminal Account\n\\* exact -\n\nExact Payments is a payment gateway.\n\\* deutsche_bank -\n\nDeutsche Bank is the leading German bank with strong European roots and a global network.  \nThis feature is a **Private Beta Release**.\n\\* bluepay -\n\nBluePay is a payment gateway.\n\\* paypal_express_checkout -\n\nPayPal Express Checkout is a payment gateway.\n\\* nuvei -\n\nNuvei is a secure and reliable payment processing solution that allows you to accept payments from customers and suitable for various types of businesses.  \nThis feature is a **Private Beta Release** . [Request access](https://app.chargebee.com/login?forward=https://app.chargebee.com/request_access/nuvei&ref=feature) to enable Nuvei for your test and live sites.\n\\* eway -\n\neWAY Account is a payment gateway.\n\\* metrics_global -\n\nMetrics global is a leading payment service provider providing unified payment services in the US.\n\\* paypal_payflow_pro -\n\nPayPal Payflow Pro is a payment gateway.\n\\* razorpay -\n\nRazorpay is a fast growing payment service provider in India working with all leading banks and support for major local payment methods including Netbanking, UPI etc.\n\\* global_payments -\n\nGlobal Payments is a payment service provider.\n\\* amazon_payments -\n\nAmazon Payments is a payment service provider.\n\\* dlocal -\n\nDlocal provides payment solutions for global commerce by accepting local payment methods.\n\\* not_applicable -\n\nIndicates that payment gateway is not applicable for this resource.\n\\* windcave -\n\nWindcave provides an end to end payment processing solution in ANZ and other leading global markets.\n\\* checkout_com -\n\nCheckout.com is a payment gateway.\n\\* adyen -\n\nAdyen is a payment gateway.\n\\* braintree -\n\nBraintree is a payment gateway.\n\\* nmi -\n\nNMI is a payment gateway.\n\\* quickbooks -\n\nIntuit QuickBooks Payments gateway\n\\* wepay -\n\nWePay is a payment gateway.\n\\* worldpay -\n\nWorldPay is a payment gateway\n\\* paystack -\n\nPaystack is a payment gateway for businesses in Africa. It enables secure payment acceptance both online and offline.  \nThis feature is a **Private Beta Release** . [Request access](https://app.chargebee.com/login?forward=https://app.chargebee.com/request_access/paystack&ref=feature) to enable Paystack for your test and live sites.\n\\* ezidebit -\n\nEzidebit is a payment gateway integration based in Australia that supports automated direct debit, BPAY, and card payments for businesses.  \nThis feature is a **Private Beta Release**.\n\\* pay_com -\n\nPay.com provides payment services focused on simplicity and hassle-free operations for businesses of all sizes.\n\\* wirecard -\n\nWireCard Account is a payment service provider.\n\\* chargebee_payments -\n\nChargebee Payments gateway\n\\* sage_pay -\n\nSage Pay is a payment gateway.\n\\* moneris_us -\n\nMoneris USA is a payment gateway.\n\\* pin -\n\nPin is a payment gateway\n\\* authorize_net -\n\nAuthorize.net is a payment gateway\n\\* elavon -\n\nElavon Virtual Merchant is a payment solution.\n\\* paypal_pro -\n\nPayPal Pro Account is a payment gateway.\n\\* orbital -\n\nChase Paymentech(Orbital) is a payment gateway.\n\\* paypal -\n\nPayPal Commerce is a payment gateway.\n\\* beanstream -\n\nBambora(formerly known as Beanstream) is a payment gateway.\n\\* hdfc -\n\nHDFC Account is a payment gateway.\n\\* ingenico_direct -\n\nWorldline Online Payments is a payment gateway.\n\\* ogone -\n\nIngenico ePayments (formerly known as Ogone) is a payment gateway.\n\\* migs -\n\nMasterCard Internet Gateway Service payment gateway.\n\\* stripe -\n\nStripe is a payment gateway.\n\\* vantiv -\n\nVantiv is a payment gateway.\n\\* moneris -\n\nMoneris is a payment gateway.\n\\* bank_of_america -\n\nBank of America Gateway\n\\* chargebee -\n\nChargebee test gateway.\n\\* eway_rapid -\n\neWAY Rapid is a payment gateway.\n\\* gocardless -\n\nGoCardless is a payment service provider.\n\\* mollie -\n\nMollie is a payment gateway.\n\\* paymill -\n\nPAYMILL is a payment gateway.\n\\* balanced_payments -\n\nBalanced is a payment gateway\n\\* solidgate -\n\nSolidgate is a secure and reliable payment processing solution that allows you to accept payments from customers and suitable for various types of businesses.  \nThis feature is a **Private Beta Release**.\n\\* cybersource -\n\nCyberSource is a payment gateway.\n\\* ebanx -\n\nEBANX is a payment gateway, enabling businesses to accept diverse local payment methods from various countries for increased market reach and conversion.\n",
                    "enum" : [ "chargebee", "stripe", "braintree", "authorize_net", "paypal_pro", "pin", "eway", "eway_rapid", "worldpay", "balanced_payments", "beanstream", "bluepay", "elavon", "first_data_global", "hdfc", "migs", "nmi", "ogone", "paymill", "paypal_payflow_pro", "sage_pay", "tco", "wirecard" ],
                    "example" : null
                  },
                  "tmp_token" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The single-use card token returned by vaults like Stripe/Braintree which act as a substitute for your card details. Before calling this API, you should have submitted your card details to the gateway and gotten this token in return.\n**Note:**\nSupported only for Stripe, Braintree and Authorize.Net. If this value is specified, there is no need to specify other card details (like number, cvv, etc).\n",
                    "maxLength" : 300,
                    "example" : null
                  },
                  "first_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Cardholder's first name.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "last_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Cardholder's last name.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "number" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The credit card number without any format. If you are using [Braintree.js](https://developer.paypal.com/braintree/docs/guides/client-sdk/setup/javascript/v2#getting-braintree.js)\n, you can specify the Braintree encrypted card number here.\n",
                    "maxLength" : 1500,
                    "example" : null
                  },
                  "expiry_month" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "description" : "Card expiry month.\n",
                    "maximum" : 12,
                    "minimum" : 1,
                    "example" : null
                  },
                  "expiry_year" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "description" : "Card expiry year.\n",
                    "example" : null
                  },
                  "cvv" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The card verification value (CVV). If you are using [Braintree.js](https://developer.paypal.com/braintree/docs/guides/client-sdk/setup/javascript/v2#getting-braintree.js)\n, you can specify the Braintree encrypted CVV here.\n",
                    "maxLength" : 520,
                    "example" : null
                  },
                  "billing_addr1" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Address line 1, as available in card billing address.\n",
                    "maxLength" : 150,
                    "example" : null
                  },
                  "billing_addr2" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Address line 2, as available in card billing address.\n",
                    "maxLength" : 150,
                    "example" : null
                  },
                  "billing_city" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "City, as available in card billing address.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "billing_state_code" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search/code\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "billing_state" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The state/province name. Is set by Chargebee automatically for US, Canada and India If <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nis provided.</p>",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "billing_zip" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Postal or Zip code, as available in card billing address.\n",
                    "maxLength" : 20,
                    "example" : null
                  },
                  "billing_country" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>\n<p class=\"mb-2\">.</p>",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "ip_address" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The IP address of the customer. Used primarily for referral integration and EU VAT validation.\n",
                    "maxLength" : 50,
                    "example" : null
                  }
                },
                "required" : [ "expiry_month", "expiry_year", "number" ],
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "customer" : {
                      "$ref" : "#/components/schemas/Customer",
                      "description" : "<p class=\"mb-2\">Resource object representing customer</p>"
                    },
                    "card" : {
                      "$ref" : "#/components/schemas/Card",
                      "description" : "<p class=\"mb-2\">Resource object representing card</p>"
                    }
                  },
                  "required" : [ "card", "customer" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/invoices/charge_addon" : {
      "post" : {
        "summary" : "Create invoice for a non-recurring addon",
        "description" : "This API generates invoices for a non-recurring addon.\n",
        "operationId" : "create_invoice_for_a_non-recurring_addon",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "customer_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Identifier of the customer for which this invoice needs to be created. Should be specified if 'subscription_id' is not specified.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "subscription_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Identifier of the subscription for which this invoice(not applicable for consolidated invoice) needs to be created. Should be specified if 'customer_id' is not specified.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "addon_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The ID of the non-recurring addon to be charged.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "addon_quantity" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "description" : "The number of addon units to be charged. Mandatory for quantity based addons.\n",
                    "minimum" : 1,
                    "example" : null
                  },
                  "coupon" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The 'One Time' coupon to be applied. Supported only if this one-off invoice is associated with a Customer(i.e customer_id is specified).\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "po_number" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Purchase Order Number for this invoice.\n",
                    "maxLength" : 100,
                    "example" : null
                  }
                },
                "required" : [ "addon_id" ],
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "invoice" : {
                      "$ref" : "#/components/schemas/Invoice",
                      "description" : "<p class=\"mb-2\">Resource object representing invoice</p>"
                    }
                  },
                  "required" : [ "invoice" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/invoices/{invoice-id}/stop_dunning" : {
      "post" : {
        "summary" : "Stop dunning for invoice",
        "description" : "This API is used to stop dunning for \"Payment Due\" invoices that have been enabled for Auto Collection. When dunning is stopped, the status of the invoice will be changed to \"Not Paid\".\n",
        "operationId" : "stop_dunning_for_invoice",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "invoice-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/invoice-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "invoice" : {
                      "$ref" : "#/components/schemas/Invoice",
                      "description" : "<p class=\"mb-2\">Resource object representing invoice</p>"
                    }
                  },
                  "required" : [ "invoice" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/invoices/{invoice-id}/add_addon_charge" : {
      "post" : {
        "summary" : "Add non-recurring addon to a pending invoice",
        "description" : "This API endpoint adds a non-recurring addon to a pending invoice.\n",
        "operationId" : "add_non-recurring_addon_to_a_pending_invoice",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "invoice-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/invoice-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "addon_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The ID of the non-recurring addon to be charged.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "addon_quantity" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "description" : "The number of addon units to be charged. Mandatory for quantity based addons.\n",
                    "minimum" : 1,
                    "example" : null
                  }
                },
                "required" : [ "addon_id" ],
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "invoice" : {
                      "$ref" : "#/components/schemas/Invoice",
                      "description" : "<p class=\"mb-2\">Resource object representing invoice</p>"
                    }
                  },
                  "required" : [ "invoice" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/customers/{customer-id}/invoices" : {
      "get" : {
        "summary" : "List invoices for a customer",
        "description" : "Lists all the invoices (latest first) for the specified customer.\n",
        "operationId" : "list_invoices_for_a_customer",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "customer-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/customer-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The number of resources to be returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10,
            "description" : "The number of resources to be returned.\n",
            "maximum" : 100,
            "minimum" : 1,
            "example" : null
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "<p class=\"mb-2\">Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">offset</code>\nto the value of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">next_offset</code>\nobtained in the previous iteration of the API call.</p>",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "description" : "Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set 'offset' to the value of 'next_offset' obtained in the previous iteration of the API call.\n",
            "maxLength" : 1000,
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "list" : {
                      "type" : "array",
                      "items" : {
                        "type" : "object",
                        "properties" : {
                          "invoice" : {
                            "$ref" : "#/components/schemas/Invoice",
                            "description" : "Resource object representing invoice"
                          }
                        },
                        "required" : [ "invoice" ],
                        "example" : null
                      },
                      "example" : null
                    },
                    "next_offset" : {
                      "type" : "string",
                      "description" : "This attribute is returned only if more resources are present. To fetch the next set of resources use this value for the input parameter `offset`.",
                      "maxLength" : 1000,
                      "example" : null
                    }
                  },
                  "required" : [ "list" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/invoices/{invoice-id}/void" : {
      "post" : {
        "summary" : "Void an invoice",
        "description" : "This API voids the specified invoice. If the invoice has been successfully voided using this API, the response will contain the voided 'invoice' object and 'Invoice Updated' event will be triggered. If the void has not been successful, a corresponding error message would be returned.\n\nVoiding an invoice is not possible\n\n* If the invoice has successful payment(s)\n* If the invoice has credit adjustment(s)\n\n* Please note that, if the current term invoice is voided and if the subscription is changed with the 'proration' enabled, the pro-rated credits will not be created for the subscription.\n* If the invoice that is voided has [Promotional Credits](https://www.chargebee.com/docs/account-credits.html) applied to it, the same will be reclaimed.\n",
        "operationId" : "void_an_invoice",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "invoice-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/invoice-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "comment" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "An internal [comment](/docs/api/v1/comments)\nto be added for this operation, to the invoice. This comment is displayed on the Chargebee UI. It is not displayed on any customer-facing [Hosted Page](/docs/api/v1/hosted_pages)\nor any document such as the [Invoice PDF](/docs/api/v1/invoices/retrieve-invoice-as-pdf)\n.\n",
                    "maxLength" : 300,
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "invoice" : {
                      "$ref" : "#/components/schemas/Invoice",
                      "description" : "<p class=\"mb-2\">Resource object representing invoice</p>"
                    }
                  },
                  "required" : [ "invoice" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/invoices/{invoice-id}/add_charge" : {
      "post" : {
        "summary" : "Add one-time charge to a pending invoice",
        "description" : "This API endpoint adds a one-time charge to a pending invoice.\n",
        "operationId" : "add_one-time_charge_to_a_pending_invoice",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "invoice-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/invoice-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "amount" : {
                    "type" : "integer",
                    "format" : "int64",
                    "deprecated" : false,
                    "description" : "The amount to be charged. The unit depends on the [type of currency](/docs/api/getting-started)\n.\n",
                    "minimum" : 1,
                    "example" : null
                  },
                  "description" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Detailed description about this lineitem.\n",
                    "maxLength" : 250,
                    "example" : null
                  }
                },
                "required" : [ "amount", "description" ],
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "invoice" : {
                      "$ref" : "#/components/schemas/Invoice",
                      "description" : "<p class=\"mb-2\">Resource object representing invoice</p>"
                    }
                  },
                  "required" : [ "invoice" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/invoices/{invoice-id}/delete" : {
      "post" : {
        "summary" : "Delete an invoice",
        "description" : "This API deletes the specified invoice. If the invoice has been successfully deleted using this API, the response will contain the deleted 'invoice' object. If the deletion has not been successful, a corresponding error message would be returned.\n\nDeleting an invoice is not possible\n\n* If the invoice has successful payment(s)\n* If the invoice has credit adjustment(s)\n\n* Please note that, after the current term invoice is deleted, if the subscription is changed with the 'proration' enabled, the pro-rated credits will not be created for the subscription.\n* Any [Promotional Credits](https://www.chargebee.com/docs/account-credits.html) applied to this invoice would be reclaimed.\n",
        "operationId" : "delete_an_invoice",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "invoice-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/invoice-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "comment" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Reason for deleting the invoice. This comment will be added to the subscription entity if the invoice belongs to a subscription. It is added to the customer entity if the invoice is associated only with a customer.\n",
                    "maxLength" : 300,
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "invoice" : {
                      "$ref" : "#/components/schemas/Invoice",
                      "description" : "<p class=\"mb-2\">Resource object representing invoice</p>"
                    }
                  },
                  "required" : [ "invoice" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/invoices/{invoice-id}/collect_payment" : {
      "post" : {
        "summary" : "Collect payment for an invoice",
        "description" : "This API can be used to collect the payments for **payment_due** and **not_paid** invoices. If no payment method is present for the customer or if the payment is unsuccessful, the corresponding error will be thrown.\n",
        "operationId" : "collect_payment_for_an_invoice",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "invoice-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/invoice-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "amount" : {
                    "type" : "integer",
                    "format" : "int64",
                    "deprecated" : false,
                    "description" : "Amount to be collected. If this parameter is not passed then the entire amount due will be collected.\n",
                    "minimum" : 1,
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "invoice" : {
                      "$ref" : "#/components/schemas/Invoice",
                      "description" : "<p class=\"mb-2\">Resource object representing invoice</p>"
                    },
                    "transaction" : {
                      "$ref" : "#/components/schemas/Transaction",
                      "description" : "<p class=\"mb-2\">Resource object representing transaction</p>"
                    }
                  },
                  "required" : [ "invoice", "transaction" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/invoices/{invoice-id}/collect" : {
      "post" : {
        "summary" : "Close pending invoice",
        "description" : "This API closes the 'pending' invoice. If \"[metered billing](https://www.chargebee.com/docs/metered_billing.html)\" is used, please ensure that the usage charges are added before invoking this API.\n\nIf the 'Auto-Collection' is turned 'ON' for the particular customer, the payment for this invoice will be automatically collected.\n\nWhile closing the pending invoice, the invoice number will be assigned based on the current invoice number sequence. The invoice end date will also be updated with the date of closure.\n\nAvailable Credits and Excess Payments will automatically be applied while closing the pending invoice.\n\nClosing a pending invoice would be allowed only if the invoice consists of atleast one line-item. Invoices without line-items cannot be closed. However, they can be deleted using the [Delete Invoice API](/docs/api/v1/invoices/delete-an-invoice).\n\n#### Related Tutorial\n\n* [Check out the tutorial on how to use metered / usage based billing.](https://www.chargebee.com/tutorials/usage-based-billing-example.html)\n",
        "operationId" : "close_pending_invoice",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "invoice-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/invoice-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "invoice" : {
                      "$ref" : "#/components/schemas/Invoice",
                      "description" : "<p class=\"mb-2\">Resource object representing invoice</p>"
                    }
                  },
                  "required" : [ "invoice" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/invoices/{invoice-id}/refund" : {
      "post" : {
        "summary" : "Refund an invoice",
        "description" : "A refund returns money to a customer. The refund request is processed via the payment gateway that was used to charge the customer.\n\nYou can choose to either make a full refund for the entire amount or you can do as many partial refunds until you reach the total amount charged for the invoice.\n\n[Read more](https://www.chargebee.com/docs/refunds.html) on refunds in our docs.\n\nError will be thrown if you attempt to:\n\n* refund an offline invoice. To record refund for such invoices, use [this API](/docs/api/v1/invoices/record-refund-for-an-invoice).\n* refund an entirely refunded invoice.\n",
        "operationId" : "refund_an_invoice",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "invoice-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/invoice-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "refund_amount" : {
                    "type" : "integer",
                    "format" : "int64",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The amount to be refunded. If not specified, the entire refundable amount for this invoice is refunded. The refundable amount is the total amount paid via online <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">transaction</code>\ns, and not already refunded.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note:</strong>\nAny <code><a href=\"/docs/api/invoices/invoice-object#linked_taxes_withheld\">linked_taxes_withheld</a></code>\nassociated with the invoice cannot be refunded via this operation.</p>",
                    "minimum" : 1,
                    "example" : null
                  },
                  "memo" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Comment, if any, on the refund.\n",
                    "maxLength" : 300,
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "invoice" : {
                      "$ref" : "#/components/schemas/Invoice",
                      "description" : "<p class=\"mb-2\">Resource object representing invoice</p>"
                    },
                    "transaction" : {
                      "$ref" : "#/components/schemas/Transaction",
                      "description" : "<p class=\"mb-2\">Resource object representing transaction</p>"
                    }
                  },
                  "required" : [ "invoice", "transaction" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/invoices" : {
      "get" : {
        "summary" : "List invoices",
        "description" : "Lists all the Invoices.\n",
        "operationId" : "list_invoices",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The number of resources to be returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10,
            "description" : "The number of resources to be returned.\n",
            "maximum" : 100,
            "minimum" : 1,
            "example" : null
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "<p class=\"mb-2\">Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">offset</code>\nto the value of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">next_offset</code>\nobtained in the previous iteration of the API call.</p>",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "description" : "Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set 'offset' to the value of 'next_offset' obtained in the previous iteration of the API call.\n",
            "maxLength" : 1000,
            "example" : null
          }
        }, {
          "name" : "paid_on_after",
          "in" : "query",
          "description" : "Returns only the invoices that got paid at/after this time. Invoices list will be sorted by 'paid_on' in ascending order.\n",
          "required" : false,
          "deprecated" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "list" : {
                      "type" : "array",
                      "items" : {
                        "type" : "object",
                        "properties" : {
                          "invoice" : {
                            "$ref" : "#/components/schemas/Invoice",
                            "description" : "Resource object representing invoice"
                          }
                        },
                        "required" : [ "invoice" ],
                        "example" : null
                      },
                      "example" : null
                    },
                    "next_offset" : {
                      "type" : "string",
                      "description" : "This attribute is returned only if more resources are present. To fetch the next set of resources use this value for the input parameter `offset`.",
                      "maxLength" : 1000,
                      "example" : null
                    }
                  },
                  "required" : [ "list" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      },
      "post" : {
        "summary" : "Create an invoice",
        "description" : "**Note:**\nThis operation optionally supports 3DS verification flow. To achieve the same, create the [Payment Intent](/docs/api/getting-started)\nand pass it as input parameter to this API.\n\nCreates a one-off invoice for multiple 'Non Recurring' addon \\& ad-hoc charges for a customer. If the 'auto collection' has been turned 'on' for that customer then payment will be immediately collected using the payment method associated with the customer. The invoice will be generated only upon successful collection of payments. However if the 'auto collection' is turned 'off', no collection attempt will be made and the invoice generated would have a \"Payment Due\" status.\n\nThe Shipping Address can be passed, which will then be attached to the generated invoice.\n\nA 'One Time' coupon can be explicitly specified while creating this invoice.  \nAvailable Credits and Excess Payments will automatically be applied to this invoice.\n",
        "operationId" : "create_an_invoice",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "customer_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Identifier of the customer for which this invoice needs to be created. Should be specified if 'subscription_id' is not specified.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "subscription_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Identifier of the subscription for which this invoice needs to be created. Should be specified if 'customer_id' is not specified.(not applicable for consolidated invoice).\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "po_number" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Purchase Order Number for this invoice.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "coupon" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The 'One Time' coupon to be applied.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "replace_primary_payment_source" : {
                    "type" : "boolean",
                    "default" : false,
                    "deprecated" : false,
                    "description" : "Indicates whether the primary payment source should be replaced with this payment source.\nIn case of Create Subscription for Customer endpoint, the default value is True. Otherwise, the default value is False.\n",
                    "example" : null
                  },
                  "shipping_address" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for shipping_address\n",
                    "properties" : {
                      "first_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The first name of the contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "last_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The last name of the contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "email" : {
                        "type" : "string",
                        "format" : "email",
                        "deprecated" : false,
                        "description" : "The email address.\n",
                        "maxLength" : 70,
                        "example" : null
                      },
                      "company" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The company name.\n",
                        "maxLength" : 250,
                        "example" : null
                      },
                      "phone" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The phone number.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "line1" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 1\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "line2" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 2\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "line3" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 3\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "city" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The name of the city.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "state_code" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search/code\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "state" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The state/province name. Is set by Chargebee automatically for US, Canada and India If <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nis provided.</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "zip" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Zip or postal code. The number of characters is validated according to the rules [specified here](https://chromium-i18n.appspot.com/ssl-address)\n.\n",
                        "maxLength" : 20,
                        "example" : null
                      },
                      "country" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
                        "maxLength" : 50,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "payment_intent" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for payment_intent\n",
                    "properties" : {
                      "id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier for PaymentIntent generated by Chargebee.js. Applicable only when you are using Chargebee.js for completing the 3DS flow. The PaymentIntent should be in 'authorized' state while passing it here. You need not pass other PaymentIntent parameters if this is passed.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "gateway_account_id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The gateway account used for performing the 3DS flow.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "gw_token" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier for 3DS transaction/verification object at the gateway. Can be passed only after successfully completing the 3DS flow. Refer [3DS implementation in Chargebee](/docs/api/3ds_card_payments)\nto find out the gateway-specific gw_token format. Applicable when you are using gateway APIs directly for completing the 3DS flow.\n",
                        "maxLength" : 65000,
                        "example" : null
                      },
                      "reference_id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier for Braintree permanent token. Applicable when you are using Braintree APIs for completing the 3DS flow.\n",
                        "maxLength" : 65000,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "addons" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for addons\n",
                    "properties" : {
                      "id" : {
                        "type" : "array",
                        "description" : "Identifier of the addon. Multiple addons can be passed.\n",
                        "items" : {
                          "type" : "string",
                          "deprecated" : false,
                          "maxLength" : 100,
                          "example" : null
                        },
                        "example" : null
                      },
                      "quantity" : {
                        "type" : "array",
                        "description" : "<p class=\"mb-2\">Quantity of the addon. Applicable for addons with <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">pricing_model</code>\nother than <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">flat_fee</code>\n.</p>",
                        "items" : {
                          "type" : "integer",
                          "format" : "int32",
                          "default" : 1,
                          "deprecated" : false,
                          "minimum" : 1,
                          "example" : null
                        },
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "charges" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for charges\n",
                    "properties" : {
                      "amount" : {
                        "type" : "array",
                        "description" : "The amount to be charged. The unit depends on the [type of currency](/docs/api/getting-started)\n.\n",
                        "items" : {
                          "type" : "integer",
                          "format" : "int64",
                          "deprecated" : false,
                          "minimum" : 1,
                          "example" : null
                        },
                        "example" : null
                      },
                      "description" : {
                        "type" : "array",
                        "description" : "Description for this charge\n",
                        "items" : {
                          "type" : "string",
                          "deprecated" : false,
                          "maxLength" : 250,
                          "example" : null
                        },
                        "example" : null
                      }
                    },
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : {
                "addons" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "charges" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "payment_intent" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "shipping_address" : {
                  "style" : "deepObject",
                  "explode" : true
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "invoice" : {
                      "$ref" : "#/components/schemas/Invoice",
                      "description" : "<p class=\"mb-2\">Resource object representing invoice</p>"
                    }
                  },
                  "required" : [ "invoice" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/invoices/{invoice-id}/record_refund" : {
      "post" : {
        "summary" : "Record refund for an invoice",
        "description" : "Offline refunds can be recorded for invoices that have been paid via card payments, Amazon Payments, Paypal Express Checkout, as well as offline payments.\n\n[Read more](https://www.chargebee.com/docs/refunds.html#reconciling-offline-refunds) on refunds in our docs.\n",
        "operationId" : "record_refund_for_an_invoice",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "invoice-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/invoice-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "memo" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Remarks, if any, on the refund.\n",
                    "maxLength" : 65000,
                    "example" : null
                  },
                  "transaction" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for transaction\n",
                    "properties" : {
                      "amount" : {
                        "type" : "integer",
                        "format" : "int64",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The amount to be refunded (for online payments) or recorded as refunded (for offline payments). If not specified, the entire refundable amount for this invoice is refunded. The refundable amount is the total amount paid (and not already refunded) for the invoice.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note:</strong>\nAny <code><a href=\"/docs/api/invoices/invoice-object#linked_taxes_withheld\">linked_taxes_withheld</a></code>\nassociated with the invoice can also be recorded as refunded via this operation.</p>",
                        "minimum" : 0,
                        "example" : null
                      },
                      "payment_method" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The payment method of this transaction</p>\n* cash - <p class=\"mb-2\">Cash</p>\n* paypal_express_checkout - <p class=\"mb-2\">Paypal Express Checkout</p>\n* card - <p class=\"mb-2\">Card</p>\n* other - <p class=\"mb-2\">Payment Methods other than the above types</p>\n* check - <p class=\"mb-2\">Check</p>\n* direct_debit - <p class=\"mb-2\">Direct Debit</p>\n* bank_transfer - <p class=\"mb-2\">Bank Transfer</p>\n* chargeback - <p class=\"mb-2\">Only applicable for a transaction of <code><a href=\"/docs/api/transactions/transaction-object#type\">type</a></code>\n= <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">refund</code>.\nThis value is set by Chargebee when an automated <a href=\"https://www.chargebee.com/docs/chargeback.html#chargeback-process\" target=\"_blank\" rel=\"noopener noreferrer\">chargeback</a>\noccurs. You can also set this explicitly when <a href=\"/docs/api/transactions/record-an-offline-refund\">recording a refund</a>\n.</p>\n* amazon_payments - <p class=\"mb-2\">Amazon Payments</p>",
                        "enum" : [ "cash", "check", "chargeback", "bank_transfer", "other" ],
                        "example" : null
                      },
                      "reference_number" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The reference number for this transaction. For example, the check number when <code><a href=\"/docs/api/transactions/transaction-object#payment_method\">payment_method</a></code>\n= <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">check</code>\n.</p>",
                        "maxLength" : 100,
                        "example" : null
                      },
                      "date" : {
                        "type" : "integer",
                        "format" : "unix-time",
                        "deprecated" : false,
                        "description" : "Indicates when this transaction occurred.\n",
                        "example" : null
                      }
                    },
                    "required" : [ "date", "payment_method" ],
                    "example" : null
                  }
                },
                "required" : [ "memo" ],
                "example" : null
              },
              "encoding" : {
                "transaction" : {
                  "style" : "deepObject",
                  "explode" : true
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "invoice" : {
                      "$ref" : "#/components/schemas/Invoice",
                      "description" : "<p class=\"mb-2\">Resource object representing invoice</p>"
                    },
                    "transaction" : {
                      "$ref" : "#/components/schemas/Transaction",
                      "description" : "<p class=\"mb-2\">Resource object representing transaction</p>"
                    }
                  },
                  "required" : [ "invoice" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/invoices/{invoice-id}/pdf" : {
      "post" : {
        "summary" : "Retrieve Invoice as PDF",
        "description" : "Gets the invoice as PDF. The returned URL is secure and allows download. The URL will expire in 60 minutes.\n\n#### Related Tutorial\n\n* [Check out customer portal tutorial on how to download invoice as PDF.](https://www.chargebee.com/tutorials/customer-portal-sample.html#downloading_invoices_as_pdf)\n",
        "operationId" : "retrieve_invoice_as_pdf",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "invoice-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/invoice-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "download" : {
                      "$ref" : "#/components/schemas/Download",
                      "description" : "<p class=\"mb-2\">Resource object representing download</p>"
                    }
                  },
                  "required" : [ "download" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/invoices/{invoice-id}" : {
      "get" : {
        "summary" : "Retrieve an invoice",
        "description" : "Retrieve the invoice for the specified invoice id.\n",
        "operationId" : "retrieve_an_invoice",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "invoice-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/invoice-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "invoice" : {
                      "$ref" : "#/components/schemas/Invoice",
                      "description" : "<p class=\"mb-2\">Resource object representing invoice</p>"
                    }
                  },
                  "required" : [ "invoice" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/subscriptions/{subscription-id}/invoices" : {
      "get" : {
        "summary" : "List invoices for a subscription",
        "description" : "Lists all the invoices (latest first) for the specified subscription.\n",
        "operationId" : "list_invoices_for_a_subscription",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "subscription-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/subscription-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The number of resources to be returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10,
            "description" : "The number of resources to be returned.\n",
            "maximum" : 100,
            "minimum" : 1,
            "example" : null
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "<p class=\"mb-2\">Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">offset</code>\nto the value of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">next_offset</code>\nobtained in the previous iteration of the API call.</p>",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "description" : "Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set 'offset' to the value of 'next_offset' obtained in the previous iteration of the API call.\n",
            "maxLength" : 1000,
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "list" : {
                      "type" : "array",
                      "items" : {
                        "type" : "object",
                        "properties" : {
                          "invoice" : {
                            "$ref" : "#/components/schemas/Invoice",
                            "description" : "Resource object representing invoice"
                          }
                        },
                        "required" : [ "invoice" ],
                        "example" : null
                      },
                      "example" : null
                    },
                    "next_offset" : {
                      "type" : "string",
                      "description" : "This attribute is returned only if more resources are present. To fetch the next set of resources use this value for the input parameter `offset`.",
                      "maxLength" : 1000,
                      "example" : null
                    }
                  },
                  "required" : [ "list" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/invoices/charge" : {
      "post" : {
        "summary" : "Create invoice for a one-time charge",
        "description" : "This API generates invoices for a one-time charge.\n",
        "operationId" : "create_invoice_for_a_one-time_charge",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "customer_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Identifier of the customer for which this invoice needs to be created. Should be specified if 'subscription_id' is not specified.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "subscription_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Identifier of the subscription for which this invoice needs to be created. Should be specified if 'customer_id' is not specified.(not applicable for consolidated invoice).\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "amount" : {
                    "type" : "integer",
                    "format" : "int64",
                    "deprecated" : false,
                    "description" : "The amount to be charged. The unit depends on the [type of currency](/docs/api/getting-started)\n.\n",
                    "minimum" : 1,
                    "example" : null
                  },
                  "description" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Description for this charge.\n",
                    "maxLength" : 250,
                    "example" : null
                  },
                  "coupon" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The 'One Time' coupon to be applied. Supported only if this one-off invoice is associated with a Customer(i.e customer_id is specified).\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "po_number" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Purchase Order Number for this invoice.\n",
                    "maxLength" : 100,
                    "example" : null
                  }
                },
                "required" : [ "description" ],
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "invoice" : {
                      "$ref" : "#/components/schemas/Invoice",
                      "description" : "<p class=\"mb-2\">Resource object representing invoice</p>"
                    }
                  },
                  "required" : [ "invoice" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/orders" : {
      "get" : {
        "summary" : "List orders",
        "description" : "This API is used to retrieve a list of all the available orders.\n",
        "operationId" : "list_orders",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The number of resources to be returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10,
            "description" : "The number of resources to be returned.\n",
            "maximum" : 100,
            "minimum" : 1,
            "example" : null
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "<p class=\"mb-2\">Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">offset</code>\nto the value of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">next_offset</code>\nobtained in the previous iteration of the API call.</p>",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "description" : "Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set 'offset' to the value of 'next_offset' obtained in the previous iteration of the API call.\n",
            "maxLength" : 1000,
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "list" : {
                      "type" : "array",
                      "items" : {
                        "type" : "object",
                        "properties" : {
                          "order" : {
                            "$ref" : "#/components/schemas/Order",
                            "description" : "Resource object representing order"
                          }
                        },
                        "required" : [ "order" ],
                        "example" : null
                      },
                      "example" : null
                    },
                    "next_offset" : {
                      "type" : "string",
                      "description" : "This attribute is returned only if more resources are present. To fetch the next set of resources use this value for the input parameter `offset`.",
                      "maxLength" : 1000,
                      "example" : null
                    }
                  },
                  "required" : [ "list" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      },
      "post" : {
        "summary" : "Create an order",
        "description" : "This API is used to retrieve an order.\n",
        "operationId" : "create_an_order",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Uniquely identifies the order. If not given, this will be auto-generated.\n",
                    "maxLength" : 40,
                    "example" : null
                  },
                  "invoice_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The invoice number which acts as an identifier for invoice and is generated sequentially.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "status" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The order status.\n\\* cancelled -\n\nOrder has been cancelled. Applicable only if you are using Chargebee's legacy order management system\n\\* new -\n\nOrder has been created. Applicable only if you are using Chargebee's legacy order management system.\n\\* voided -\n\nOrder has been voided. Applicable only if you are using Chargebee's legacy order management system\n\\* complete -\n\nOrder has been processed successfully. Applicable only if you are using Chargebee's legacy order management system\n\\* processing -\n\nOrder is being processed. Applicable only if you are using Chargebee's legacy order management system\n",
                    "enum" : [ "new", "processing", "complete", "cancelled", "voided" ],
                    "example" : null
                  },
                  "reference_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Reference id can be used to map the orders in the shipping/order management application to the orders in ChargeBee. The reference_id generally is same as the order id in the third party application.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "fulfillment_status" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The fulfillment status of an order as reflected in the shipping/order management application. Typical statuses include Shipped,Awaiting Shipment,Not fulfilled etc;.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "note" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The custom note for the order.\n",
                    "maxLength" : 600,
                    "example" : null
                  },
                  "tracking_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The tracking id of the order.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "batch_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Unique id to identify a group of orders.\n",
                    "maxLength" : 50,
                    "example" : null
                  }
                },
                "required" : [ "invoice_id" ],
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "order" : {
                      "$ref" : "#/components/schemas/Order",
                      "description" : "<p class=\"mb-2\">Resource object representing order</p>"
                    }
                  },
                  "required" : [ "order" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/invoices/{invoice-id}/orders" : {
      "get" : {
        "summary" : "List orders for an invoice",
        "description" : "Retrieves the orders corresponding to an invoice, with the latest ones on top.\n",
        "operationId" : "list_orders_for_an_invoice",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "invoice-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/invoice-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The number of resources to be returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10,
            "description" : "The number of resources to be returned.\n",
            "maximum" : 100,
            "minimum" : 1,
            "example" : null
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "<p class=\"mb-2\">Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">offset</code>\nto the value of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">next_offset</code>\nobtained in the previous iteration of the API call.</p>",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "description" : "Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set 'offset' to the value of 'next_offset' obtained in the previous iteration of the API call.\n",
            "maxLength" : 1000,
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "list" : {
                      "type" : "array",
                      "items" : {
                        "type" : "object",
                        "properties" : {
                          "order" : {
                            "$ref" : "#/components/schemas/Order",
                            "description" : "Resource object representing order"
                          }
                        },
                        "required" : [ "order" ],
                        "example" : null
                      },
                      "example" : null
                    },
                    "next_offset" : {
                      "type" : "string",
                      "description" : "This attribute is returned only if more resources are present. To fetch the next set of resources use this value for the input parameter `offset`.",
                      "maxLength" : 1000,
                      "example" : null
                    }
                  },
                  "required" : [ "list" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/orders/{order-id}" : {
      "get" : {
        "summary" : "Retrieve an order",
        "description" : "Retrieves an order corresponding to the order id passed.\n",
        "operationId" : "retrieve_an_order",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "order-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/order-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "order" : {
                      "$ref" : "#/components/schemas/Order",
                      "description" : "<p class=\"mb-2\">Resource object representing order</p>"
                    }
                  },
                  "required" : [ "order" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      },
      "post" : {
        "summary" : "Update an order",
        "description" : "Updates an order. If the status of an order is changed while updating the order, the status_update_at attribute is set with the current time.\n",
        "operationId" : "update_an_order",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "order-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/order-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "reference_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Reference id is the unique identifier of the order in the shipping/order management application.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "batch_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Unique id to identify a group of orders.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "note" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The custom note for the order.\n",
                    "maxLength" : 600,
                    "example" : null
                  },
                  "tracking_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The tracking id of the order.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "fulfillment_status" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The fulfillment status of an order as reflected in the shipping/order management application. Typical statuses include Shipped,Awaiting Shipment,Not fulfilled etc;.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "status" : {
                    "type" : "string",
                    "default" : "new",
                    "deprecated" : false,
                    "description" : "The order status.\n\\* voided -\n\nOrder has been voided. Applicable only if you are using Chargebee's legacy order management system\n\\* complete -\n\nOrder has been processed successfully. Applicable only if you are using Chargebee's legacy order management system\n\\* processing -\n\nOrder is being processed. Applicable only if you are using Chargebee's legacy order management system\n\\* cancelled -\n\nOrder has been cancelled. Applicable only if you are using Chargebee's legacy order management system\n\\* new -\n\nOrder has been created. Applicable only if you are using Chargebee's legacy order management system.\n",
                    "enum" : [ "new", "processing", "complete", "cancelled", "voided" ],
                    "example" : null
                  },
                  "shipping_address" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for shipping_address\n",
                    "properties" : {
                      "first_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The first name of the contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "last_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The last name of the contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "email" : {
                        "type" : "string",
                        "format" : "email",
                        "deprecated" : false,
                        "description" : "The email address.\n",
                        "maxLength" : 70,
                        "example" : null
                      },
                      "company" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The company name.\n",
                        "maxLength" : 250,
                        "example" : null
                      },
                      "phone" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The phone number.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "line1" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 1\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "line2" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 2\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "line3" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 3\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "city" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The name of the city.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "state_code" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search/code\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "state" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The state/province name. Is set by Chargebee automatically for US, Canada and India If <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nis provided.</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "zip" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Zip or postal code. The number of characters is validated according to the rules [specified here](https://chromium-i18n.appspot.com/ssl-address)\n.\n",
                        "maxLength" : 20,
                        "example" : null
                      },
                      "country" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
                        "maxLength" : 50,
                        "example" : null
                      }
                    },
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : {
                "shipping_address" : {
                  "style" : "deepObject",
                  "explode" : true
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "order" : {
                      "$ref" : "#/components/schemas/Order",
                      "description" : "<p class=\"mb-2\">Resource object representing order</p>"
                    }
                  },
                  "required" : [ "order" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/customers/{customer-id}/transactions" : {
      "get" : {
        "summary" : "List transactions for a customer",
        "description" : "Retrieves the transactions for a customer sorted by the recent ones on top.\n",
        "operationId" : "list_transactions_for_a_customer",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "customer-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/customer-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The number of resources to be returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10,
            "description" : "The number of resources to be returned.\n",
            "maximum" : 100,
            "minimum" : 1,
            "example" : null
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "<p class=\"mb-2\">Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">offset</code>\nto the value of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">next_offset</code>\nobtained in the previous iteration of the API call.</p>",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "description" : "Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set 'offset' to the value of 'next_offset' obtained in the previous iteration of the API call.\n",
            "maxLength" : 1000,
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "list" : {
                      "type" : "array",
                      "items" : {
                        "type" : "object",
                        "properties" : {
                          "transaction" : {
                            "$ref" : "#/components/schemas/Transaction",
                            "description" : "<p class=\"mb-2\">Resource object representing transaction</p>"
                          }
                        },
                        "required" : [ "transaction" ],
                        "example" : null
                      },
                      "example" : null
                    },
                    "next_offset" : {
                      "type" : "string",
                      "description" : "This attribute is returned only if more resources are present. To fetch the next set of resources use this value for the input parameter `offset`.",
                      "maxLength" : 1000,
                      "example" : null
                    }
                  },
                  "required" : [ "list" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/subscriptions/{subscription-id}/transactions" : {
      "get" : {
        "summary" : "List transactions for a subscription",
        "description" : "Retrieves the transactions for a subscription sorted by the recent ones on top.\n",
        "operationId" : "list_transactions_for_a_subscription",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "subscription-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/subscription-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The number of resources to be returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10,
            "description" : "The number of resources to be returned.\n",
            "maximum" : 100,
            "minimum" : 1,
            "example" : null
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "<p class=\"mb-2\">Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">offset</code>\nto the value of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">next_offset</code>\nobtained in the previous iteration of the API call.</p>",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "description" : "Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set 'offset' to the value of 'next_offset' obtained in the previous iteration of the API call.\n",
            "maxLength" : 1000,
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "list" : {
                      "type" : "array",
                      "items" : {
                        "type" : "object",
                        "properties" : {
                          "transaction" : {
                            "$ref" : "#/components/schemas/Transaction",
                            "description" : "<p class=\"mb-2\">Resource object representing transaction</p>"
                          }
                        },
                        "required" : [ "transaction" ],
                        "example" : null
                      },
                      "example" : null
                    },
                    "next_offset" : {
                      "type" : "string",
                      "description" : "This attribute is returned only if more resources are present. To fetch the next set of resources use this value for the input parameter `offset`.",
                      "maxLength" : 1000,
                      "example" : null
                    }
                  },
                  "required" : [ "list" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/transactions" : {
      "get" : {
        "summary" : "List transactions",
        "description" : "Lists all the transactions.\n",
        "operationId" : "list_transactions",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The number of resources to be returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10,
            "description" : "The number of resources to be returned.\n",
            "maximum" : 100,
            "minimum" : 1,
            "example" : null
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "<p class=\"mb-2\">Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">offset</code>\nto the value of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">next_offset</code>\nobtained in the previous iteration of the API call.</p>",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "description" : "Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set 'offset' to the value of 'next_offset' obtained in the previous iteration of the API call.\n",
            "maxLength" : 1000,
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "list" : {
                      "type" : "array",
                      "items" : {
                        "type" : "object",
                        "properties" : {
                          "transaction" : {
                            "$ref" : "#/components/schemas/Transaction",
                            "description" : "<p class=\"mb-2\">Resource object representing transaction</p>"
                          }
                        },
                        "required" : [ "transaction" ],
                        "example" : null
                      },
                      "example" : null
                    },
                    "next_offset" : {
                      "type" : "string",
                      "description" : "This attribute is returned only if more resources are present. To fetch the next set of resources use this value for the input parameter `offset`.",
                      "maxLength" : 1000,
                      "example" : null
                    }
                  },
                  "required" : [ "list" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/invoices/{invoice-id}/record_payment" : {
      "post" : {
        "summary" : "Record Payment for an invoice",
        "description" : "To record offline payments (Cash,Check etc) for 'payment_due' or 'not_paid' invoices.\n\nThe invoice status will be marked as 'paid' when the amount that is due is recorded.\n",
        "operationId" : "record_payment_for_an_invoice",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "invoice-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/invoice-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "amount" : {
                    "type" : "integer",
                    "format" : "int64",
                    "deprecated" : false,
                    "description" : "Amount paid. If this parameter is not passed then the entire invoice due amount will be recorded.\n",
                    "minimum" : 1,
                    "example" : null
                  },
                  "payment_method" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The payment method of this transaction.</p>\n* card - <p class=\"mb-2\">Card</p>\n* cash - <p class=\"mb-2\">Cash</p>\n* bank_transfer - <p class=\"mb-2\">Bank Transfer</p>\n* paypal_express_checkout - <p class=\"mb-2\">Paypal Express Checkout</p>\n* amazon_payments - <p class=\"mb-2\">Amazon Payments</p>\n* check - <p class=\"mb-2\">Check</p>\n* direct_debit - <p class=\"mb-2\">Direct Debit</p>\n* chargeback - <p class=\"mb-2\">Only applicable for a transaction of <code><a href=\"/docs/api/transactions/transaction-object#type\">type</a></code>\n= <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">refund</code>.\nThis value is set by Chargebee when an automated <a href=\"https://www.chargebee.com/docs/chargeback.html#chargeback-process\" target=\"_blank\" rel=\"noopener noreferrer\">chargeback</a>\noccurs. You can also set this explicitly when <a href=\"/docs/api/transactions/record-an-offline-refund\">recording a refund</a>\n.</p>\n* other - <p class=\"mb-2\">Payment Methods other than the above types</p>",
                    "enum" : [ "cash", "check", "bank_transfer", "direct_debit", "other" ],
                    "example" : null
                  },
                  "paid_at" : {
                    "type" : "integer",
                    "format" : "unix-time",
                    "deprecated" : false,
                    "description" : "Indicates when this transaction occurred.\n",
                    "example" : null
                  },
                  "reference_number" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The reference number for this transaction. For example, the check number when <code><a href=\"/docs/api/transactions/transaction-object#payment_method\">payment_method</a></code>\n= <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">check</code>\n.</p>",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "memo" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "A short description or note regarding the payment received. This will be the description in the transaction created.\n",
                    "maxLength" : 300,
                    "example" : null
                  }
                },
                "required" : [ "paid_at", "payment_method" ],
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "invoice" : {
                      "$ref" : "#/components/schemas/Invoice",
                      "description" : "<p class=\"mb-2\">Resource object representing invoice</p>"
                    },
                    "transaction" : {
                      "$ref" : "#/components/schemas/Transaction",
                      "description" : "<p class=\"mb-2\">Resource object representing transaction</p>"
                    }
                  },
                  "required" : [ "invoice", "transaction" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/transactions/{transaction-id}" : {
      "get" : {
        "summary" : "Retrieve a transaction",
        "description" : "Retrieve a transaction identified by its unique id.\n",
        "operationId" : "retrieve_a_transaction",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "transaction-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/transaction-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "transaction" : {
                      "$ref" : "#/components/schemas/Transaction",
                      "description" : "<p class=\"mb-2\">Resource object representing transaction</p>"
                    }
                  },
                  "required" : [ "transaction" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/invoices/{invoice-id}/transactions" : {
      "get" : {
        "summary" : "List transactions for an invoice",
        "description" : "Retrieves the transactions for an invoice with the recent ones on top. This returns all the payment attempts(manual \\& automatic) made for this invoice.\n",
        "operationId" : "list_transactions_for_an_invoice",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "invoice-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/invoice-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The number of resources to be returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10,
            "description" : "The number of resources to be returned.\n",
            "maximum" : 100,
            "minimum" : 1,
            "example" : null
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "<p class=\"mb-2\">Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">offset</code>\nto the value of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">next_offset</code>\nobtained in the previous iteration of the API call.</p>",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "description" : "Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set 'offset' to the value of 'next_offset' obtained in the previous iteration of the API call.\n",
            "maxLength" : 1000,
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "list" : {
                      "type" : "array",
                      "items" : {
                        "type" : "object",
                        "properties" : {
                          "transaction" : {
                            "$ref" : "#/components/schemas/Transaction",
                            "description" : "<p class=\"mb-2\">Resource object representing transaction</p>"
                          }
                        },
                        "required" : [ "transaction" ],
                        "example" : null
                      },
                      "example" : null
                    },
                    "next_offset" : {
                      "type" : "string",
                      "description" : "This attribute is returned only if more resources are present. To fetch the next set of resources use this value for the input parameter `offset`.",
                      "maxLength" : 1000,
                      "example" : null
                    }
                  },
                  "required" : [ "list" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/hosted_pages/update_payment_method" : {
      "post" : {
        "summary" : "Update payment method",
        "description" : "Using this API, you can request your customers to update their payment method details or change their payment method. This is used in scenarios like customers updating their payment methods before the end of trial or customers switching among payment methods.\n\nWhen this API is invoked, it returns a hosted page URL. When the customers are directed to this URL, they will be able to change/update their payment methods.\n\nDepending on the payment methods (Card, PayPal Express Checkout, Amazon Payments) that you offer your customers, they will find options to switch among the various methods of payment.\n**Note:**\n\n* If the card\\[gateway\\] parameter is passed, and the customer chooses Card as a payment method, then the card details are stored in the gateway which is passed. However, if the card\\[gateway\\] parameter is passed and the customer chooses PayPal Express Checkout/Amazon Payments as a payment method, the gateway passed will be ignored.\n* The option of embedding into an iframe is not supported for PayPal Express Checkout and Amazon Payments as customers are redirected to the respective website pages. Hence if you have PayPal Express Checkout/Amazon Payments configured and pass the parameter embed=true, this will result in an unsuccessful API request. Also, if you have all the three payment methods (Card, Paypal Express Checkout and Amazon Payments) configured and pass the parameter embed=true, the returned hosted page URL will show only Card Payment as a payment method.\n",
        "operationId" : "update_payment_method",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "redirect_url" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The customers will be redirected to this URL upon successful checkout. The hosted page id and state will be passed as parameters to this URL.\nAlthough the customer will be redirected to the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">redirect_url</code>\nafter successful checkout,\nwe do not recommend relying on it for completing critical post-checkout actions.\nThis is because redirection may not happen due to unforeseen reasons.\nChargebee recommends listening to appropriate webhooks such as <code><a href=\"/docs/api/v1/events\">subscription_created</a></code></p>\n<p class=\"mb-2\">or <code><a href=\"/docs/api/v1/events\">invoice_generated</a></code>\nto verify a successful checkout.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>\n: -   Redirect URL configured in Settings &gt; Hosted Pages Settings would be overriden by this redirect URL.\n<em class=\"italic\">Eg : http://yoursite.com?id=&amp;state=succeeded</em></p>\n<ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">This parameter is not applicable for iframe messaging.</li>\n</ul>",
                    "maxLength" : 250,
                    "example" : null
                  },
                  "cancel_url" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The customers will be redirected to this URL upon canceling checkout. The hosted page id and state will be passed as parameters to this URL.\n\n**Note**\n: - Cancel URL configured in Settings \\> Hosted Pages Settings would be overriden by this cancel URL.\n*Eg : http://yoursite.com?id=\\&state=cancelled*\n\n* This parameter is not applicable for iframe messaging and [in-app](https://www.chargebee.com/docs/2.0/checkout.html) checkout.\n",
                    "maxLength" : 250,
                    "example" : null
                  },
                  "pass_thru_content" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "You can pass through any content specific to the hosted page request and get it back after user had submitted the hosted page.\n",
                    "maxLength" : 2048,
                    "example" : null
                  },
                  "embed" : {
                    "type" : "boolean",
                    "default" : true,
                    "deprecated" : false,
                    "description" : "If true then hosted page formatted to be shown in iframe. If false, it is formatted to be shown as a separate page.\n\n**Note**\n: For [in-app](https://www.chargebee.com/docs/checkout-v3.html)\ncheckout, default is false.\n",
                    "example" : null
                  },
                  "iframe_messaging" : {
                    "type" : "boolean",
                    "default" : false,
                    "deprecated" : false,
                    "description" : "If true then iframe will communicate with the parent window. Applicable only for embedded(iframe) hosted pages. If you're using iframe_messaging you need to implement onSuccess \\& onCancel callbacks.\n\n**Note**\n: This parameter is not applicable for [in-app](https://www.chargebee.com/docs/checkout-v3.html)\ncheckout.\n",
                    "example" : null
                  },
                  "customer" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for customer\n",
                    "properties" : {
                      "id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier of the customer.\n",
                        "maxLength" : 50,
                        "example" : null
                      }
                    },
                    "required" : [ "id" ],
                    "example" : null
                  },
                  "card" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for card\n",
                    "properties" : {
                      "gateway" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Name of the gateway this payment source is stored with.\n\\* sage_pay -\n\nSage Pay is a payment gateway.\n\\* wirecard -\n\nWireCard Account is a payment service provider.\n\\* balanced_payments -\n\nBalanced is a payment gateway\n\\* elavon -\n\nElavon Virtual Merchant is a payment solution.\n\\* migs -\n\nMasterCard Internet Gateway Service payment gateway.\n\\* not_applicable -\n\nIndicates that payment gateway is not applicable for this resource.\n\\* paymill -\n\nPAYMILL is a payment gateway.\n\\* first_data_global -\n\nFirst Data Global Gateway Virtual Terminal Account\n\\* ogone -\n\nIngenico ePayments (formerly known as Ogone) is a payment gateway.\n\\* eway_rapid -\n\neWAY Rapid is a payment gateway.\n\\* chargebee -\n\nChargebee test gateway.\n\\* twikey -\n\nTwikey is a payment service provider that specializes in processing direct debit payments across the EU.\n\\* beanstream -\n\nBambora(formerly known as Beanstream) is a payment gateway.\n\\* braintree -\n\nBraintree is a payment gateway.\n\\* tco -\n\n2Checkout is a payment gateway.\n\\* bluepay -\n\nBluePay is a payment gateway.\n\\* paypal_payflow_pro -\n\nPayPal Payflow Pro is a payment gateway.\n\\* eway -\n\neWAY Account is a payment gateway.\n\\* pin -\n\nPin is a payment gateway\n\\* paypal_pro -\n\nPayPal Pro Account is a payment gateway.\n\\* authorize_net -\n\nAuthorize.net is a payment gateway\n\\* stripe -\n\nStripe is a payment gateway.\n\\* worldpay -\n\nWorldPay is a payment gateway\n\\* nmi -\n\nNMI is a payment gateway.\n\\* hdfc -\n\nHDFC Account is a payment gateway.\n",
                        "enum" : [ "chargebee", "stripe", "braintree", "authorize_net", "paypal_pro", "pin", "eway", "eway_rapid", "worldpay", "balanced_payments", "beanstream", "bluepay", "elavon", "first_data_global", "hdfc", "migs", "nmi", "ogone", "paymill", "paypal_payflow_pro", "sage_pay", "tco", "wirecard" ],
                        "example" : null
                      }
                    },
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : {
                "card" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "customer" : {
                  "style" : "deepObject",
                  "explode" : true
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "hosted_page" : {
                      "$ref" : "#/components/schemas/HostedPage",
                      "description" : "<p class=\"mb-2\">Resource object representing hosted_page</p>"
                    }
                  },
                  "required" : [ "hosted_page" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/hosted_pages/checkout_new" : {
      "post" : {
        "summary" : "Checkout new subscription",
        "description" : "Hosted page to accept card details from the subscriber and create a new subscription. This is similar to our server to server API [Create a Subscription](/docs/api/v1/subscriptions/create-a-subscription).\n\nWhen the redirect URL is notified of the result, we would advise you to [retrieve the subscription](/docs/api/v1/subscriptions/retrieve-a-subscription) and verify the details.\n\n#### Related Tutorials\n\n* [Create a subscription using Chargebee's hosted page](https://www.chargebee.com/checkout-portal-docs/checkout-new-tutorial.html)\n\nAs mentioned before this behavior is very similar to the create subscription API call. All the web hook events will be fired only after the submission of payment details by the customer and successful creation of subscription.\nAny errors related to the payment form that is submitted is handled as a response within the form so that the user is kept informed about the reason for failure to take corrective action.\n",
        "operationId" : "checkout_new_subscription",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "billing_cycles" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "description" : "Number of cycles(plan interval) this subscription should be charged. After the billing cycles exhausted, the subscription will be cancelled.\n",
                    "minimum" : 0,
                    "example" : null
                  },
                  "redirect_url" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The customers will be redirected to this URL upon successful checkout. The hosted page id and state will be passed as parameters to this URL.\nAlthough the customer will be redirected to the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">redirect_url</code>\nafter successful checkout,\nwe do not recommend relying on it for completing critical post-checkout actions.\nThis is because redirection may not happen due to unforeseen reasons.\nChargebee recommends listening to appropriate webhooks such as <code><a href=\"/docs/api/v1/events\">subscription_created</a></code></p>\n<p class=\"mb-2\">or <code><a href=\"/docs/api/v1/events\">invoice_generated</a></code>\nto verify a successful checkout.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>\n: -   Redirect URL configured in Settings &gt; Hosted Pages Settings would be overriden by this redirect URL.\n<em class=\"italic\">Eg : http://yoursite.com?id=&amp;state=succeeded</em></p>\n<ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">This parameter is not applicable for iframe messaging.</li>\n</ul>",
                    "maxLength" : 250,
                    "example" : null
                  },
                  "cancel_url" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The customers will be redirected to this URL upon canceling checkout. The hosted page id and state will be passed as parameters to this URL.\n\n**Note**\n: - Cancel URL configured in Settings \\> Hosted Pages Settings would be overriden by this cancel URL.\n*Eg : http://yoursite.com?id=\\&state=cancelled*\n\n* This parameter is not applicable for iframe messaging and [in-app](https://www.chargebee.com/docs/2.0/checkout.html) checkout.\n",
                    "maxLength" : 250,
                    "example" : null
                  },
                  "pass_thru_content" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "You can pass through any content specific to the hosted page request and get it back after user had submitted the hosted page.\n",
                    "maxLength" : 2048,
                    "example" : null
                  },
                  "embed" : {
                    "type" : "boolean",
                    "default" : true,
                    "deprecated" : false,
                    "description" : "If true then hosted page formatted to be shown in iframe. If false, it is formatted to be shown as a separate page.\n\n**Note**\n: For [in-app](https://www.chargebee.com/docs/checkout-v3.html)\ncheckout, default is false.\n",
                    "example" : null
                  },
                  "iframe_messaging" : {
                    "type" : "boolean",
                    "default" : false,
                    "deprecated" : false,
                    "description" : "If true then iframe will communicate with the parent window. Applicable only for embedded(iframe) hosted pages. If you're using iframe_messaging you need to implement onSuccess \\& onCancel callbacks.\n\n**Note**\n: This parameter is not applicable for [in-app](https://www.chargebee.com/docs/checkout-v3.html)\ncheckout.\n",
                    "example" : null
                  },
                  "subscription" : {
                    "type" : "object",
                    "additionalProperties" : true,
                    "deprecated" : false,
                    "description" : "Parameters for subscription\n",
                    "properties" : {
                      "id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "A unique and immutable identifier for the subscription. If not provided, it is autogenerated.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "plan_id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier of the plan for this subscription\n",
                        "maxLength" : 100,
                        "example" : null
                      },
                      "plan_quantity" : {
                        "type" : "integer",
                        "format" : "int32",
                        "default" : 1,
                        "deprecated" : false,
                        "description" : "Plan quantity for this subscription\n",
                        "minimum" : 1,
                        "example" : null
                      },
                      "trial_end" : {
                        "type" : "integer",
                        "format" : "unix-time",
                        "deprecated" : false,
                        "description" : "The time at which the trial ends for this subscription. Can be specified to override the default trial period.If **'0'**\nis passed, the subscription will be activated immediately.\n",
                        "example" : null
                      },
                      "start_date" : {
                        "type" : "integer",
                        "format" : "unix-time",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The date/time at which the subscription is to start. If not provided, the subscription starts immediately. You can provide a value in the past as well. This is called backdating the subscription creation and is done when the subscription has already been provisioned but its billing has been delayed. Backdating is allowed only when the following prerequisites are met:</p>\n<ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">Backdating is enabled for subscription creation operations.</li>\n<li class=\"text-base leading-relaxed\">The current day of the month does not exceed the limit set in Chargebee for backdating such operations. This day is typically the day of the month by which the accounting for the previous month must be closed.</li>\n<li class=\"text-base leading-relaxed\">The date is not more than duration X into the past, where X is the billing period of the plan. For example, if the period of the plan in the subscription is 2 months and today is 14th April, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">start_date</code> cannot be earlier than 14th February.</li>\n</ul>",
                        "example" : null
                      },
                      "coupon" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The id of the coupon. For validating the coupon code provided by the user , use the following codes in combination with the param attribute in the error response.\n\n* **resource_not_found :** Returned if the coupon is not present.\n* **resource_limit_exhausted :** Returned if the coupon has expired or the maximum redemption for the coupon has already been reached.\n* **invalid_request :** Returned if the coupon is not applicable for the particular plan/addon.\n",
                        "maxLength" : 100,
                        "example" : null
                      }
                    },
                    "required" : [ "plan_id" ],
                    "example" : null
                  },
                  "customer" : {
                    "type" : "object",
                    "additionalProperties" : true,
                    "deprecated" : false,
                    "description" : "Parameters for customer\n",
                    "properties" : {
                      "id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The unique ID of the customer for which this <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">hosted_page</code>\nshould be created. When not provided, a new customer is created with the ID set to the value provided for <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">subscription[id]</code>.\nIf <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">subscription[id]</code>\nis unavailable, then the customer ID is autogenerated.</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "email" : {
                        "type" : "string",
                        "format" : "email",
                        "deprecated" : false,
                        "description" : "Email of the customer. Configured email notifications will be sent to this email.\n",
                        "maxLength" : 70,
                        "example" : null
                      },
                      "first_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "First name of the customer. If not provided it will be got from contact information entered in the hosted page\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "last_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Last name of the customer. If not provided it will be got from contact information entered in the hosted page\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "company" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Company name of the customer.\n",
                        "maxLength" : 250,
                        "example" : null
                      },
                      "phone" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Phone number of the customer\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "taxability" : {
                        "type" : "string",
                        "default" : "taxable",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">Specifies if the customer is liable for tax</p>\n* exempt - <ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">Customer is exempted from tax. When using Chargebee&#x27;s native <a href=\"https://www.chargebee.com/docs/tax.html\" target=\"_blank\" rel=\"noopener noreferrer\">Taxes</a> feature or when using the <a href=\"https://www.chargebee.com/docs/taxjar.html\" target=\"_blank\" rel=\"noopener noreferrer\">TaxJar integration</a>, no other action is needed.</li>\n<li class=\"text-base leading-relaxed\">However, when using our <a href=\"https://www.chargebee.com/docs/avalara.html\" target=\"_blank\" rel=\"noopener noreferrer\">Avalara integration</a>, optionally, specify <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">entity_code</code> or <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exempt_number</code> attributes if you use Chargebee&#x27;s <a href=\"https://www.chargebee.com/docs/avalara.html#configuring-tax-exemption\" target=\"_blank\">AvaTax for Sales</a> or specify <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exemption_details</code> attribute if you use <a href=\"https://www.chargebee.com/docs/avatax-for-communication.html\" target=\"_blank\" rel=\"noopener noreferrer\">Chargebee&#x27;s AvaTax for Communications</a> integration. Tax may still be applied by Avalara for certain values of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">entity_code</code>/<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exempt_number</code>/<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exemption_details</code> based on the state/region/province of the taxable address.</li>\n</ul>\n* taxable - <p class=\"mb-2\">Computes tax for the customer based on the <a href=\"https://www.chargebee.com/docs/tax.html\" target=\"_blank\" rel=\"noopener noreferrer\">site configuration</a>.\nIn some cases, depending on the region, shipping_address is needed. If not provided, then billing_address is used to compute tax. If that&#x27;s not available either, the tax is taken as zero.</p>",
                        "enum" : [ "taxable", "exempt" ],
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "card" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for card\n",
                    "properties" : {
                      "gateway" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Name of the gateway this payment source is stored with.\n\\* sage_pay -\n\nSage Pay is a payment gateway.\n\\* wirecard -\n\nWireCard Account is a payment service provider.\n\\* balanced_payments -\n\nBalanced is a payment gateway\n\\* migs -\n\nMasterCard Internet Gateway Service payment gateway.\n\\* paymill -\n\nPAYMILL is a payment gateway.\n\\* first_data_global -\n\nFirst Data Global Gateway Virtual Terminal Account\n\\* ogone -\n\nIngenico ePayments (formerly known as Ogone) is a payment gateway.\n\\* chargebee -\n\nChargebee test gateway.\n\\* braintree -\n\nBraintree is a payment gateway.\n\\* pin -\n\nPin is a payment gateway\n\\* authorize_net -\n\nAuthorize.net is a payment gateway\n\\* worldpay -\n\nWorldPay is a payment gateway\n\\* nmi -\n\nNMI is a payment gateway.\n\\* hdfc -\n\nHDFC Account is a payment gateway.\n\\* elavon -\n\nElavon Virtual Merchant is a payment solution.\n\\* not_applicable -\n\nIndicates that payment gateway is not applicable for this resource.\n\\* eway_rapid -\n\neWAY Rapid is a payment gateway.\n\\* twikey -\n\nTwikey is a payment service provider that specializes in processing direct debit payments across the EU.\n\\* beanstream -\n\nBambora(formerly known as Beanstream) is a payment gateway.\n\\* tco -\n\n2Checkout is a payment gateway.\n\\* bluepay -\n\nBluePay is a payment gateway.\n\\* paypal_payflow_pro -\n\nPayPal Payflow Pro is a payment gateway.\n\\* eway -\n\neWAY Account is a payment gateway.\n\\* paypal_pro -\n\nPayPal Pro Account is a payment gateway.\n\\* stripe -\n\nStripe is a payment gateway.\n",
                        "enum" : [ "chargebee", "stripe", "braintree", "authorize_net", "paypal_pro", "pin", "eway", "eway_rapid", "worldpay", "balanced_payments", "beanstream", "bluepay", "elavon", "first_data_global", "hdfc", "migs", "nmi", "ogone", "paymill", "paypal_payflow_pro", "sage_pay", "tco", "wirecard" ],
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "addons" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for addons\n",
                    "properties" : {
                      "id" : {
                        "type" : "array",
                        "description" : "Identifier of the addon. Multiple addons can be passed.\n",
                        "items" : {
                          "type" : "string",
                          "deprecated" : false,
                          "maxLength" : 100,
                          "example" : null
                        },
                        "example" : null
                      },
                      "quantity" : {
                        "type" : "array",
                        "description" : "<p class=\"mb-2\">Quantity of the addon. Applicable for addons with <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">pricing_model</code>\nother than <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">flat_fee</code>\n.</p>",
                        "items" : {
                          "type" : "integer",
                          "format" : "int32",
                          "default" : 1,
                          "deprecated" : false,
                          "minimum" : 1,
                          "example" : null
                        },
                        "example" : null
                      }
                    },
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : {
                "addons" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "card" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "customer" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "subscription" : {
                  "style" : "deepObject",
                  "explode" : true
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "hosted_page" : {
                      "$ref" : "#/components/schemas/HostedPage",
                      "description" : "<p class=\"mb-2\">Resource object representing hosted_page</p>"
                    }
                  },
                  "required" : [ "hosted_page" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/hosted_pages/checkout_onetime_addons" : {
      "post" : {
        "summary" : "Checkout onetime addons",
        "description" : "This operation is only supported by the **2Checkout** payment gateway.\n",
        "operationId" : "checkout_onetime_addons",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "coupon" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The coupon code to be applied.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "pass_thru_content" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "You can pass through any content specific to the hosted page request and get it back after user had submitted the hosted page.\n",
                    "maxLength" : 2048,
                    "example" : null
                  },
                  "subscription" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for subscription\n",
                    "properties" : {
                      "id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "A unique and immutable identifier for the subscription. If not provided, it is autogenerated.\n",
                        "maxLength" : 50,
                        "example" : null
                      }
                    },
                    "required" : [ "id" ],
                    "example" : null
                  },
                  "card" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for card\n",
                    "properties" : {
                      "gateway" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Name of the gateway this payment source is stored with.\n\\* sage_pay -\n\nSage Pay is a payment gateway.\n\\* wirecard -\n\nWireCard Account is a payment service provider.\n\\* balanced_payments -\n\nBalanced is a payment gateway\n\\* elavon -\n\nElavon Virtual Merchant is a payment solution.\n\\* migs -\n\nMasterCard Internet Gateway Service payment gateway.\n\\* not_applicable -\n\nIndicates that payment gateway is not applicable for this resource.\n\\* paymill -\n\nPAYMILL is a payment gateway.\n\\* first_data_global -\n\nFirst Data Global Gateway Virtual Terminal Account\n\\* ogone -\n\nIngenico ePayments (formerly known as Ogone) is a payment gateway.\n\\* eway_rapid -\n\neWAY Rapid is a payment gateway.\n\\* chargebee -\n\nChargebee test gateway.\n\\* twikey -\n\nTwikey is a payment service provider that specializes in processing direct debit payments across the EU.\n\\* beanstream -\n\nBambora(formerly known as Beanstream) is a payment gateway.\n\\* braintree -\n\nBraintree is a payment gateway.\n\\* tco -\n\n2Checkout is a payment gateway.\n\\* bluepay -\n\nBluePay is a payment gateway.\n\\* paypal_payflow_pro -\n\nPayPal Payflow Pro is a payment gateway.\n\\* eway -\n\neWAY Account is a payment gateway.\n\\* pin -\n\nPin is a payment gateway\n\\* paypal_pro -\n\nPayPal Pro Account is a payment gateway.\n\\* authorize_net -\n\nAuthorize.net is a payment gateway\n\\* stripe -\n\nStripe is a payment gateway.\n\\* worldpay -\n\nWorldPay is a payment gateway\n\\* nmi -\n\nNMI is a payment gateway.\n\\* hdfc -\n\nHDFC Account is a payment gateway.\n",
                        "enum" : [ "chargebee", "stripe", "braintree", "authorize_net", "paypal_pro", "pin", "eway", "eway_rapid", "worldpay", "balanced_payments", "beanstream", "bluepay", "elavon", "first_data_global", "hdfc", "migs", "nmi", "ogone", "paymill", "paypal_payflow_pro", "sage_pay", "tco", "wirecard" ],
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "addons" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for addons\n",
                    "properties" : {
                      "id" : {
                        "type" : "array",
                        "description" : "Identifier of the addon. Multiple addons can be passed.\n",
                        "items" : {
                          "type" : "string",
                          "deprecated" : false,
                          "maxLength" : 100,
                          "example" : null
                        },
                        "example" : null
                      },
                      "quantity" : {
                        "type" : "array",
                        "description" : "<p class=\"mb-2\">Quantity of the addon. Applicable for addons with <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">pricing_model</code>\nother than <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">flat_fee</code>\n.</p>",
                        "items" : {
                          "type" : "integer",
                          "format" : "int32",
                          "default" : 1,
                          "deprecated" : false,
                          "minimum" : 1,
                          "example" : null
                        },
                        "example" : null
                      }
                    },
                    "required" : [ "id" ],
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : {
                "addons" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "card" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "subscription" : {
                  "style" : "deepObject",
                  "explode" : true
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "hosted_page" : {
                      "$ref" : "#/components/schemas/HostedPage",
                      "description" : "<p class=\"mb-2\">Resource object representing hosted_page</p>"
                    }
                  },
                  "required" : [ "hosted_page" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/hosted_pages/checkout_onetime_charge" : {
      "post" : {
        "summary" : "Checkout onetime charge",
        "description" : "This operation is only supported by the **2Checkout** payment gateway.\n",
        "operationId" : "checkout_onetime_charge",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "amount" : {
                    "type" : "integer",
                    "format" : "int64",
                    "deprecated" : false,
                    "description" : "The amount to be charged. The unit depends on the [type of currency](/docs/api/getting-started)\n.\n",
                    "minimum" : 1,
                    "example" : null
                  },
                  "description" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Description for this charge.\n",
                    "maxLength" : 250,
                    "example" : null
                  },
                  "pass_thru_content" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "You can pass through any content specific to the hosted page request and get it back after user had submitted the hosted page.\n",
                    "maxLength" : 2048,
                    "example" : null
                  },
                  "subscription" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for subscription\n",
                    "properties" : {
                      "id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "A unique and immutable identifier for the subscription. If not provided, it is autogenerated.\n",
                        "maxLength" : 50,
                        "example" : null
                      }
                    },
                    "required" : [ "id" ],
                    "example" : null
                  },
                  "card" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for card\n",
                    "properties" : {
                      "gateway" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Name of the gateway this payment source is stored with.\n\\* sage_pay -\n\nSage Pay is a payment gateway.\n\\* wirecard -\n\nWireCard Account is a payment service provider.\n\\* balanced_payments -\n\nBalanced is a payment gateway\n\\* elavon -\n\nElavon Virtual Merchant is a payment solution.\n\\* migs -\n\nMasterCard Internet Gateway Service payment gateway.\n\\* not_applicable -\n\nIndicates that payment gateway is not applicable for this resource.\n\\* paymill -\n\nPAYMILL is a payment gateway.\n\\* first_data_global -\n\nFirst Data Global Gateway Virtual Terminal Account\n\\* ogone -\n\nIngenico ePayments (formerly known as Ogone) is a payment gateway.\n\\* eway_rapid -\n\neWAY Rapid is a payment gateway.\n\\* chargebee -\n\nChargebee test gateway.\n\\* twikey -\n\nTwikey is a payment service provider that specializes in processing direct debit payments across the EU.\n\\* beanstream -\n\nBambora(formerly known as Beanstream) is a payment gateway.\n\\* braintree -\n\nBraintree is a payment gateway.\n\\* tco -\n\n2Checkout is a payment gateway.\n\\* bluepay -\n\nBluePay is a payment gateway.\n\\* paypal_payflow_pro -\n\nPayPal Payflow Pro is a payment gateway.\n\\* eway -\n\neWAY Account is a payment gateway.\n\\* pin -\n\nPin is a payment gateway\n\\* paypal_pro -\n\nPayPal Pro Account is a payment gateway.\n\\* authorize_net -\n\nAuthorize.net is a payment gateway\n\\* stripe -\n\nStripe is a payment gateway.\n\\* worldpay -\n\nWorldPay is a payment gateway\n\\* nmi -\n\nNMI is a payment gateway.\n\\* hdfc -\n\nHDFC Account is a payment gateway.\n",
                        "enum" : [ "chargebee", "stripe", "braintree", "authorize_net", "paypal_pro", "pin", "eway", "eway_rapid", "worldpay", "balanced_payments", "beanstream", "bluepay", "elavon", "first_data_global", "hdfc", "migs", "nmi", "ogone", "paymill", "paypal_payflow_pro", "sage_pay", "tco", "wirecard" ],
                        "example" : null
                      }
                    },
                    "example" : null
                  }
                },
                "required" : [ "amount", "description" ],
                "example" : null
              },
              "encoding" : {
                "card" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "subscription" : {
                  "style" : "deepObject",
                  "explode" : true
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "hosted_page" : {
                      "$ref" : "#/components/schemas/HostedPage",
                      "description" : "<p class=\"mb-2\">Resource object representing hosted_page</p>"
                    }
                  },
                  "required" : [ "hosted_page" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/hosted_pages/{hosted-page-id}" : {
      "get" : {
        "summary" : "Retrieve a hosted page",
        "description" : "This API is used to retrieve a hosted page. You will get the URL from the API response.\n",
        "operationId" : "retrieve_a_hosted_page",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "hosted-page-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/hosted-page-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "hosted_page" : {
                      "$ref" : "#/components/schemas/HostedPage",
                      "description" : "<p class=\"mb-2\">Resource object representing hosted_page</p>"
                    }
                  },
                  "required" : [ "hosted_page" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/hosted_pages/checkout_existing" : {
      "post" : {
        "summary" : "Checkout existing subscription",
        "description" : "You can checkout an existing subscription(typically in the trial state) by passing in the plan, quantity and addon details(like [Update a Subscription](/docs/api/v1/subscriptions/update-a-subscription))\n\nWhen the redirect URL is notified of the result, we would advise you to [retrieve the subscription](/docs/api/v1/subscriptions/retrieve-a-subscription) and verify the details.\n\n#### Related Tutorial\n\n* [Upgrade existing subscription using Chargebee's hosted page](https://www.chargebee.com/checkout-portal-docs/checkout-existing-tutorial.html)\n\nAs mentioned before this behavior is very similar to the update subscription API call. All the web hook events will be fired only after the submission of payment details by the customer and successful checkout of subscription.\nAny errors related to the payment form that is submitted is handled as a response within the form so that the user is kept informed about the reason for failure to take corrective action.\n",
        "operationId" : "checkout_existing_subscription",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "replace_addon_list" : {
                    "type" : "boolean",
                    "default" : false,
                    "deprecated" : false,
                    "description" : "Should be true if the existing addons should be replaced with the ones that are being passed.\n",
                    "example" : null
                  },
                  "billing_cycles" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "description" : "The number of billing cycles the subscription runs before canceling. If not provided, then the billing cycles set for the plan is used.\n",
                    "minimum" : 0,
                    "example" : null
                  },
                  "redirect_url" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The customers will be redirected to this URL upon successful checkout. The hosted page id and state will be passed as parameters to this URL.\nAlthough the customer will be redirected to the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">redirect_url</code>\nafter successful checkout,\nwe do not recommend relying on it for completing critical post-checkout actions.\nThis is because redirection may not happen due to unforeseen reasons.\nChargebee recommends listening to appropriate webhooks such as <code><a href=\"/docs/api/v1/events\">subscription_created</a></code></p>\n<p class=\"mb-2\">or <code><a href=\"/docs/api/v1/events\">invoice_generated</a></code>\nto verify a successful checkout.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>\n: -   Redirect URL configured in Settings &gt; Hosted Pages Settings would be overriden by this redirect URL.\n<em class=\"italic\">Eg : http://yoursite.com?id=&amp;state=succeeded</em></p>\n<ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">This parameter is not applicable for iframe messaging.</li>\n</ul>",
                    "maxLength" : 250,
                    "example" : null
                  },
                  "cancel_url" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The customers will be redirected to this URL upon canceling checkout. The hosted page id and state will be passed as parameters to this URL.\n\n**Note**\n: - Cancel URL configured in Settings \\> Hosted Pages Settings would be overriden by this cancel URL.\n*Eg : http://yoursite.com?id=\\&state=cancelled*\n\n* This parameter is not applicable for iframe messaging and [in-app](https://www.chargebee.com/docs/2.0/checkout.html) checkout.\n",
                    "maxLength" : 250,
                    "example" : null
                  },
                  "pass_thru_content" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "You can pass through any content specific to the hosted page request and get it back after user had submitted the hosted page.\n",
                    "maxLength" : 2048,
                    "example" : null
                  },
                  "embed" : {
                    "type" : "boolean",
                    "default" : true,
                    "deprecated" : false,
                    "description" : "If true then hosted page formatted to be shown in iframe. If false, it is formatted to be shown as a separate page.\n\n**Note**\n: For [in-app](https://www.chargebee.com/docs/checkout-v3.html)\ncheckout, default is false.\n",
                    "example" : null
                  },
                  "iframe_messaging" : {
                    "type" : "boolean",
                    "default" : false,
                    "deprecated" : false,
                    "description" : "If true then iframe will communicate with the parent window. Applicable only for embedded(iframe) hosted pages. If you're using iframe_messaging you need to implement onSuccess \\& onCancel callbacks.\n\n**Note**\n: This parameter is not applicable for [in-app](https://www.chargebee.com/docs/checkout-v3.html)\ncheckout.\n",
                    "example" : null
                  },
                  "subscription" : {
                    "type" : "object",
                    "additionalProperties" : true,
                    "deprecated" : false,
                    "description" : "Parameters for subscription\n",
                    "properties" : {
                      "id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "A unique and immutable identifier for the subscription. If not provided, it is autogenerated.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "plan_id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier of the plan for this subscription\n",
                        "maxLength" : 100,
                        "example" : null
                      },
                      "plan_quantity" : {
                        "type" : "integer",
                        "format" : "int32",
                        "default" : 1,
                        "deprecated" : false,
                        "description" : "Represents the plan quantity for this subscription.\n",
                        "minimum" : 1,
                        "example" : null
                      },
                      "start_date" : {
                        "type" : "integer",
                        "format" : "unix-time",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The new start date of a <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">future</code>\nsubscription. Applicable only for <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">future</code>\nsubscriptions.</p>",
                        "example" : null
                      },
                      "trial_end" : {
                        "type" : "integer",
                        "format" : "unix-time",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The time at which the trial has ended or will end for the subscription. This is only allowed when the subscription <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">status</code>\nis <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">future</code>\n, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">in_trial</code>\n, or <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">cancelled</code>.\nAlso, the value must not be earlier than <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">changes_scheduled_at</code>\nor <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">start_date</code>.\n<strong class=\"font-semibold\">Note</strong>:\nThis parameter can be backdated (set to a value in the past) only when the subscription is in <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">cancelled</code>\nor <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">in_trial</code>\n<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">status</code>.\nDo this to keep a record of when the trial ended in case it ended at some point in the past. When <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">trial_end</code>\nis backdated, the subscription immediately goes into <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">active</code>\nor <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">non_renewing</code>\nstatus.</p>",
                        "example" : null
                      },
                      "coupon" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">Used to uniquely identify the coupon in your website/application and to integrate with Chargebee.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Note:</strong></p><p class=\"mb-2\">When the coupon ID contains a special character; for example: <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">#</code>, the API returns an error. Make sure that you <a href=\"https://www.urlencoder.org/\">encode</a> the coupon ID in the path parameter before making an API call.</p></div>",
                        "maxLength" : 100,
                        "example" : null
                      }
                    },
                    "required" : [ "id" ],
                    "example" : null
                  },
                  "card" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for card\n",
                    "properties" : {
                      "gateway" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Name of the gateway this payment source is stored with.\n\\* sage_pay -\n\nSage Pay is a payment gateway.\n\\* wirecard -\n\nWireCard Account is a payment service provider.\n\\* balanced_payments -\n\nBalanced is a payment gateway\n\\* elavon -\n\nElavon Virtual Merchant is a payment solution.\n\\* migs -\n\nMasterCard Internet Gateway Service payment gateway.\n\\* not_applicable -\n\nIndicates that payment gateway is not applicable for this resource.\n\\* paymill -\n\nPAYMILL is a payment gateway.\n\\* first_data_global -\n\nFirst Data Global Gateway Virtual Terminal Account\n\\* ogone -\n\nIngenico ePayments (formerly known as Ogone) is a payment gateway.\n\\* eway_rapid -\n\neWAY Rapid is a payment gateway.\n\\* chargebee -\n\nChargebee test gateway.\n\\* twikey -\n\nTwikey is a payment service provider that specializes in processing direct debit payments across the EU.\n\\* beanstream -\n\nBambora(formerly known as Beanstream) is a payment gateway.\n\\* braintree -\n\nBraintree is a payment gateway.\n\\* tco -\n\n2Checkout is a payment gateway.\n\\* bluepay -\n\nBluePay is a payment gateway.\n\\* paypal_payflow_pro -\n\nPayPal Payflow Pro is a payment gateway.\n\\* eway -\n\neWAY Account is a payment gateway.\n\\* pin -\n\nPin is a payment gateway\n\\* paypal_pro -\n\nPayPal Pro Account is a payment gateway.\n\\* authorize_net -\n\nAuthorize.net is a payment gateway\n\\* stripe -\n\nStripe is a payment gateway.\n\\* worldpay -\n\nWorldPay is a payment gateway\n\\* nmi -\n\nNMI is a payment gateway.\n\\* hdfc -\n\nHDFC Account is a payment gateway.\n",
                        "enum" : [ "chargebee", "stripe", "braintree", "authorize_net", "paypal_pro", "pin", "eway", "eway_rapid", "worldpay", "balanced_payments", "beanstream", "bluepay", "elavon", "first_data_global", "hdfc", "migs", "nmi", "ogone", "paymill", "paypal_payflow_pro", "sage_pay", "tco", "wirecard" ],
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "addons" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for addons\n",
                    "properties" : {
                      "id" : {
                        "type" : "array",
                        "description" : "Identifier of the addon. Multiple addons can be passed.\n",
                        "items" : {
                          "type" : "string",
                          "deprecated" : false,
                          "maxLength" : 100,
                          "example" : null
                        },
                        "example" : null
                      },
                      "quantity" : {
                        "type" : "array",
                        "description" : "<p class=\"mb-2\">Quantity of the addon. Applicable for addons with <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">pricing_model</code>\nother than <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">flat_fee</code>\n.</p>",
                        "items" : {
                          "type" : "integer",
                          "format" : "int32",
                          "default" : 1,
                          "deprecated" : false,
                          "minimum" : 1,
                          "example" : null
                        },
                        "example" : null
                      }
                    },
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : {
                "addons" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "card" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "subscription" : {
                  "style" : "deepObject",
                  "explode" : true
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "hosted_page" : {
                      "$ref" : "#/components/schemas/HostedPage",
                      "description" : "<p class=\"mb-2\">Resource object representing hosted_page</p>"
                    }
                  },
                  "required" : [ "hosted_page" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/subscriptions/{subscription-id}/renewal_estimate" : {
      "get" : {
        "summary" : "Subscription renewal estimate",
        "description" : "This returns an estimate of the amount that will be charged when the subscription renews. The estimate is calculated based on the items present in the subscription. This includes the plan, addons and coupons(if any) of the subscription. This API is not supported for \"Cancelled\" subscriptions.\n\nYou can also specify whether you need the estimate to include delayed charges.\n\nFor \"Non Renewing\" subscriptions, only delayed charges(one time charges and non renewing addons) that may have been added to the subscription to be charged at the end of the current term will be included. Plan, addons and coupons(if any) of the subscription will not be included.\n\nThis API will not generate a renewal invoice if an [advance invoice](https://www.chargebee.com/docs/advance-invoices.html) is already present for the subscription.\n",
        "operationId" : "subscription_renewal_estimate",
        "parameters" : [ {
          "name" : "include_delayed_charges",
          "in" : "query",
          "description" : "If true, all the unbilled charges will be included for the invoice estimate.\n",
          "required" : false,
          "deprecated" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : true,
            "deprecated" : false,
            "example" : null
          }
        }, {
          "name" : "use_customer_balances",
          "in" : "query",
          "description" : "If true, all the existing balances - promotional credits, refundable credits and excess payments - will be included for the invoice estimate.\n",
          "required" : false,
          "deprecated" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false,
            "deprecated" : false,
            "example" : null
          }
        }, {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "subscription-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/subscription-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "estimate" : {
                      "$ref" : "#/components/schemas/Estimate",
                      "description" : "<p class=\"mb-2\">Resource object representing estimate</p>"
                    }
                  },
                  "required" : [ "estimate" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/customers/{customer-id}/create_subscription_estimate" : {
      "get" : {
        "summary" : "Create subscription for a customer estimate",
        "description" : "Create a subscription for the existing estimate of a customer.\n",
        "operationId" : "create_subscription_for_a_customer_estimate",
        "parameters" : [ {
          "name" : "use_customer_balances",
          "in" : "query",
          "description" : "If true, all the existing balances - promotional credits, refundable credits and excess payments - will be included for the invoice estimate.\n",
          "required" : false,
          "deprecated" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false,
            "deprecated" : false,
            "example" : null
          }
        }, {
          "name" : "billing_cycles",
          "in" : "query",
          "description" : "Number of cycles(plan interval) this subscription should be charged. After the billing cycles exhausted, the subscription will be cancelled.\n",
          "required" : false,
          "deprecated" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "deprecated" : false,
            "minimum" : 0,
            "example" : null
          }
        }, {
          "name" : "subscription",
          "in" : "query",
          "description" : "Parameters for subscription\n",
          "required" : false,
          "deprecated" : false,
          "style" : "deepObject",
          "explode" : true,
          "schema" : {
            "type" : "object",
            "deprecated" : false,
            "properties" : {
              "id" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "A unique and immutable identifier for the subscription. If not provided, it is autogenerated.\n",
                "maxLength" : 50,
                "example" : null
              },
              "plan_id" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Identifier of the plan for this subscription\n",
                "maxLength" : 100,
                "example" : null
              },
              "plan_quantity" : {
                "type" : "integer",
                "format" : "int32",
                "default" : 1,
                "deprecated" : false,
                "description" : "Plan quantity for this subscription\n",
                "minimum" : 1,
                "example" : null
              },
              "trial_end" : {
                "type" : "integer",
                "format" : "unix-time",
                "deprecated" : false,
                "description" : "The time at which the trial ends for this subscription. Can be specified to override the default trial period.If **'0'**\nis passed, the subscription will be activated immediately.\n",
                "example" : null
              },
              "start_date" : {
                "type" : "integer",
                "format" : "unix-time",
                "deprecated" : false,
                "description" : "<p class=\"mb-2\">The date/time at which the subscription is to start. If not provided, the subscription starts immediately. You can provide a value in the past as well. This is called backdating the subscription creation and is done when the subscription has already been provisioned but its billing has been delayed. Backdating is allowed only when the following prerequisites are met:</p>\n<ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">Backdating is enabled for subscription creation operations.</li>\n<li class=\"text-base leading-relaxed\">The current day of the month does not exceed the limit set in Chargebee for backdating such operations. This day is typically the day of the month by which the accounting for the previous month must be closed.</li>\n<li class=\"text-base leading-relaxed\">The date is not more than duration X into the past, where X is the billing period of the plan. For example, if the period of the plan in the subscription is 2 months and today is 14th April, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">start_date</code> cannot be earlier than 14th February.</li>\n</ul>",
                "example" : null
              },
              "coupon" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The id of the coupon. For validating the coupon code provided by the user , use the following codes in combination with the param attribute in the error response.\n\n* **resource_not_found :** Returned if the coupon is not present.\n* **resource_limit_exhausted :** Returned if the coupon has expired or the maximum redemption for the coupon has already been reached.\n* **invalid_request :** Returned if the coupon is not applicable for the particular plan/addon.\n",
                "maxLength" : 100,
                "example" : null
              }
            },
            "required" : [ "plan_id" ],
            "example" : null
          }
        }, {
          "name" : "shipping_address",
          "in" : "query",
          "description" : "Parameters for shipping_address\n",
          "required" : false,
          "deprecated" : false,
          "style" : "deepObject",
          "explode" : true,
          "schema" : {
            "type" : "object",
            "deprecated" : false,
            "properties" : {
              "state_code" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search/code\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                "maxLength" : 50,
                "example" : null
              },
              "zip" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Zip or postal code. The number of characters is validated according to the rules [specified here](https://chromium-i18n.appspot.com/ssl-address)\n.\n",
                "maxLength" : 20,
                "example" : null
              },
              "country" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
                "maxLength" : 50,
                "example" : null
              }
            },
            "example" : null
          }
        }, {
          "name" : "addons",
          "in" : "query",
          "description" : "Parameters for addons\n",
          "required" : false,
          "deprecated" : false,
          "style" : "deepObject",
          "explode" : true,
          "schema" : {
            "type" : "object",
            "deprecated" : false,
            "properties" : {
              "id" : {
                "type" : "array",
                "description" : "Identifier of the addon. Multiple addons can be passed.\n",
                "items" : {
                  "type" : "string",
                  "deprecated" : false,
                  "maxLength" : 100,
                  "example" : null
                },
                "example" : null
              },
              "quantity" : {
                "type" : "array",
                "description" : "<p class=\"mb-2\">Quantity of the addon. Applicable for addons with <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">pricing_model</code>\nother than <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">flat_fee</code>\n.</p>",
                "items" : {
                  "type" : "integer",
                  "format" : "int32",
                  "default" : 1,
                  "deprecated" : false,
                  "minimum" : 1,
                  "example" : null
                },
                "example" : null
              }
            },
            "example" : null
          }
        }, {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "customer-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/customer-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "estimate" : {
                      "$ref" : "#/components/schemas/Estimate",
                      "description" : "<p class=\"mb-2\">Resource object representing estimate</p>"
                    }
                  },
                  "required" : [ "estimate" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/estimates/update_subscription" : {
      "post" : {
        "summary" : "Update subscription estimate",
        "description" : "Generates an estimate for the 'update subscription' operation. The input will be similar to the [Update Subscription](/docs/api/v1/subscriptions/update-a-subscription) API but subscription will not be updated, but just an estimate will be generated.\n\nIn case 'update subscription' operation will not create an invoice immediately, the estimate generated will be for the 'end of term' invoice. Some of the cases where the invoice will not be generated immediately are\n\n* In case of downgrades only credits will be added to customer.\n* 'end_of_term' option is true.\n* 'prorate' option is false.\n* Only coupon is applied.\n\n**Note:**\n\n* If you use the **EU VAT** tax option, you need to specify 'billing_address\\[country\\]' and 'customer\\[vat_number\\]' attributes for the tax calculation to happen. If these attributes are not passed, the tax will be ignored for this estimate.\n* If you use the **Customized Tax** option, you need to specify the shipping address and billing address parameters for the tax calculation to happen. This is because Chargebee will use the customer's shipping address to determine the tax applicable. If the shipping address is not available, then the billing address will be used to determine tax. If both addresses are not available, tax will be ignored for this estimate.\n",
        "operationId" : "update_subscription_estimate",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "replace_addon_list" : {
                    "type" : "boolean",
                    "default" : false,
                    "deprecated" : false,
                    "description" : "Should be true if the existing addons should be replaced with the ones that are being passed.\n",
                    "example" : null
                  },
                  "billing_cycles" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "description" : "The number of billing cycles the subscription runs before canceling. If not provided, then the billing cycles set for the plan is used.\n",
                    "minimum" : 0,
                    "example" : null
                  },
                  "prorate" : {
                    "type" : "boolean",
                    "deprecated" : false,
                    "description" : "<ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">When <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">true</code>: <a href=\"https://www.chargebee.com/docs/1.0/proration.html#proration-mechanism\" target=\"_blank\">Prorated credits or charges</a> are created as applicable for this change.</li>\n<li class=\"text-base leading-relaxed\">When <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">false</code>: The subscription is changed without creating any credits or charges.</li>\n<li class=\"text-base leading-relaxed\">When not provided, the value configured in the <a href=\"https://www.chargebee.com/docs/1.0/proration.html#proration-for-subscription-change\" target=\"_blank\">site settings</a> is considered.</li>\n</ul>\n<div class=\"warning alert alert-warning\"><p class=\"mb-2\"><strong class=\"font-semibold\">Caveat</strong></p><p class=\"mb-2\">For further changes within the same billing term, when <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">prorate</code> is set to <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">true</code>, <strong class=\"font-semibold\">credits</strong> are <strong class=\"font-semibold\">not created</strong> when <strong class=\"font-semibold\">all</strong> the conditions below hold true:</p><p class=\"mb-2\">An immediate previous change was made</p><ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">with <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">prorate</code> set to <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">false</code> and</li>\n<li class=\"text-base leading-relaxed\">no changes were made to the subscription&#x27;s billing term and</li>\n<li class=\"text-base leading-relaxed\">a change was made to either the subscription&#x27;s plan, its addons, or the prices of the plan or addons.</li>\n</ul></div>",
                    "example" : null
                  },
                  "end_of_term" : {
                    "type" : "boolean",
                    "default" : false,
                    "deprecated" : false,
                    "description" : "Set this to true if you want the update to be applied at the end of the current subscription billing cycle.\n",
                    "example" : null
                  },
                  "include_delayed_charges" : {
                    "type" : "boolean",
                    "default" : false,
                    "deprecated" : false,
                    "description" : "If true, all the unbilled charges will be included for the invoice estimate.\n",
                    "example" : null
                  },
                  "use_customer_balances" : {
                    "type" : "boolean",
                    "default" : false,
                    "deprecated" : false,
                    "description" : "If true, all the existing balances - promotional credits, refundable credits and excess payments - will be included for the invoice estimate.\n",
                    "example" : null
                  },
                  "subscription" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for subscription\n",
                    "properties" : {
                      "id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "A unique and immutable identifier for the subscription. If not provided, it is autogenerated.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "plan_id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier of the plan for this subscription\n",
                        "maxLength" : 100,
                        "example" : null
                      },
                      "plan_quantity" : {
                        "type" : "integer",
                        "format" : "int32",
                        "default" : 1,
                        "deprecated" : false,
                        "description" : "Represents the plan quantity for this subscription.\n",
                        "minimum" : 1,
                        "example" : null
                      },
                      "start_date" : {
                        "type" : "integer",
                        "format" : "unix-time",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The new start date of a <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">future</code>\nsubscription. Applicable only for <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">future</code>\nsubscriptions.</p>",
                        "example" : null
                      },
                      "trial_end" : {
                        "type" : "integer",
                        "format" : "unix-time",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The time at which the trial has ended or will end for the subscription. This is only allowed when the subscription <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">status</code>\nis <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">future</code>\n, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">in_trial</code>\n, or <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">cancelled</code>.\nAlso, the value must not be earlier than <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">changes_scheduled_at</code>\nor <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">start_date</code>.\n<strong class=\"font-semibold\">Note</strong>:\nThis parameter can be backdated (set to a value in the past) only when the subscription is in <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">cancelled</code>\nor <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">in_trial</code>\n<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">status</code>.\nDo this to keep a record of when the trial ended in case it ended at some point in the past. When <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">trial_end</code>\nis backdated, the subscription immediately goes into <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">active</code>\nor <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">non_renewing</code>\nstatus.</p>",
                        "example" : null
                      },
                      "coupon" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">Used to uniquely identify the coupon in your website/application and to integrate with Chargebee.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Note:</strong></p><p class=\"mb-2\">When the coupon ID contains a special character; for example: <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">#</code>, the API returns an error. Make sure that you <a href=\"https://www.urlencoder.org/\">encode</a> the coupon ID in the path parameter before making an API call.</p></div>",
                        "maxLength" : 100,
                        "example" : null
                      }
                    },
                    "required" : [ "id" ],
                    "example" : null
                  },
                  "billing_address" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for billing_address\n",
                    "properties" : {
                      "state_code" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search/code\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "zip" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Zip or postal code. The number of characters is validated according to the rules [specified here](https://chromium-i18n.appspot.com/ssl-address)\n.\n",
                        "maxLength" : 20,
                        "example" : null
                      },
                      "country" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
                        "maxLength" : 50,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "shipping_address" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for shipping_address\n",
                    "properties" : {
                      "state_code" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search/code\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "zip" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Zip or postal code. The number of characters is validated according to the rules [specified here](https://chromium-i18n.appspot.com/ssl-address)\n.\n",
                        "maxLength" : 20,
                        "example" : null
                      },
                      "country" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
                        "maxLength" : 50,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "customer" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for customer\n",
                    "properties" : {
                      "vat_number" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "VAT number of this customer. If not provided then taxes are not calculated for the estimate. Applicable only when taxes are configured for the EU or UK region. VAT validation is not done for this.\n",
                        "maxLength" : 20,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "addons" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for addons\n",
                    "properties" : {
                      "id" : {
                        "type" : "array",
                        "description" : "Identifier of the addon. Multiple addons can be passed.\n",
                        "items" : {
                          "type" : "string",
                          "deprecated" : false,
                          "maxLength" : 100,
                          "example" : null
                        },
                        "example" : null
                      },
                      "quantity" : {
                        "type" : "array",
                        "description" : "<p class=\"mb-2\">Quantity of the addon. Applicable for addons with <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">pricing_model</code>\nother than <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">flat_fee</code>\n.</p>",
                        "items" : {
                          "type" : "integer",
                          "format" : "int32",
                          "default" : 1,
                          "deprecated" : false,
                          "minimum" : 1,
                          "example" : null
                        },
                        "example" : null
                      },
                      "proration_type" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string",
                          "deprecated" : false,
                          "description" : "null\n",
                          "enum" : [ "full_term", "partial_term", "none" ],
                          "example" : null
                        },
                        "example" : null
                      }
                    },
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : {
                "addons" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "billing_address" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "customer" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "shipping_address" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "subscription" : {
                  "style" : "deepObject",
                  "explode" : true
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "estimate" : {
                      "$ref" : "#/components/schemas/Estimate",
                      "description" : "<p class=\"mb-2\">Resource object representing estimate</p>"
                    }
                  },
                  "required" : [ "estimate" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/estimates/create_subscription" : {
      "post" : {
        "summary" : "Create subscription estimate",
        "description" : "Generates an estimate for the 'create subscription' operation. This input will be similar to the [Create Subscription](/docs/api/v1/subscriptions/create-a-subscription)\nAPI but no subscription will be created, but just an estimate will be generated.\n**Note:**\n\n* If you use the **EU VAT** tax option, you need to specify 'billing_address\\[country\\]' and 'customer\\[vat_number\\]' attributes for the tax calculation to happen. If these attributes are not passed, the tax will be ignored for this estimate.\n* If you use the **Customized Tax** option, you need to specify the shipping address and billing address parameters for the tax calculation to happen. This is because Chargebee will use the customer's shipping address to determine the tax applicable. If the shipping address is not available, then the billing address will be used to determine tax. If both addresses are not available, tax will be ignored for this estimate.\n\n#### Related Tutorial\n\n* [Check out this tutorial for when and how to use create subscription estimate API](https://www.chargebee.com/tutorials/in-app-checkout-page-using-estimate-api-example.html)\n",
        "operationId" : "create_subscription_estimate",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "billing_cycles" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "description" : "Number of cycles(plan interval) this subscription should be charged. After the billing cycles exhausted, the subscription will be cancelled.\n",
                    "minimum" : 0,
                    "example" : null
                  },
                  "subscription" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for subscription\n",
                    "properties" : {
                      "id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "A unique and immutable identifier for the subscription. If not provided, it is autogenerated.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "plan_id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier of the plan for this subscription\n",
                        "maxLength" : 100,
                        "example" : null
                      },
                      "plan_quantity" : {
                        "type" : "integer",
                        "format" : "int32",
                        "default" : 1,
                        "deprecated" : false,
                        "description" : "Plan quantity for this subscription\n",
                        "minimum" : 1,
                        "example" : null
                      },
                      "trial_end" : {
                        "type" : "integer",
                        "format" : "unix-time",
                        "deprecated" : false,
                        "description" : "The time at which the trial ends for this subscription. Can be specified to override the default trial period.If **'0'**\nis passed, the subscription will be activated immediately.\n",
                        "example" : null
                      },
                      "start_date" : {
                        "type" : "integer",
                        "format" : "unix-time",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The date/time at which the subscription is to start. If not provided, the subscription starts immediately. You can provide a value in the past as well. This is called backdating the subscription creation and is done when the subscription has already been provisioned but its billing has been delayed. Backdating is allowed only when the following prerequisites are met:</p>\n<ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">Backdating is enabled for subscription creation operations.</li>\n<li class=\"text-base leading-relaxed\">The current day of the month does not exceed the limit set in Chargebee for backdating such operations. This day is typically the day of the month by which the accounting for the previous month must be closed.</li>\n<li class=\"text-base leading-relaxed\">The date is not more than duration X into the past, where X is the billing period of the plan. For example, if the period of the plan in the subscription is 2 months and today is 14th April, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">start_date</code> cannot be earlier than 14th February.</li>\n</ul>",
                        "example" : null
                      },
                      "coupon" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The id of the coupon. For validating the coupon code provided by the user , use the following codes in combination with the param attribute in the error response.\n\n* **resource_not_found :** Returned if the coupon is not present.\n* **resource_limit_exhausted :** Returned if the coupon has expired or the maximum redemption for the coupon has already been reached.\n* **invalid_request :** Returned if the coupon is not applicable for the particular plan/addon.\n",
                        "maxLength" : 100,
                        "example" : null
                      }
                    },
                    "required" : [ "plan_id" ],
                    "example" : null
                  },
                  "billing_address" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for billing_address\n",
                    "properties" : {
                      "state_code" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search/code\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "zip" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Zip or postal code. The number of characters is validated according to the rules [specified here](https://chromium-i18n.appspot.com/ssl-address)\n.\n",
                        "maxLength" : 20,
                        "example" : null
                      },
                      "country" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
                        "maxLength" : 50,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "shipping_address" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for shipping_address\n",
                    "properties" : {
                      "state_code" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search/code\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "zip" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Zip or postal code. The number of characters is validated according to the rules [specified here](https://chromium-i18n.appspot.com/ssl-address)\n.\n",
                        "maxLength" : 20,
                        "example" : null
                      },
                      "country" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
                        "maxLength" : 50,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "customer" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for customer\n",
                    "properties" : {
                      "vat_number" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "VAT number of this customer. If not provided then taxes are not calculated for the estimate. Applicable only when taxes are configured for the EU or UK region. VAT validation is not done for this.\n",
                        "maxLength" : 20,
                        "example" : null
                      },
                      "taxability" : {
                        "type" : "string",
                        "default" : "taxable",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">Specifies if the customer is liable for tax</p>\n* exempt - <ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">Customer is exempted from tax. When using Chargebee&#x27;s native <a href=\"https://www.chargebee.com/docs/tax.html\" target=\"_blank\" rel=\"noopener noreferrer\">Taxes</a> feature or when using the <a href=\"https://www.chargebee.com/docs/taxjar.html\" target=\"_blank\" rel=\"noopener noreferrer\">TaxJar integration</a>, no other action is needed.</li>\n<li class=\"text-base leading-relaxed\">However, when using our <a href=\"https://www.chargebee.com/docs/avalara.html\" target=\"_blank\" rel=\"noopener noreferrer\">Avalara integration</a>, optionally, specify <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">entity_code</code> or <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exempt_number</code> attributes if you use Chargebee&#x27;s <a href=\"https://www.chargebee.com/docs/avalara.html#configuring-tax-exemption\" target=\"_blank\">AvaTax for Sales</a> or specify <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exemption_details</code> attribute if you use <a href=\"https://www.chargebee.com/docs/avatax-for-communication.html\" target=\"_blank\" rel=\"noopener noreferrer\">Chargebee&#x27;s AvaTax for Communications</a> integration. Tax may still be applied by Avalara for certain values of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">entity_code</code>/<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exempt_number</code>/<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exemption_details</code> based on the state/region/province of the taxable address.</li>\n</ul>\n* taxable - <p class=\"mb-2\">Computes tax for the customer based on the <a href=\"https://www.chargebee.com/docs/tax.html\" target=\"_blank\" rel=\"noopener noreferrer\">site configuration</a>.\nIn some cases, depending on the region, shipping_address is needed. If not provided, then billing_address is used to compute tax. If that&#x27;s not available either, the tax is taken as zero.</p>",
                        "enum" : [ "taxable", "exempt" ],
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "addons" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for addons\n",
                    "properties" : {
                      "id" : {
                        "type" : "array",
                        "description" : "Identifier of the addon. Multiple addons can be passed.\n",
                        "items" : {
                          "type" : "string",
                          "deprecated" : false,
                          "maxLength" : 100,
                          "example" : null
                        },
                        "example" : null
                      },
                      "quantity" : {
                        "type" : "array",
                        "description" : "<p class=\"mb-2\">Quantity of the addon. Applicable for addons with <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">pricing_model</code>\nother than <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">flat_fee</code>\n.</p>",
                        "items" : {
                          "type" : "integer",
                          "format" : "int32",
                          "default" : 1,
                          "deprecated" : false,
                          "minimum" : 1,
                          "example" : null
                        },
                        "example" : null
                      }
                    },
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : {
                "addons" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "billing_address" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "customer" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "shipping_address" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "subscription" : {
                  "style" : "deepObject",
                  "explode" : true
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "estimate" : {
                      "$ref" : "#/components/schemas/Estimate",
                      "description" : "<p class=\"mb-2\">Resource object representing estimate</p>"
                    }
                  },
                  "required" : [ "estimate" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/estimates/create_invoice" : {
      "post" : {
        "summary" : "Create invoice estimate",
        "description" : "Generates an estimate for the 'create an invoice' operation. This is similar to the [Create an invoice](/docs/api/v1/invoices/create-an-invoice) API, but the invoice will not be generated. Only an estimate for this operation is created.\n",
        "operationId" : "create_invoice_estimate",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "coupon" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The 'One Time' coupon to be applied.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "invoice" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for invoice\n",
                    "properties" : {
                      "customer_id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier of the customer for which this invoice needs to be created. Should be specified if 'subscription_id' is not specified.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "subscription_id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier of the subscription for which this invoice needs to be created. Should be specified if 'customer_id' is not specified.(not applicable for consolidated invoice)\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "po_number" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Purchase Order Number for this invoice.\n",
                        "maxLength" : 100,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "customer" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for customer\n",
                    "properties" : {
                      "vat_number" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "VAT number of this customer. If not provided then taxes are not calculated for the estimate. Applicable only when taxes are configured for the EU or UK region. VAT validation is not done for this.\n",
                        "maxLength" : 20,
                        "example" : null
                      },
                      "taxability" : {
                        "type" : "string",
                        "default" : "taxable",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">Specifies if the customer is liable for tax</p>\n* exempt - <ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">Customer is exempted from tax. When using Chargebee&#x27;s native <a href=\"https://www.chargebee.com/docs/tax.html\" target=\"_blank\" rel=\"noopener noreferrer\">Taxes</a> feature or when using the <a href=\"https://www.chargebee.com/docs/taxjar.html\" target=\"_blank\" rel=\"noopener noreferrer\">TaxJar integration</a>, no other action is needed.</li>\n<li class=\"text-base leading-relaxed\">However, when using our <a href=\"https://www.chargebee.com/docs/avalara.html\" target=\"_blank\" rel=\"noopener noreferrer\">Avalara integration</a>, optionally, specify <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">entity_code</code> or <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exempt_number</code> attributes if you use Chargebee&#x27;s <a href=\"https://www.chargebee.com/docs/avalara.html#configuring-tax-exemption\" target=\"_blank\">AvaTax for Sales</a> or specify <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exemption_details</code> attribute if you use <a href=\"https://www.chargebee.com/docs/avatax-for-communication.html\" target=\"_blank\" rel=\"noopener noreferrer\">Chargebee&#x27;s AvaTax for Communications</a> integration. Tax may still be applied by Avalara for certain values of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">entity_code</code>/<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exempt_number</code>/<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exemption_details</code> based on the state/region/province of the taxable address.</li>\n</ul>\n* taxable - <p class=\"mb-2\">Computes tax for the customer based on the <a href=\"https://www.chargebee.com/docs/tax.html\" target=\"_blank\" rel=\"noopener noreferrer\">site configuration</a>.\nIn some cases, depending on the region, shipping_address is needed. If not provided, then billing_address is used to compute tax. If that&#x27;s not available either, the tax is taken as zero.</p>",
                        "enum" : [ "taxable", "exempt" ],
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "billing_address" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for billing_address\n",
                    "properties" : {
                      "state_code" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search/code\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "zip" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Zip or postal code. The number of characters is validated according to the rules [specified here](https://chromium-i18n.appspot.com/ssl-address)\n.\n",
                        "maxLength" : 20,
                        "example" : null
                      },
                      "country" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
                        "maxLength" : 50,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "shipping_address" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for shipping_address\n",
                    "properties" : {
                      "first_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The first name of the contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "last_name" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The last name of the contact.\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "email" : {
                        "type" : "string",
                        "format" : "email",
                        "deprecated" : false,
                        "description" : "The email address.\n",
                        "maxLength" : 70,
                        "example" : null
                      },
                      "company" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The company name.\n",
                        "maxLength" : 250,
                        "example" : null
                      },
                      "phone" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The phone number.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "line1" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 1\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "line2" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 2\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "line3" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Address line 3\n",
                        "maxLength" : 150,
                        "example" : null
                      },
                      "city" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "The name of the city.\n",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "state_code" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search/code\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "state" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The state/province name. Is set by Chargebee automatically for US, Canada and India If <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nis provided.</p>",
                        "maxLength" : 50,
                        "example" : null
                      },
                      "zip" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Zip or postal code. The number of characters is validated according to the rules [specified here](https://chromium-i18n.appspot.com/ssl-address)\n.\n",
                        "maxLength" : 20,
                        "example" : null
                      },
                      "country" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
                        "maxLength" : 50,
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "addons" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for addons\n",
                    "properties" : {
                      "id" : {
                        "type" : "array",
                        "description" : "Identifier of the addon. Multiple addons can be passed.\n",
                        "items" : {
                          "type" : "string",
                          "deprecated" : false,
                          "maxLength" : 100,
                          "example" : null
                        },
                        "example" : null
                      },
                      "quantity" : {
                        "type" : "array",
                        "description" : "<p class=\"mb-2\">Quantity of the addon. Applicable for addons with <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">pricing_model</code>\nother than <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">flat_fee</code>\n.</p>",
                        "items" : {
                          "type" : "integer",
                          "format" : "int32",
                          "default" : 1,
                          "deprecated" : false,
                          "minimum" : 1,
                          "example" : null
                        },
                        "example" : null
                      }
                    },
                    "example" : null
                  },
                  "charges" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for charges\n",
                    "properties" : {
                      "amount" : {
                        "type" : "array",
                        "description" : "The amount to be charged. The unit depends on the [type of currency](/docs/api/getting-started)\n.\n",
                        "items" : {
                          "type" : "integer",
                          "format" : "int64",
                          "deprecated" : false,
                          "minimum" : 1,
                          "example" : null
                        },
                        "example" : null
                      },
                      "description" : {
                        "type" : "array",
                        "description" : "Description for this charge\n",
                        "items" : {
                          "type" : "string",
                          "deprecated" : false,
                          "maxLength" : 250,
                          "example" : null
                        },
                        "example" : null
                      }
                    },
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : {
                "addons" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "billing_address" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "charges" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "customer" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "invoice" : {
                  "style" : "deepObject",
                  "explode" : true
                },
                "shipping_address" : {
                  "style" : "deepObject",
                  "explode" : true
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "estimate" : {
                      "$ref" : "#/components/schemas/Estimate",
                      "description" : "<p class=\"mb-2\">Resource object representing estimate</p>"
                    }
                  },
                  "required" : [ "estimate" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/plans/{plan-id}/delete" : {
      "post" : {
        "summary" : "Delete a plan",
        "description" : "When a plan that already has subscriptions/invoices linked to it is deleted, it does not get completely purged but is instead moved to \"Archived\" state. No other subscriptions can use this plan but subscriptions already on it will continue to renew. Once a plan has been archived, it cannot be edited or used again and the plan cannot be un-archived.\n\nIf no subscriptions or invoices are linked to a plan, the plan will be permanently deleted from your Chargebee site. This action cannot be undone.\n\nIf a plan that is an applicable item for a coupon is deleted, then the plan will be removed from that coupon's list of applicable items.\n\nArchiving a plan will not affect coupons in anyway.\n",
        "operationId" : "delete_a_plan",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "plan-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/plan-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "plan" : {
                      "$ref" : "#/components/schemas/Plan",
                      "description" : "<p class=\"mb-2\">Resource object representing plan</p>"
                    }
                  },
                  "required" : [ "plan" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/plans" : {
      "get" : {
        "summary" : "List plans",
        "description" : "This API fetches all the active and archived plans. If the limit parameter is not set, it will return upto 10 plans\n",
        "operationId" : "list_plans",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The number of resources to be returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10,
            "description" : "The number of resources to be returned.\n",
            "maximum" : 100,
            "minimum" : 1,
            "example" : null
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "<p class=\"mb-2\">Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">offset</code>\nto the value of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">next_offset</code>\nobtained in the previous iteration of the API call.</p>",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "description" : "Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set 'offset' to the value of 'next_offset' obtained in the previous iteration of the API call.\n",
            "maxLength" : 1000,
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "list" : {
                      "type" : "array",
                      "items" : {
                        "type" : "object",
                        "properties" : {
                          "plan" : {
                            "$ref" : "#/components/schemas/Plan",
                            "description" : "Resource object representing plan"
                          }
                        },
                        "required" : [ "plan" ],
                        "example" : null
                      },
                      "example" : null
                    },
                    "next_offset" : {
                      "type" : "string",
                      "description" : "This attribute is returned only if more resources are present. To fetch the next set of resources use this value for the input parameter `offset`.",
                      "maxLength" : 1000,
                      "example" : null
                    }
                  },
                  "required" : [ "list" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      },
      "post" : {
        "summary" : "Create a plan",
        "description" : "This endpoint creates a new plan based on the plan Id and plan name.\n",
        "operationId" : "create_a_plan",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "additionalProperties" : true,
                "properties" : {
                  "id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "A unique ID for your system to identify the plan.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The display name used in web interface for identifying the plan.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "invoice_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Display name used in invoice. If it is not configured then name is used in invoice.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "description" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Description about the plan to show in the hosted pages \\& customer portal.\n",
                    "maxLength" : 2000,
                    "example" : null
                  },
                  "trial_period" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "description" : "The free time window for your customer to try your product.\n",
                    "minimum" : 1,
                    "example" : null
                  },
                  "trial_period_unit" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Time unit for the trial period.\n\\* month -\n\nIn months\n\\* day -\n\nIn days\n",
                    "enum" : [ "day", "month" ],
                    "example" : null
                  },
                  "period" : {
                    "type" : "integer",
                    "format" : "int32",
                    "default" : 1,
                    "deprecated" : false,
                    "description" : "Defines billing frequency. Example: to bill customer every 3 months, provide \"3\" here.\n",
                    "minimum" : 1,
                    "example" : null
                  },
                  "period_unit" : {
                    "type" : "string",
                    "default" : "month",
                    "deprecated" : false,
                    "description" : "Defines billing frequency in association with billing period.\n\\* year -\n\nCharge based on year(s)\n\\* month -\n\nCharge based on month(s)\n\\* week -\n\nCharge based on week(s)\n\\* day -\n\nCharge based on day(s)\n",
                    "enum" : [ "day", "week", "month", "year" ],
                    "example" : null
                  },
                  "setup_cost" : {
                    "type" : "integer",
                    "format" : "int64",
                    "deprecated" : false,
                    "description" : "One-time setup fee charged as part of the first invoice.\n",
                    "minimum" : 1,
                    "example" : null
                  },
                  "price" : {
                    "type" : "integer",
                    "format" : "int64",
                    "deprecated" : false,
                    "description" : "The price of the plan. The unit depends on the [type of currency](/docs/api/getting-started)\n.\n",
                    "minimum" : 0,
                    "example" : null
                  },
                  "billing_cycles" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "description" : "The number of billing cycles the subscription is active. The subscription is moved to non renewing state and then to cancelled state automatically.\n",
                    "minimum" : 1,
                    "example" : null
                  },
                  "charge_model" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Defines how the subscription recurring charge for this plan should be calculated.\n\\* flat_fee -\n\nCharge a single price on recurring basis\n\\* per_unit -\n\nCharge the price for each unit of the plan for the subscription on recurring basis.\n",
                    "enum" : [ "flat_fee", "per_unit" ],
                    "example" : null
                  },
                  "free_quantity" : {
                    "type" : "integer",
                    "format" : "int32",
                    "default" : 0,
                    "deprecated" : false,
                    "description" : "Free quantity the subscriptions of this plan will have. Only the quantity more than this will be charged for the subscription.\n",
                    "minimum" : 0,
                    "example" : null
                  },
                  "redirect_url" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The url to redirect on successful checkout. Eg: https://yoursite.com/success.html?plan=basic.\n",
                    "maxLength" : 500,
                    "example" : null
                  },
                  "enabled_in_hosted_pages" : {
                    "type" : "boolean",
                    "default" : true,
                    "deprecated" : false,
                    "description" : "If true, allow checkout through plan specific hosted page URL for this plan.\n",
                    "example" : null
                  },
                  "enabled_in_portal" : {
                    "type" : "boolean",
                    "default" : true,
                    "deprecated" : false,
                    "description" : "If enabled, customers can switch to this plan using the 'Change Subscription' option in the customer portal.\n",
                    "example" : null
                  },
                  "taxable" : {
                    "type" : "boolean",
                    "default" : true,
                    "deprecated" : false,
                    "description" : "Specifies if the plan should be taxed or not.\n",
                    "example" : null
                  },
                  "invoice_notes" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "A customer-facing note added to all invoices associated with this API resource. This note becomes one among [all the notes](/docs/api/invoices/invoice-object#notes)\ndisplayed on the invoice PDF.\n",
                    "maxLength" : 2000,
                    "example" : null
                  },
                  "meta_data" : {
                    "type" : "object",
                    "additionalProperties" : true,
                    "deprecated" : false,
                    "description" : "A set of key-value pairs stored as additional information for the plan. \\[Learn more\\](/docs/api/v1/plans) .\n",
                    "example" : null
                  }
                },
                "required" : [ "id", "name" ],
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "plan" : {
                      "$ref" : "#/components/schemas/Plan",
                      "description" : "<p class=\"mb-2\">Resource object representing plan</p>"
                    }
                  },
                  "required" : [ "plan" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/plans/{plan-id}" : {
      "get" : {
        "summary" : "Retrieve a plan",
        "description" : "This endpoint retrieves a specific plan using the plan id.\n",
        "operationId" : "retrieve_a_plan",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "plan-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/plan-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "plan" : {
                      "$ref" : "#/components/schemas/Plan",
                      "description" : "<p class=\"mb-2\">Resource object representing plan</p>"
                    }
                  },
                  "required" : [ "plan" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      },
      "post" : {
        "summary" : "Update a plan",
        "description" : "When updating plans that are already linked to an invoice or a subscription, you can only update the following parameters:\n\n* name\n* invoice_name\n* setup_cost\n* price\n* trial_period\n* trial_period_unit\n* redirect_url\n* enabled_in_hosted_pages\n",
        "operationId" : "update_a_plan",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "plan-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/plan-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "additionalProperties" : true,
                "properties" : {
                  "name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The display name used in web interface for identifying the plan.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "invoice_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Display name used in invoice. If it is not configured then name is used in invoice.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "description" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Description about the plan to show in the hosted pages \\& customer portal.\n",
                    "maxLength" : 2000,
                    "example" : null
                  },
                  "trial_period" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "description" : "The free time window for your customer to try your product. If **zero**\nis passed, the trial period will be removed.\n",
                    "minimum" : 0,
                    "example" : null
                  },
                  "trial_period_unit" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Time unit for the trial period.\n\\* month -\n\nIn months\n\\* day -\n\nIn days\n",
                    "enum" : [ "day", "month" ],
                    "example" : null
                  },
                  "period" : {
                    "type" : "integer",
                    "format" : "int32",
                    "default" : 1,
                    "deprecated" : false,
                    "description" : "Defines billing frequency. Example: to bill customer every 3 months, provide \"3\" here.\n",
                    "minimum" : 1,
                    "example" : null
                  },
                  "period_unit" : {
                    "type" : "string",
                    "default" : "month",
                    "deprecated" : false,
                    "description" : "Defines billing frequency in association with billing period.\n\\* year -\n\nCharge based on year(s)\n\\* month -\n\nCharge based on month(s)\n\\* week -\n\nCharge based on week(s)\n\\* day -\n\nCharge based on day(s)\n",
                    "enum" : [ "day", "week", "month", "year" ],
                    "example" : null
                  },
                  "setup_cost" : {
                    "type" : "integer",
                    "format" : "int64",
                    "deprecated" : false,
                    "description" : "One-time setup fee charged as part of the first invoice.\n",
                    "minimum" : 1,
                    "example" : null
                  },
                  "price" : {
                    "type" : "integer",
                    "format" : "int64",
                    "deprecated" : false,
                    "description" : "The price of the plan. The unit depends on the [type of currency](/docs/api/getting-started)\n.\n",
                    "minimum" : 0,
                    "example" : null
                  },
                  "billing_cycles" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "description" : "The number of billing cycles the subscription is active. The subscription is moved to non renewing state and then to cancelled state automatically.\n",
                    "minimum" : 1,
                    "example" : null
                  },
                  "charge_model" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Defines how the subscription recurring charge for this plan should be calculated.\n\\* flat_fee -\n\nCharge a single price on recurring basis\n\\* per_unit -\n\nCharge the price for each unit of the plan for the subscription on recurring basis.\n",
                    "enum" : [ "flat_fee", "per_unit" ],
                    "example" : null
                  },
                  "free_quantity" : {
                    "type" : "integer",
                    "format" : "int32",
                    "default" : 0,
                    "deprecated" : false,
                    "description" : "Free quantity the subscriptions of this plan will have. Only the quantity more than this will be charged for the subscription.\n",
                    "minimum" : 0,
                    "example" : null
                  },
                  "redirect_url" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The url to redirect on successful checkout. Eg: https://yoursite.com/success.html?plan=basic.\n",
                    "maxLength" : 500,
                    "example" : null
                  },
                  "enabled_in_hosted_pages" : {
                    "type" : "boolean",
                    "default" : true,
                    "deprecated" : false,
                    "description" : "If true, allow checkout through plan specific hosted page URL for this plan.\n",
                    "example" : null
                  },
                  "enabled_in_portal" : {
                    "type" : "boolean",
                    "default" : true,
                    "deprecated" : false,
                    "description" : "If enabled, customers can switch to this plan using the 'Change Subscription' option in the customer portal.\n",
                    "example" : null
                  },
                  "taxable" : {
                    "type" : "boolean",
                    "default" : true,
                    "deprecated" : false,
                    "description" : "Specifies if the plan should be taxed or not.\n",
                    "example" : null
                  },
                  "invoice_notes" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "A customer-facing note added to all invoices associated with this API resource. This note becomes one among [all the notes](/docs/api/invoices/invoice-object#notes)\ndisplayed on the invoice PDF.\n",
                    "maxLength" : 2000,
                    "example" : null
                  },
                  "meta_data" : {
                    "type" : "object",
                    "additionalProperties" : true,
                    "deprecated" : false,
                    "description" : "A set of key-value pairs stored as additional information for the plan. \\[Learn more\\](/docs/api/v1/plans) .\n",
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "plan" : {
                      "$ref" : "#/components/schemas/Plan",
                      "description" : "<p class=\"mb-2\">Resource object representing plan</p>"
                    }
                  },
                  "required" : [ "plan" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/addons/{addon-id}" : {
      "get" : {
        "summary" : "Retrieve an addon",
        "description" : "Retrieve a specific addon using the id.\n",
        "operationId" : "retrieve_an_addon",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "addon-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/addon-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "addon" : {
                      "$ref" : "#/components/schemas/Addon",
                      "description" : "<p class=\"mb-2\">Resource object representing addon</p>"
                    }
                  },
                  "required" : [ "addon" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      },
      "post" : {
        "summary" : "Update an addon",
        "description" : "When updating addons that already have an invoice or a subscription linked to it, you can only update the following parameters:\n\n* name\n* invoice_name\n* price\n",
        "operationId" : "update_an_addon",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "addon-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/addon-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "additionalProperties" : true,
                "properties" : {
                  "name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The display name used in web interface for identifying the addon.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "invoice_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Display name used in invoice. If it is not configured then name is used in invoice.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "description" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Description about the addon to show in the hosted pages \\& customer portal. This description will not be shown if multiple addons are added.\n",
                    "maxLength" : 2000,
                    "example" : null
                  },
                  "charge_type" : {
                    "type" : "string",
                    "default" : "recurring",
                    "deprecated" : false,
                    "description" : "Type of charge.\n\\* recurring -\n\nCharges are automatically applied in sync with the billing frequency of subscription.\n\\* non_recurring -\n\nCharged immediately and only once every time it is applied.\n",
                    "enum" : [ "recurring", "non_recurring" ],
                    "example" : null
                  },
                  "price" : {
                    "type" : "integer",
                    "format" : "int64",
                    "deprecated" : false,
                    "description" : "Addon price is calculated based on the addon type and charge type. [Learn more](https://www.chargebee.com/docs/addons.html#charge-type-and-pricing).\nThe unit depends on the [type of currency](/docs/api/getting-started)\n.\n",
                    "minimum" : 0,
                    "example" : null
                  },
                  "period" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "description" : "Applicable only for recurring-addons. Along with 'period_unit' decides the term-price of this addon.\n",
                    "minimum" : 1,
                    "example" : null
                  },
                  "period_unit" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Applicable only for recurring-addons. Along with 'period' decides the term-price of this addon.\n\\* year -\n\nCharge based on year(s)\n\\* month -\n\nCharge based on month(s)\n\\* week -\n\nCharge based on week(s)\n\\* day -\n\nCharge based on Day(S)\n\\* not_applicable -\n\nnot applicable for this addon\n",
                    "enum" : [ "day", "week", "month", "year", "not_applicable" ],
                    "example" : null
                  },
                  "type" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Select \"On-Off\" to charge a flat fee or \"Quantity\" for unit based charges.\n\\* quantity -\n\nCharges this price for every unit of the addon. Example: 2 additional support agents at $10 each\n\\* on_off -\n\nAddon that does not have any quantity associated and can only be enabled or disabled. Example: On call support at $99 per month.\n",
                    "enum" : [ "on_off", "quantity" ],
                    "example" : null
                  },
                  "unit" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Specifies the type of quantity. For example, if the addon price is $10 and 'agent' is the unit of measure, the addon will be $10/agent.\nApplicable only for quantity type addons.\n",
                    "maxLength" : 30,
                    "example" : null
                  },
                  "enabled_in_portal" : {
                    "type" : "boolean",
                    "default" : true,
                    "deprecated" : false,
                    "description" : "If enabled, customers can select this addon using the 'Change Subscription' option in the customer portal.\n",
                    "example" : null
                  },
                  "taxable" : {
                    "type" : "boolean",
                    "default" : true,
                    "deprecated" : false,
                    "description" : "Specifies if the addon should be taxed or not.\n",
                    "example" : null
                  },
                  "invoice_notes" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "A customer-facing note added to all invoices associated with this API resource. This note becomes one among [all the notes](/docs/api/invoices/invoice-object#notes)\ndisplayed on the invoice PDF.\n",
                    "maxLength" : 2000,
                    "example" : null
                  },
                  "meta_data" : {
                    "type" : "object",
                    "additionalProperties" : true,
                    "deprecated" : false,
                    "description" : "A set of key-value pairs stored as additional information for the addon. \\[Learn more\\](/docs/api/v1/addons) .\n",
                    "example" : null
                  },
                  "proration_type" : {
                    "type" : "string",
                    "default" : "site_default",
                    "deprecated" : false,
                    "description" : "Type of proration for the addon. Determines how the addon is charged when it's added or removed mid-term.\n\\* full_term -\n\nThe full price for the addon is charged; no proration is applied.\n\\* site_default -\n\nUses the site's default proration setting.\n\\* partial_term -\n\nThe addon charges are prorated for the remaining period in the current term.\n",
                    "enum" : [ "site_default", "partial_term", "full_term" ],
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "addon" : {
                      "$ref" : "#/components/schemas/Addon",
                      "description" : "<p class=\"mb-2\">Resource object representing addon</p>"
                    }
                  },
                  "required" : [ "addon" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/addons" : {
      "get" : {
        "summary" : "List addons",
        "description" : "List the addons. This returns all your current active and archived addons.\n",
        "operationId" : "list_addons",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The number of resources to be returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10,
            "description" : "The number of resources to be returned.\n",
            "maximum" : 100,
            "minimum" : 1,
            "example" : null
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "<p class=\"mb-2\">Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">offset</code>\nto the value of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">next_offset</code>\nobtained in the previous iteration of the API call.</p>",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "description" : "Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set 'offset' to the value of 'next_offset' obtained in the previous iteration of the API call.\n",
            "maxLength" : 1000,
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "list" : {
                      "type" : "array",
                      "items" : {
                        "type" : "object",
                        "properties" : {
                          "addon" : {
                            "$ref" : "#/components/schemas/Addon",
                            "description" : "Resource object representing addon"
                          }
                        },
                        "required" : [ "addon" ],
                        "example" : null
                      },
                      "example" : null
                    },
                    "next_offset" : {
                      "type" : "string",
                      "description" : "This attribute is returned only if more resources are present. To fetch the next set of resources use this value for the input parameter `offset`.",
                      "maxLength" : 1000,
                      "example" : null
                    }
                  },
                  "required" : [ "list" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      },
      "post" : {
        "summary" : "Create an addon",
        "description" : "Create a new addon.\n",
        "operationId" : "create_an_addon",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "additionalProperties" : true,
                "properties" : {
                  "id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "A unique ID for your system to identify the addon.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The display name used in web interface for identifying the addon.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "invoice_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Display name used in invoice. If it is not configured then name is used in invoice.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "description" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Description about the addon to show in the hosted pages \\& customer portal. This description will not be shown if multiple addons are added.\n",
                    "maxLength" : 2000,
                    "example" : null
                  },
                  "charge_type" : {
                    "type" : "string",
                    "default" : "recurring",
                    "deprecated" : false,
                    "description" : "Type of charge.\n\\* recurring -\n\nCharges are automatically applied in sync with the billing frequency of subscription.\n\\* non_recurring -\n\nCharged immediately and only once every time it is applied.\n",
                    "enum" : [ "recurring", "non_recurring" ],
                    "example" : null
                  },
                  "price" : {
                    "type" : "integer",
                    "format" : "int64",
                    "deprecated" : false,
                    "description" : "Addon price is calculated based on the addon type and charge type. [Learn more](https://www.chargebee.com/docs/addons.html#charge-type-and-pricing).\nThe unit depends on the [type of currency](/docs/api/getting-started)\n.\n",
                    "minimum" : 0,
                    "example" : null
                  },
                  "period" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "description" : "Applicable only for recurring-addons. Along with 'period_unit' decides the term-price of this addon.\n",
                    "minimum" : 1,
                    "example" : null
                  },
                  "period_unit" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Applicable only for recurring-addons. Along with 'period' decides the term-price of this addon.\n\\* year -\n\nCharge based on year(s)\n\\* month -\n\nCharge based on month(s)\n\\* week -\n\nCharge based on week(s)\n\\* day -\n\nCharge based on Day(S)\n\\* not_applicable -\n\nnot applicable for this addon\n",
                    "enum" : [ "day", "week", "month", "year", "not_applicable" ],
                    "example" : null
                  },
                  "type" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Select \"On-Off\" to charge a flat fee or \"Quantity\" for unit based charges.\n\\* quantity -\n\nCharges this price for every unit of the addon. Example: 2 additional support agents at $10 each\n\\* on_off -\n\nAddon that does not have any quantity associated and can only be enabled or disabled. Example: On call support at $99 per month.\n",
                    "enum" : [ "on_off", "quantity" ],
                    "example" : null
                  },
                  "unit" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Specifies the type of quantity. For example, if the addon price is $10 and 'agent' is the unit of measure, the addon will be $10/agent.\nApplicable only for quantity type addons.\n",
                    "maxLength" : 30,
                    "example" : null
                  },
                  "enabled_in_portal" : {
                    "type" : "boolean",
                    "default" : true,
                    "deprecated" : false,
                    "description" : "If enabled, customers can select this addon using the 'Change Subscription' option in the customer portal.\n",
                    "example" : null
                  },
                  "taxable" : {
                    "type" : "boolean",
                    "default" : true,
                    "deprecated" : false,
                    "description" : "Specifies if the addon should be taxed or not.\n",
                    "example" : null
                  },
                  "invoice_notes" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "A customer-facing note added to all invoices associated with this API resource. This note becomes one among [all the notes](/docs/api/invoices/invoice-object#notes)\ndisplayed on the invoice PDF.\n",
                    "maxLength" : 2000,
                    "example" : null
                  },
                  "meta_data" : {
                    "type" : "object",
                    "additionalProperties" : true,
                    "deprecated" : false,
                    "description" : "A set of key-value pairs stored as additional information for the addon. \\[Learn more\\](/docs/api/v1/addons) .\n",
                    "example" : null
                  },
                  "proration_type" : {
                    "type" : "string",
                    "default" : "site_default",
                    "deprecated" : false,
                    "description" : "Type of proration for the addon. Determines how the addon is charged when it's added or removed mid-term.\n\\* full_term -\n\nThe full price for the addon is charged; no proration is applied.\n\\* site_default -\n\nUses the site's default proration setting.\n\\* partial_term -\n\nThe addon charges are prorated for the remaining period in the current term.\n",
                    "enum" : [ "site_default", "partial_term", "full_term" ],
                    "example" : null
                  }
                },
                "required" : [ "charge_type", "id", "name" ],
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "addon" : {
                      "$ref" : "#/components/schemas/Addon",
                      "description" : "<p class=\"mb-2\">Resource object representing addon</p>"
                    }
                  },
                  "required" : [ "addon" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/addons/{addon-id}/delete" : {
      "post" : {
        "summary" : "Delete an addon",
        "description" : "When an addon that already has subscriptions/invoices linked to it is deleted, it does not get completely purged but is instead moved to \"Archived\" state. No other subscriptions can use this addon but subscriptions already on it will continue to renew. Once an addon has been archived, it cannot be edited or used again and the addon cannot be un-archived.\n\nIf no subscriptions or invoices are linked to an addon, the addon will be permanently deleted from your Chargebee site. This action cannot be undone.\n\nIf an addon that is an applicable item for a coupon is deleted, then the addon will be removed from that coupon's list of applicable items.\n\nArchiving an addon will not affect coupons in anyway.\n",
        "operationId" : "delete_an_addon",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "addon-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/addon-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "addon" : {
                      "$ref" : "#/components/schemas/Addon",
                      "description" : "<p class=\"mb-2\">Resource object representing addon</p>"
                    }
                  },
                  "required" : [ "addon" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/coupons" : {
      "get" : {
        "summary" : "List coupons",
        "description" : "List all the available coupons that are created for a specific promotion or offers. You can find list of coupon codes that are currently active, expired, archived or deleted.\n",
        "operationId" : "list_coupons",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The number of resources to be returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10,
            "description" : "The number of resources to be returned.\n",
            "maximum" : 100,
            "minimum" : 1,
            "example" : null
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "<p class=\"mb-2\">Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">offset</code>\nto the value of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">next_offset</code>\nobtained in the previous iteration of the API call.</p>",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "description" : "Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set 'offset' to the value of 'next_offset' obtained in the previous iteration of the API call.\n",
            "maxLength" : 1000,
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "list" : {
                      "type" : "array",
                      "items" : {
                        "type" : "object",
                        "properties" : {
                          "coupon" : {
                            "$ref" : "#/components/schemas/Coupon",
                            "description" : "Resource object representing coupon"
                          }
                        },
                        "required" : [ "coupon" ],
                        "example" : null
                      },
                      "example" : null
                    },
                    "next_offset" : {
                      "type" : "string",
                      "description" : "This attribute is returned only if more resources are present. To fetch the next set of resources use this value for the input parameter `offset`.",
                      "maxLength" : 1000,
                      "example" : null
                    }
                  },
                  "required" : [ "list" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      },
      "post" : {
        "summary" : "Create a coupon",
        "description" : "This API creates a new coupon for a specific promotion or offers.\n",
        "operationId" : "create_a_coupon",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">Used to uniquely identify the coupon in your website/application and to integrate with Chargebee.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Note:</strong></p><p class=\"mb-2\">When the coupon ID contains a special character; for example: <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">#</code>, the API returns an error. Make sure that you <a href=\"https://www.urlencoder.org/\">encode</a> the coupon ID in the path parameter before making an API call.</p></div>\n<p class=\"mb-2\">.</p>",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The display name used in web interface for identifying the coupon.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Note:</strong></p><p class=\"mb-2\">When the name of the coupon set contains a special character; for example: <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">#</code>, the API returns an error. Make sure that you <a href=\"https://www.urlencoder.org/\">encode</a> the name of the coupon set in the path parameter before making an API call.</p></div>\n<p class=\"mb-2\">.</p>",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "invoice_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Display name used in invoice. If it is not configured then name is used in invoice.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "discount_type" : {
                    "type" : "string",
                    "default" : "percentage",
                    "deprecated" : false,
                    "description" : "The type of deduction.\n\\* fixed_amount -\n\nThe specified amount will be deducted.\n\\* percentage -\n\nThe specified percentage will be deducted.\n\\* offer_quantity -\n\nApplies a discount based on the number of free units offered in a per unit plan subscription without reducing the total quantity sold.\n",
                    "enum" : [ "fixed_amount", "percentage", "offer_quantity" ],
                    "example" : null
                  },
                  "discount_amount" : {
                    "type" : "integer",
                    "format" : "int64",
                    "deprecated" : false,
                    "description" : "The value of the deduction. The format of this value depends on the [kind of currency](/docs/api/currencies)\n.\n",
                    "minimum" : 0,
                    "example" : null
                  },
                  "discount_percentage" : {
                    "type" : "number",
                    "format" : "double",
                    "deprecated" : false,
                    "description" : "The percentage of the original amount that should be deducted from it.\n",
                    "maximum" : 100,
                    "minimum" : 0.01,
                    "example" : null
                  },
                  "discount_quantity" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "minimum" : 1,
                    "example" : null
                  },
                  "apply_on" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The amount on the invoice to which the coupon is applied.</p>\n* invoice_amount - <p class=\"mb-2\">The coupon is applied to the invoice <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">sub_total</code>\n.</p>\n* each_unit_of_specified_items - <p class=\"mb-2\">Discount will be applied to each unit of plan and addon items specified.</p>\n* each_specified_item - <p class=\"mb-2\">The coupon is applied to the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">invoice.line_item.amount</code>\nthat corresponds to the plan or addon specified by <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">plan_ids</code>\nand <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">addon_ids</code>\n.</p>\n* specified_items_total - <p class=\"mb-2\">Discount will be applied to the total of plan and addon items specified.</p>",
                    "enum" : [ "invoice_amount", "each_specified_item" ],
                    "example" : null
                  },
                  "duration_type" : {
                    "type" : "string",
                    "default" : "forever",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">Specifies the time duration for which this coupon is attached to the subscription.</p>\n* forever - <p class=\"mb-2\">The coupon is attached to the subscription and applied on the invoices until explicitly removed.</p>\n* limited_period - <p class=\"mb-2\">The discount is attached to the subscription and applied on the invoices for a limited duration. This duration starts from the point it is applied to an invoice for the first time and expires after a period specified by <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">period</code>\nand <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">period_unit</code>\n.</p>\n* one_time - <p class=\"mb-2\">The coupon stays attached to the subscription till it is applied on an invoice <strong class=\"font-semibold\">once</strong>.\nIt is removed after that from the subscription.</p>",
                    "enum" : [ "one_time", "forever", "limited_period" ],
                    "example" : null
                  },
                  "duration_month" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\"><strong class=\"font-semibold\">(Deprecated)</strong>\nThe duration of time in months for which the coupon is attached to the subscription. Applicable only when <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">duration_type</code>\nis <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">limited_period</code>.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note:</strong>\nThis parameter has been deprecated. Use <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">period</code>\nand <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">period_unit</code>\ninstead.</p>",
                    "maximum" : 240,
                    "minimum" : 1,
                    "example" : null
                  },
                  "valid_till" : {
                    "type" : "integer",
                    "format" : "unix-time",
                    "deprecated" : false,
                    "description" : "Date upto which the coupon can be applied to new subscriptions.\n",
                    "example" : null
                  },
                  "max_redemptions" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "description" : "Maximum number of times this coupon can be redeemed.  \n**Note:**\n\nIf not specified, the coupon can be redeemed an indefinite number of times.\n\n.\n",
                    "minimum" : 1,
                    "example" : null
                  },
                  "invoice_notes" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "A customer-facing note added to all invoices associated with this API resource. This note becomes one among [all the notes](/docs/api/invoices/invoice-object#notes)\ndisplayed on the invoice PDF.\n",
                    "maxLength" : 2000,
                    "example" : null
                  },
                  "meta_data" : {
                    "type" : "object",
                    "additionalProperties" : true,
                    "deprecated" : false,
                    "description" : "A set of key-value pairs stored as additional information for the coupon. \\[Learn more\\](/docs/api/v1/coupons) .\n",
                    "example" : null
                  },
                  "plan_constraint" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Plans the coupon can be applied to.\n\\* all -\n\nCoupon applicable to all plans.\n\\* specific -\n\nCoupon only applicable to specified plans. If used, it is mandatory to specify the plan(s).\n\\* none -\n\nCoupon not applicable to any plans.\n",
                    "enum" : [ "none", "all", "specific" ],
                    "example" : null
                  },
                  "addon_constraint" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Addons the coupon can be applied to.\n\\* specific -\n\nCoupon only applicable to specified addons. If used, it is mandatory to specify the addon(s).\n\\* all -\n\nCoupon applicable to all addons.\n\\* none -\n\nCoupon not applicable to any addons.\n",
                    "enum" : [ "none", "all", "specific" ],
                    "example" : null
                  },
                  "plan_ids" : {
                    "type" : "array",
                    "deprecated" : false,
                    "description" : "Identifier of the plan.\n",
                    "items" : {
                      "type" : "string",
                      "deprecated" : false,
                      "maxLength" : 100,
                      "example" : null
                    },
                    "example" : null
                  },
                  "addon_ids" : {
                    "type" : "array",
                    "deprecated" : false,
                    "description" : "Identifier of the addon.\n",
                    "items" : {
                      "type" : "string",
                      "deprecated" : false,
                      "maxLength" : 100,
                      "example" : null
                    },
                    "example" : null
                  }
                },
                "required" : [ "apply_on", "id", "name" ],
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "coupon" : {
                      "$ref" : "#/components/schemas/Coupon",
                      "description" : "<p class=\"mb-2\">Resource object representing coupon</p>"
                    }
                  },
                  "required" : [ "coupon" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/coupons/{coupon-id}" : {
      "get" : {
        "summary" : "Retrieve a coupon",
        "description" : "This API retrieves a specific coupon using the coupon ID.\n",
        "operationId" : "retrieve_a_coupon",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "coupon-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/coupon-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "coupon" : {
                      "$ref" : "#/components/schemas/Coupon",
                      "description" : "<p class=\"mb-2\">Resource object representing coupon</p>"
                    }
                  },
                  "required" : [ "coupon" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/coupon_codes" : {
      "post" : {
        "summary" : "Create a coupon code for a coupon",
        "description" : "Create a new coupon code and associate it to an existing main coupon resource.\n",
        "operationId" : "create_a_coupon_code_for_a_coupon",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "coupon_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Id of the main coupon resource.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "coupon_set_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Coupon set name to which this coupon code would be grouped under. If the coupon set with the passed name is not present, a new coupon set will be created.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "code" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Unique coupon code that can be redeemed only once.\n",
                    "maxLength" : 50,
                    "example" : null
                  }
                },
                "required" : [ "code", "coupon_id", "coupon_set_name" ],
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "coupon_code" : {
                      "$ref" : "#/components/schemas/CouponCode",
                      "description" : "<p class=\"mb-2\">Resource object representing coupon_code</p>"
                    }
                  },
                  "required" : [ "coupon_code" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/coupon_codes/{coupon-code-code}" : {
      "get" : {
        "summary" : "Retrieve a coupon code",
        "description" : "Retrieves a specific coupon code details.\n",
        "operationId" : "retrieve_a_coupon_code",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "coupon-code-code",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/coupon-code-code",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "coupon_code" : {
                      "$ref" : "#/components/schemas/CouponCode",
                      "description" : "<p class=\"mb-2\">Resource object representing coupon_code</p>"
                    }
                  },
                  "required" : [ "coupon_code" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/addresses" : {
      "get" : {
        "summary" : "Retrieve an address",
        "description" : "Retrieves an address resource for a subscription and the specified label.\n",
        "operationId" : "retrieve_an_address",
        "parameters" : [ {
          "name" : "subscription_id",
          "in" : "query",
          "description" : "A unique and immutable identifier for the subscription. If not provided, it is autogenerated.\n",
          "required" : true,
          "deprecated" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "deprecated" : false,
            "maxLength" : 50,
            "example" : null
          }
        }, {
          "name" : "label",
          "in" : "query",
          "description" : "Label to identify the address. This is unique for all the address for a subscription.\n",
          "required" : true,
          "deprecated" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "deprecated" : false,
            "maxLength" : 50,
            "example" : null
          }
        }, {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "address" : {
                      "$ref" : "#/components/schemas/Address",
                      "description" : "<p class=\"mb-2\">Resource object representing address</p>"
                    }
                  },
                  "required" : [ "address" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      },
      "post" : {
        "summary" : "Update an address",
        "description" : "Adds or replaces the address for a subscription. If an address is already present for the specified label, it will be replaced otherwise new address is added with that label.\n",
        "operationId" : "update_an_address",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "subscription_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "A unique and immutable identifier for the subscription. If not provided, it is autogenerated.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "label" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Label to identify the address. This is unique for all the address for a subscription.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "first_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "First name.\n",
                    "maxLength" : 150,
                    "example" : null
                  },
                  "last_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Last name.\n",
                    "maxLength" : 150,
                    "example" : null
                  },
                  "email" : {
                    "type" : "string",
                    "format" : "email",
                    "deprecated" : false,
                    "description" : "Email.\n",
                    "maxLength" : 70,
                    "example" : null
                  },
                  "company" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Company name.\n",
                    "maxLength" : 250,
                    "example" : null
                  },
                  "phone" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Phone number.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "addr" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Address line 1.\n",
                    "maxLength" : 150,
                    "example" : null
                  },
                  "extended_addr" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Address line 2.\n",
                    "maxLength" : 150,
                    "example" : null
                  },
                  "extended_addr2" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Address line 3.\n",
                    "maxLength" : 150,
                    "example" : null
                  },
                  "city" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Name of the city.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "state_code" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search/code\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "state" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The state/province name. Is set by Chargebee automatically for US, Canada and India If <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nis provided.</p>",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "zip" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Zip or postal code. The number of characters is validated according to the rules [specified here](https://chromium-i18n.appspot.com/ssl-address)\n.\n",
                    "maxLength" : 20,
                    "example" : null
                  },
                  "country" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>\n<p class=\"mb-2\">.</p>",
                    "maxLength" : 50,
                    "example" : null
                  }
                },
                "required" : [ "label", "subscription_id" ],
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "address" : {
                      "$ref" : "#/components/schemas/Address",
                      "description" : "<p class=\"mb-2\">Resource object representing address</p>"
                    }
                  },
                  "required" : [ "address" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/events" : {
      "get" : {
        "summary" : "List events",
        "description" : "Retrieves list of events.\n",
        "operationId" : "list_events",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The number of resources to be returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10,
            "description" : "The number of resources to be returned.\n",
            "maximum" : 100,
            "minimum" : 1,
            "example" : null
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "<p class=\"mb-2\">Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">offset</code>\nto the value of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">next_offset</code>\nobtained in the previous iteration of the API call.</p>",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "description" : "Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set 'offset' to the value of 'next_offset' obtained in the previous iteration of the API call.\n",
            "maxLength" : 1000,
            "example" : null
          }
        }, {
          "name" : "start_time",
          "in" : "query",
          "description" : "Returns only the events that occured at/after this time.\n",
          "required" : false,
          "deprecated" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "example" : null
          }
        }, {
          "name" : "end_time",
          "in" : "query",
          "description" : "Returns only the events that occured at/before this time.\n",
          "required" : false,
          "deprecated" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "example" : null
          }
        }, {
          "name" : "webhook_status",
          "in" : "query",
          "description" : "Returns the events (occurred in the past 6 days) which has this status in any of the events' webhooks.\n**Note**:\nTo retrieve events which have occurred before the 6 day period, use the occurred_at(start_time/end_time) attribute.\n\\* not_applicable -\n\nWebhook call is not applicable for this event.\n\\* re_scheduled -\n\nWebhook call has been rescheduled due failure(s) in previous call(s)\n\\* succeeded -\n\nWebhook call was successful.\n\\* not_configured -\n\nWebhook was not configured when this event occurred\n\\* scheduled -\n\nWebhook call has been scheduled.\n\\* failed -\n\nWebhook call has been suspended after the all retries have resulted in failure.\n\\* skipped -\n\nSkipped as specified in request\n",
          "required" : false,
          "deprecated" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "deprecated" : false,
            "enum" : [ "not_configured", "scheduled", "succeeded", "re_scheduled", "failed", "skipped", "not_applicable", "disabled", "rate_limited" ],
            "example" : null
          }
        }, {
          "name" : "event_type",
          "in" : "query",
          "description" : "Specify it if you need to fetch events of a particular type.\n\\* subscription_cancelling -\n\nSent when the customer's subscription is nearing it's scheduled cancellation date.\n\\* card_deleted -\n\nSent when a card is deleted for a customer\n\\* card_expired -\n\nSent when a card for a customer is expired\n\\* customer_deleted -\n\nSent when a customer is deleted\n\\* subscription_cancelled -\n\nSent when the subscription gets cancelled. If cancelled due to non payment or card not present, the subscription will have the possible reason as 'cancel_reason'.\n\\* subscription_scheduled_cancellation_removed -\n\nSent when scheduled cancellation is removed for the subscription.\n\\* customer_changed -\n\nSent when a customer is changed\n\\* invoice_deleted -\n\nEvent triggered when an invoice is deleted.\n\\* subscription_shipping_address_updated -\n\nTriggered when shipping address is added or updated for a subscription.\n\\* subscription_cancellation_scheduled -\n\nSent when subscription is scheduled to cancel at end of current term\n\\* subscription_created -\n\nSent when a new subscription is created.\n\\* card_expiring -\n\nSent when the customer's credit card is expiring soon. Sent 30 days before the expiry date.\n\\* card_updated -\n\nSent when the card is updated for a customer.\n\\* payment_initiated -\n\nSent when a payment is initiated via direct debit\n\\* subscription_renewed -\n\nSent when the subscription is renewed from the current term.\n\\* subscription_activated -\n\nSent after the subscription has been moved from trial to active state\n\\* subscription_changed -\n\nSent after the subscription's recurring items have been changed\n\\* customer_created -\n\nSent when a customer is created. This event happens when only a new customer is created or when a customer is automatically created during new subscription creation.\n\\* subscription_deleted -\n\nSent when a subscription has been deleted\n\\* subscription_reactivated -\n\nSent when the subscription is moved from cancelled state to active or in_trial state\n\\* subscription_trial_ending -\n\nSent when the customer's trial period is about to end.\n\\* refund_initiated -\n\nSent when a refund is initiated via direct debit\n\\* transaction_deleted -\n\nTriggered when a transaction is deleted.\n\\* subscription_trial_extended -\n\nTrial Extension\n\\* transaction_updated -\n\nTriggered when a transaction is updated. E.g. (1) When a transaction is removed, (2) or when an excess payment is applied on an invoice, (3) or when amount_capturable gets updated.\n\\* card_added -\n\nSent when a card is added for a customer.\n\\* subscription_renewal_reminder -\n\nSent before each subscription's renewal based on plan's period\n\\* invoice_updated -\n\nTriggered when the invoice's shipping/billing address is updated, if the invoice is voided, or when the amount due is modified due to payments applied/removed.\n\\* payment_refunded -\n\nSent when a payment refund is made\n\\* payment_succeeded -\n\nSent when the payment is successfully collected\n\\* payment_failed -\n\nSent when attempt to charge customer's credit card fails\n\\* subscription_started -\n\nSent when a 'future' subscription gets started at the scheduled date.\n\\* invoice_generated -\n\nEvent triggered when a new invoice is generated. In case of metered billing, this event is triggered when a \"Pending\" invoice is closed.\n\\* invoice_created -\n\nEvent triggered (in the case of metered billing) when a \"Pending\" invoice is created that has usage related charges or line items to be added, before being closed. This is triggered only when the \"Notify for Pending Invoices\" option is enabled.\n\\* transaction_created -\n\nTriggered when a transaction is recorded\n",
          "required" : false,
          "deprecated" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "deprecated" : false,
            "enum" : [ "customer_created", "customer_changed", "customer_deleted", "subscription_created", "subscription_started", "subscription_trial_ending", "subscription_activated", "subscription_changed", "subscription_trial_extended", "subscription_cancellation_scheduled", "subscription_cancelling", "subscription_cancelled", "subscription_reactivated", "subscription_renewed", "subscription_scheduled_cancellation_removed", "subscription_shipping_address_updated", "subscription_deleted", "invoice_created", "invoice_generated", "invoice_updated", "invoice_deleted", "subscription_renewal_reminder", "transaction_created", "transaction_updated", "transaction_deleted", "payment_succeeded", "payment_failed", "payment_refunded", "payment_initiated", "refund_initiated", "card_added", "card_updated", "card_expiring", "card_expired", "card_deleted" ],
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "list" : {
                      "type" : "array",
                      "items" : {
                        "type" : "object",
                        "properties" : {
                          "event" : {
                            "$ref" : "#/components/schemas/Event",
                            "description" : "Resource object representing event"
                          }
                        },
                        "required" : [ "event" ],
                        "example" : null
                      },
                      "example" : null
                    },
                    "next_offset" : {
                      "type" : "string",
                      "description" : "This attribute is returned only if more resources are present. To fetch the next set of resources use this value for the input parameter `offset`.",
                      "maxLength" : 1000,
                      "example" : null
                    }
                  },
                  "required" : [ "list" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/events/{event-id}" : {
      "get" : {
        "summary" : "Retrieve an event",
        "description" : "Retrieves a specific event identified by a unique event identifier.\n",
        "operationId" : "retrieve_an_event",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "event-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/event-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "event" : {
                      "$ref" : "#/components/schemas/Event",
                      "description" : "<p class=\"mb-2\">Resource object representing event</p>"
                    }
                  },
                  "required" : [ "event" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/comments/{comment-id}/delete" : {
      "post" : {
        "summary" : "Delete a comment",
        "description" : "Delete a comment for an [entity](/docs/api/v2/pcv-1/comments/create-a-comment#entity_type) identified by comment ID.\n\nOnly the comments that are added via Admin console and API can be deleted. Chargebee generated \"System\" comments cannot be deleted.\n",
        "operationId" : "delete_a_comment",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "comment-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/comment-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "comment" : {
                      "$ref" : "#/components/schemas/Comment",
                      "description" : "<p class=\"mb-2\">Resource object representing comment</p>"
                    }
                  },
                  "required" : [ "comment" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/comments/{comment-id}" : {
      "get" : {
        "summary" : "Retrieve a comment",
        "description" : "Retrieve a comment for an entity identified by comment ID.\n",
        "operationId" : "retrieve_a_comment",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "comment-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/comment-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "comment" : {
                      "$ref" : "#/components/schemas/Comment",
                      "description" : "<p class=\"mb-2\">Resource object representing comment</p>"
                    }
                  },
                  "required" : [ "comment" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/comments" : {
      "get" : {
        "summary" : "List comments",
        "description" : "Retrieve the list of comments sorted by the recent ones on the top.\n\nIf you want to retrieve the list of comments for an [entity](/docs/api/v2/pcv-1/comments/list-comments), for example, subscription you can filter them by passing the entity type and unique identifier for that entity, for example, subscription ID.\n",
        "operationId" : "list_comments",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The number of resources to be returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 10,
            "description" : "The number of resources to be returned.\n",
            "maximum" : 100,
            "minimum" : 1,
            "example" : null
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "<p class=\"mb-2\">Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">offset</code>\nto the value of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">next_offset</code>\nobtained in the previous iteration of the API call.</p>",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "description" : "Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set 'offset' to the value of 'next_offset' obtained in the previous iteration of the API call.\n",
            "maxLength" : 1000,
            "example" : null
          }
        }, {
          "name" : "entity_type",
          "in" : "query",
          "description" : "Type of the entity this comment generated for.\n\\* order -\n\nEntity that represents an order\n\\* customer -\n\nEntity that represents a customer\n\\* invoice -\n\nInvoice description\n\\* business_entity -\n\nEntity that represents item of type business entity\n\\* plan -\n\nEntity that represents a subscription plan\n\\* coupon -\n\nEntity that represents a discount coupon\n\\* subscription -\n\nEntity that represents a subscription of a customer\n\\* transaction -\n\nEntity that represents a transaction.\n\\* addon -\n\nEntity that represents an addon\n\\* credit_note -\n\nCredit note description\n\\* quote -\n\nEntity that represents a quote\n",
          "required" : false,
          "deprecated" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "deprecated" : false,
            "enum" : [ "customer", "subscription", "transaction", "plan", "addon", "order", "business_entity" ],
            "example" : null
          }
        }, {
          "name" : "entity_id",
          "in" : "query",
          "description" : "Unique identifier of the entity.\n",
          "required" : false,
          "deprecated" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "deprecated" : false,
            "maxLength" : 100,
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "list" : {
                      "type" : "array",
                      "items" : {
                        "type" : "object",
                        "properties" : {
                          "comment" : {
                            "$ref" : "#/components/schemas/Comment",
                            "description" : "Resource object representing comment"
                          }
                        },
                        "required" : [ "comment" ],
                        "example" : null
                      },
                      "example" : null
                    },
                    "next_offset" : {
                      "type" : "string",
                      "description" : "This attribute is returned only if more resources are present. To fetch the next set of resources use this value for the input parameter `offset`.",
                      "maxLength" : 1000,
                      "example" : null
                    }
                  },
                  "required" : [ "list" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      },
      "post" : {
        "summary" : "Create a comment",
        "description" : "Create a new comment for an entity. The newly added comment will be shown in the web interface as well.\n",
        "operationId" : "create_a_comment",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "entity_type" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Type of the entity to create the comment for.\n\\* order -\n\nEntity that represents an order\n\\* customer -\n\nEntity that represents a customer\n\\* invoice -\n\nInvoice description\n\\* business_entity -\n\nEntity that represents item of type business entity\n\\* plan -\n\nEntity that represents a subscription plan\n\\* coupon -\n\nEntity that represents a discount coupon\n\\* subscription -\n\nEntity that represents a subscription of a customer\n\\* transaction -\n\nEntity that represents a transaction.\n\\* addon -\n\nEntity that represents an addon\n\\* credit_note -\n\nCredit note description\n\\* quote -\n\nEntity that represents a quote\n",
                    "enum" : [ "customer", "subscription", "transaction", "plan", "addon", "order", "business_entity" ],
                    "example" : null
                  },
                  "entity_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Unique identifier of the entity.\n",
                    "maxLength" : 100,
                    "example" : null
                  },
                  "notes" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Actual notes for the comment.\n",
                    "maxLength" : 1000,
                    "example" : null
                  },
                  "added_by" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The user who created the comment. If created via API, this contains the name given for the API key used.\n",
                    "maxLength" : 100,
                    "example" : null
                  }
                },
                "required" : [ "entity_id", "entity_type", "notes" ],
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "comment" : {
                      "$ref" : "#/components/schemas/Comment",
                      "description" : "<p class=\"mb-2\">Resource object representing comment</p>"
                    }
                  },
                  "required" : [ "comment" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/portal_sessions" : {
      "post" : {
        "summary" : "Create a portal session",
        "description" : "Creates a portal session for a customer. The session resource in the response contains the access URL. Forward the customer to that access URL. If you would like to logout the customer later via API call, you need to store the id of the portal session resource returned by this API. While creating a session, you also need to pass the redirect URL to which your customers will be sent to upon logout from the portal UI.\n",
        "operationId" : "create_a_portal_session",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "redirect_url" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "URL to redirect when the user logs out from the portal.\n",
                    "maxLength" : 250,
                    "example" : null
                  },
                  "customer" : {
                    "type" : "object",
                    "deprecated" : false,
                    "description" : "Parameters for customer\n",
                    "properties" : {
                      "id" : {
                        "type" : "string",
                        "deprecated" : false,
                        "description" : "Identifier of the customer.\n",
                        "maxLength" : 50,
                        "example" : null
                      }
                    },
                    "required" : [ "id" ],
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : {
                "customer" : {
                  "style" : "deepObject",
                  "explode" : true
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "portal_session" : {
                      "$ref" : "#/components/schemas/PortalSession",
                      "description" : "<p class=\"mb-2\">Resource object representing portal_session</p>"
                    }
                  },
                  "required" : [ "portal_session" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/portal_sessions/{portal-session-id}/activate" : {
      "post" : {
        "summary" : "Activate a portal session",
        "description" : "When an user is sent back to your return URL with session details, you should validate that information by calling this API. The details passed to the **return_url** should be sent as below:\n\n* **auth_session_id** - this should be sent as part of the endpoint.\n* **auth_session_token** - this should be sent as value for the input parameter **token**.\n\n**Note:** This API is not applicable for [in-app](https://www.chargebee.com/docs/v3-self-serve-portal.html) portal.\n",
        "operationId" : "activate_a_portal_session",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "portal-session-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/portal-session-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "token" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Unique pre-authenticated portal session token to access customer portal directly.\n",
                    "maxLength" : 70,
                    "example" : null
                  }
                },
                "required" : [ "token" ],
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "portal_session" : {
                      "$ref" : "#/components/schemas/PortalSession",
                      "description" : "<p class=\"mb-2\">Resource object representing portal_session</p>"
                    }
                  },
                  "required" : [ "portal_session" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/portal_sessions/{portal-session-id}/logout" : {
      "post" : {
        "summary" : "Logout a portal session",
        "description" : "Logs out the portal session. Typically this should be called when customers logout of your application.\n\nIf this API is called for a Portal Session that currently is in :\n\n* \"created\" status, the session status will be marked as \"logged_out\" and the access URL will become invalid.\n* \"logged_in\" status, the session status will be marked as \"logged_out\" and customer will not be able to use that session.\n* \"logged_out\" status, this will return normally without changing any attribute of this resource.\n",
        "operationId" : "logout_a_portal_session",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "portal-session-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/portal-session-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "portal_session" : {
                      "$ref" : "#/components/schemas/PortalSession",
                      "description" : "<p class=\"mb-2\">Resource object representing portal_session</p>"
                    }
                  },
                  "required" : [ "portal_session" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/portal_sessions/{portal-session-id}" : {
      "get" : {
        "summary" : "Retrieve a portal session",
        "description" : "<div class=\"api-description\"><p class=\"mb-2\">This API retrieves a portal session using <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">portal_session_id</code>\nas a path parameter.</p></div>",
        "operationId" : "retrieve_a_portal_session",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "portal-session-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/portal-session-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "portal_session" : {
                      "$ref" : "#/components/schemas/PortalSession",
                      "description" : "<p class=\"mb-2\">Resource object representing portal_session</p>"
                    }
                  },
                  "required" : [ "portal_session" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/payment_intents/{payment-intent-id}" : {
      "get" : {
        "summary" : "Retrieve a payment intent",
        "description" : "Retrieves the PaymentIntent resource.\n",
        "operationId" : "retrieve_a_payment_intent",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "payment-intent-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/payment-intent-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "payment_intent" : {
                      "$ref" : "#/components/schemas/PaymentIntent",
                      "description" : "<p class=\"mb-2\">Resource object representing payment_intent</p>"
                    }
                  },
                  "required" : [ "payment_intent" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      },
      "post" : {
        "summary" : "Update a payment intent",
        "description" : "Updating properties on a PaymentIntent object. All the subsequent 3DS transaction attempts will have the updated values.\n",
        "operationId" : "update_a_payment_intent",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "payment-intent-id",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "$ref" : "#/components/parameters/payment-intent-id",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "amount" : {
                    "type" : "integer",
                    "format" : "int64",
                    "deprecated" : false,
                    "description" : "Amount(in cents) to be authorized for 3DS flow.\n",
                    "minimum" : 0,
                    "example" : null
                  },
                  "currency_code" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The currency code (ISO 4217 format) of the amount used in transaction.\n",
                    "maxLength" : 3,
                    "example" : null
                  },
                  "gateway_account_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The gateway account used for performing the 3DS flow.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "success_url" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The URL the customer will be directed to once 3DS verification is successful. Applicable only when <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">payment_method_type</code>\nis <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">ideal</code>\n, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">sofort</code>\n, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">dotpay</code>\nor <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">giropay</code>\n.</p>",
                    "maxLength" : 250,
                    "example" : null
                  },
                  "failure_url" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The URL the customer will be directed to when 3DS verification fails. Applicable only when <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">payment_method_type</code>\nis <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">ideal</code>\n, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">sofort</code>\n, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">dotpay</code>\nor <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">giropay</code>\n.</p>",
                    "maxLength" : 250,
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "payment_intent" : {
                      "$ref" : "#/components/schemas/PaymentIntent",
                      "description" : "<p class=\"mb-2\">Resource object representing payment_intent</p>"
                    }
                  },
                  "required" : [ "payment_intent" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/payment_intents" : {
      "post" : {
        "summary" : "Create a payment intent",
        "description" : "Creates a PaymentIntent object. This is to be used with Chargebee.js API to complete the 3DS flow for new or stored cards.\n\nWhile creating, specify the appropriate gateway account and amount. Exact amount can be estimated using our [Estimate API](/docs/api/estimates).\n",
        "operationId" : "create_a_payment_intent",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "customer_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The unique identifier of the customer for whom the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">payment_intent</code> will be created. If specified, the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">payment_intent</code> will be used exclusively for that customer. If not specified, the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">payment_intent</code> won&#x27;t be associated with any customer and will be available for any customer.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">See also</strong></p><p class=\"mb-2\"><a href=\"/docs/api/payment_intents\">Customer resource lookup and creation</a>\n.</p></div>",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "amount" : {
                    "type" : "integer",
                    "format" : "int64",
                    "deprecated" : false,
                    "description" : "Amount(in cents) to be authorized for 3DS flow.\n",
                    "minimum" : 0,
                    "example" : null
                  },
                  "currency_code" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The currency code (ISO 4217 format) of the amount used in transaction.\n",
                    "maxLength" : 3,
                    "example" : null
                  },
                  "gateway_account_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "The gateway account used for performing the 3DS flow.\n",
                    "maxLength" : 50,
                    "example" : null
                  },
                  "reference_id" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "Reference for payment method at gateway. Only applicable when the PaymentIntent is created for cards stored in the gateway.\n",
                    "maxLength" : 200,
                    "example" : null
                  },
                  "success_url" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The URL the customer will be directed to once 3DS verification is successful. Applicable only when <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">payment_method_type</code>\nis <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">ideal</code>\n, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">sofort</code>\n, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">dotpay</code>\nor <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">giropay</code>\n.</p>",
                    "maxLength" : 250,
                    "example" : null
                  },
                  "failure_url" : {
                    "type" : "string",
                    "deprecated" : false,
                    "description" : "<p class=\"mb-2\">The URL the customer will be directed to when 3DS verification fails. Applicable only when <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">payment_method_type</code>\nis <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">ideal</code>\n, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">sofort</code>\n, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">dotpay</code>\nor <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">giropay</code>\n.</p>",
                    "maxLength" : 250,
                    "example" : null
                  }
                },
                "required" : [ "amount", "currency_code" ],
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "payment_intent" : {
                      "$ref" : "#/components/schemas/PaymentIntent",
                      "description" : "<p class=\"mb-2\">Resource object representing payment_intent</p>"
                    }
                  },
                  "required" : [ "payment_intent" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    },
    "/csv_tax_rules" : {
      "post" : {
        "summary" : "Taxes Csv import",
        "operationId" : "taxes_csv_import",
        "parameters" : [ {
          "name" : "chargebee-request-origin-device",
          "in" : "header",
          "description" : "The device from which the customer has made the request\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-device",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The device from which the customer has made the request\n",
            "example" : "Android"
          }
        }, {
          "name" : "chargebee-request-origin-user",
          "in" : "header",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.\n",
            "example" : "user@example.com"
          }
        }, {
          "name" : "chargebee-request-origin-user-encoded",
          "in" : "header",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-user-encoded",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "email",
            "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.\n",
            "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
          }
        }, {
          "name" : "chargebee-request-origin-ip",
          "in" : "header",
          "description" : "The IP address of the customer where the request originated\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-request-origin-ip",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "The IP address of the customer where the request originated\n",
            "example" : "192.168.1.2",
            "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
          }
        }, {
          "name" : "chargebee-event-actions",
          "in" : "header",
          "description" : "skip all actions to be done on the events\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-actions",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip all actions to be done on the events\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-email",
          "in" : "header",
          "description" : "skip only emails\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-email",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only emails\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        }, {
          "name" : "chargebee-event-webhook",
          "in" : "header",
          "description" : "skip only webhooks\n",
          "required" : false,
          "deprecated" : false,
          "$ref" : "#/components/parameters/chargebee-event-webhook",
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "description" : "skip only webhooks\n",
            "enum" : [ "all-disabled" ],
            "example" : null
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "tax_profile_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "maxLength" : 100,
                    "example" : null
                  },
                  "country" : {
                    "type" : "string",
                    "deprecated" : false,
                    "maxLength" : 50,
                    "example" : null
                  },
                  "state" : {
                    "type" : "string",
                    "default" : "*",
                    "deprecated" : false,
                    "maxLength" : 50,
                    "example" : null
                  },
                  "zip_code" : {
                    "type" : "string",
                    "deprecated" : false,
                    "maxLength" : 50,
                    "example" : null
                  },
                  "zip_code_start" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "example" : null
                  },
                  "zip_code_end" : {
                    "type" : "integer",
                    "format" : "int32",
                    "deprecated" : false,
                    "example" : null
                  },
                  "tax1_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "maxLength" : 100,
                    "example" : null
                  },
                  "tax1_rate" : {
                    "type" : "number",
                    "format" : "double",
                    "deprecated" : false,
                    "maximum" : 100,
                    "minimum" : 0,
                    "example" : null
                  },
                  "tax1_juris_type" : {
                    "type" : "string",
                    "deprecated" : false,
                    "enum" : [ "country", "federal", "state", "county", "city", "special", "unincorporated", "other" ],
                    "example" : null
                  },
                  "tax1_juris_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "maxLength" : 250,
                    "example" : null
                  },
                  "tax1_juris_code" : {
                    "type" : "string",
                    "deprecated" : false,
                    "maxLength" : 250,
                    "example" : null
                  },
                  "tax2_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "maxLength" : 100,
                    "example" : null
                  },
                  "tax2_rate" : {
                    "type" : "number",
                    "format" : "double",
                    "deprecated" : false,
                    "maximum" : 100,
                    "minimum" : 0,
                    "example" : null
                  },
                  "tax2_juris_type" : {
                    "type" : "string",
                    "deprecated" : false,
                    "enum" : [ "country", "federal", "state", "county", "city", "special", "unincorporated", "other" ],
                    "example" : null
                  },
                  "tax2_juris_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "maxLength" : 250,
                    "example" : null
                  },
                  "tax2_juris_code" : {
                    "type" : "string",
                    "deprecated" : false,
                    "maxLength" : 250,
                    "example" : null
                  },
                  "tax3_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "maxLength" : 100,
                    "example" : null
                  },
                  "tax3_rate" : {
                    "type" : "number",
                    "format" : "double",
                    "deprecated" : false,
                    "maximum" : 100,
                    "minimum" : 0,
                    "example" : null
                  },
                  "tax3_juris_type" : {
                    "type" : "string",
                    "deprecated" : false,
                    "enum" : [ "country", "federal", "state", "county", "city", "special", "unincorporated", "other" ],
                    "example" : null
                  },
                  "tax3_juris_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "maxLength" : 250,
                    "example" : null
                  },
                  "tax3_juris_code" : {
                    "type" : "string",
                    "deprecated" : false,
                    "maxLength" : 250,
                    "example" : null
                  },
                  "tax4_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "maxLength" : 100,
                    "example" : null
                  },
                  "tax4_rate" : {
                    "type" : "number",
                    "format" : "double",
                    "deprecated" : false,
                    "maximum" : 100,
                    "minimum" : 0,
                    "example" : null
                  },
                  "tax4_juris_type" : {
                    "type" : "string",
                    "deprecated" : false,
                    "enum" : [ "country", "federal", "state", "county", "city", "special", "unincorporated", "other" ],
                    "example" : null
                  },
                  "tax4_juris_name" : {
                    "type" : "string",
                    "deprecated" : false,
                    "maxLength" : 250,
                    "example" : null
                  },
                  "tax4_juris_code" : {
                    "type" : "string",
                    "deprecated" : false,
                    "maxLength" : 250,
                    "example" : null
                  },
                  "service_type" : {
                    "type" : "string",
                    "deprecated" : false,
                    "enum" : [ "digital", "other", "not_applicable" ],
                    "example" : null
                  },
                  "time_zone" : {
                    "type" : "string",
                    "deprecated" : false,
                    "maxLength" : 4,
                    "example" : null
                  },
                  "valid_from" : {
                    "type" : "integer",
                    "format" : "unix-time",
                    "deprecated" : false,
                    "example" : null
                  },
                  "valid_till" : {
                    "type" : "integer",
                    "format" : "unix-time",
                    "deprecated" : false,
                    "example" : null
                  },
                  "overwrite" : {
                    "type" : "boolean",
                    "default" : false,
                    "deprecated" : false,
                    "example" : null
                  }
                },
                "example" : null
              },
              "encoding" : { }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "csv_tax_rule" : {
                      "$ref" : "#/components/schemas/CsvTaxRule",
                      "description" : "Resource object representing csv_tax_rule"
                    }
                  },
                  "required" : [ "csv_tax_rule" ],
                  "example" : null
                }
              }
            }
          },
          "400" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/400"
                }
              }
            }
          },
          "401" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/401"
                }
              }
            }
          },
          "403" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/403"
                }
              }
            }
          },
          "404" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/404"
                }
              }
            }
          },
          "405" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/405"
                }
              }
            }
          },
          "409" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/409"
                }
              }
            }
          },
          "422" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/422"
                }
              }
            }
          },
          "429" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/429"
                }
              }
            }
          },
          "500" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/500"
                }
              }
            }
          },
          "503" : {
            "description" : "on error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/503"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "BasicAuth" : [ ]
        } ]
      }
    }
  },
  "components" : {
    "schemas" : {
      "400" : {
        "type" : "object",
        "properties" : {
          "message" : {
            "type" : "string",
            "example" : null
          },
          "param" : {
            "type" : "string",
            "example" : null
          },
          "type" : {
            "type" : "string",
            "enum" : [ "invalid_request", "untyped", "payment" ],
            "example" : null
          },
          "api_error_code" : {
            "type" : "string",
            "description" : "\\* \\`payment_intent_invalid_amount\\` - Returned when processing amount is different from payment intent amountFor example if payment intent which is passed has authorized 10$ and if the charges initiated is for 12$. \\* \\`configuration_incompatible\\` - Returned when the request is not compatible with the configuration for the site or the configuration is incomplete. \\* \\`payment_intent_invalid\\` - Returned when validation or verification fails for provided payment intent.For example if payment intent which is passed is in not consumable state. \\* \\`invalid_request\\` - Returned when the request has incompatible values or does not match the API specification. As it is a generic error, handling this error is recommended only in combination with param attribute. \\* \\`payment_method_verification_failed\\` - Returned when validation or verification fails for the provided payment method. For example if the payment method is card, this will include all card parameter validation errors and also verification failures from the gateway. \\* \\`payment_processing_failed\\` - Returned when the payment collection fails. \\* \\`resource_limit_exhausted\\` - Returned when any limit constraint is violated by the request. For example this error is thrown when the coupon provided has already expired or its maximum redemption count has been reached. \\* \\`duplicate_entry\\` - Returned when the request provides a duplicate value for an attribute that is specified as unique for that site. For example in 'create subscription api' if you are passing the subscription id then this error will be thrown if a subscription exists in site with the same id. \\* \\`param_wrong_value\\` - Returned when the value does not meet the required specification for the parameter. For example, wrong email format. It is strongly recommended to do the validation at your end before calling Chargebee's API (other than specific cases like VAT number validation). \\* \\`payment_method_not_present\\` - Returned when the request requires payment collection but the 'payment method' details (such as card) is not present for the customer. This error will not occur if auto-collection is disabled for the customer. \\* \\`resource_limit_exceeded\\` \\* \\`payment_gateway_currency_incompatible\\` - Returned when the payment gateway configured is incompatible with the transactional currency. This error will not occur if auto-collection is disabled for the customer.\n",
            "enum" : [ "payment_intent_invalid_amount", "configuration_incompatible", "payment_intent_invalid", "invalid_request", "payment_method_verification_failed", "payment_processing_failed", "resource_limit_exhausted", "duplicate_entry", "param_wrong_value", "payment_method_not_present", "resource_limit_exceeded", "payment_gateway_currency_incompatible" ],
            "example" : null
          }
        },
        "required" : [ "api_error_code", "message", "type" ],
        "example" : null
      },
      "401" : {
        "type" : "object",
        "properties" : {
          "message" : {
            "type" : "string",
            "example" : null
          },
          "param" : {
            "type" : "string",
            "example" : null
          },
          "type" : {
            "type" : "string",
            "enum" : [ "untyped" ],
            "example" : null
          },
          "api_error_code" : {
            "type" : "string",
            "description" : "\\* \\`api_authentication_failed\\` - Returned when authentication failed for the request. The possible reasons could be the api key is invalid or authentication header is not present in the request or the header's format is invalid. \\* \\`basic_authentication_failed\\` - Returned when authentication failed for the request. The possible reasons could be that one or both of the username and password are invalid\n",
            "enum" : [ "api_authentication_failed", "basic_authentication_failed" ],
            "example" : null
          }
        },
        "required" : [ "api_error_code", "message", "type" ],
        "example" : null
      },
      "403" : {
        "type" : "object",
        "properties" : {
          "message" : {
            "type" : "string",
            "example" : null
          },
          "param" : {
            "type" : "string",
            "example" : null
          },
          "type" : {
            "type" : "string",
            "enum" : [ "untyped", "operation_failed" ],
            "example" : null
          },
          "api_error_code" : {
            "type" : "string",
            "description" : "\\* \\`request_blocked\\` - Returned when request is blocked for your site. The blocking could be only for a specific set of operation(s) . The reason would be provided as part of the message. You would have to contact support for additional details. \\* \\`api_authorization_failed\\` - Returned when the API key does not have sufficient privileges to perform the particular operation.\n",
            "enum" : [ "request_blocked", "api_authorization_failed" ],
            "example" : null
          }
        },
        "required" : [ "api_error_code", "message", "type" ],
        "example" : null
      },
      "404" : {
        "type" : "object",
        "properties" : {
          "message" : {
            "type" : "string",
            "example" : null
          },
          "param" : {
            "type" : "string",
            "example" : null
          },
          "type" : {
            "type" : "string",
            "enum" : [ "invalid_request", "untyped" ],
            "example" : null
          },
          "api_error_code" : {
            "type" : "string",
            "description" : "\\* \\`resource_not_found\\` - Returned when any of resource(s) referred in the request is not found. \\* \\`site_not_found\\` - Returned when the site is not found.\n",
            "enum" : [ "resource_not_found", "site_not_found" ],
            "example" : null
          }
        },
        "required" : [ "api_error_code", "message", "type" ],
        "example" : null
      },
      "405" : {
        "type" : "object",
        "properties" : {
          "message" : {
            "type" : "string",
            "example" : null
          },
          "param" : {
            "type" : "string",
            "example" : null
          },
          "type" : {
            "type" : "string",
            "enum" : [ "invalid_request" ],
            "example" : null
          },
          "api_error_code" : {
            "type" : "string",
            "description" : "\\* \\`http_method_not_supported\\` - Returned when the 'http method', specified in the request, is not allowed for this URL. It should not occur if you are using one of the standard client library.\n",
            "enum" : [ "http_method_not_supported" ],
            "example" : null
          }
        },
        "required" : [ "api_error_code", "message", "type" ],
        "example" : null
      },
      "409" : {
        "type" : "object",
        "properties" : {
          "message" : {
            "type" : "string",
            "example" : null
          },
          "param" : {
            "type" : "string",
            "example" : null
          },
          "type" : {
            "type" : "string",
            "enum" : [ "invalid_request" ],
            "example" : null
          },
          "api_error_code" : {
            "type" : "string",
            "description" : "\\* \\`invalid_state_for_request\\` - Returned when the requested operation is not allowed for current state of the resource. This error will occur if the state of the resource has not been checked for the validity of the request. For example this error is returned when we try to schedule subscription changes at 'end of term' for canceled subscriptions.\n",
            "enum" : [ "invalid_state_for_request" ],
            "example" : null
          }
        },
        "required" : [ "api_error_code", "message", "type" ],
        "example" : null
      },
      "422" : {
        "type" : "object",
        "properties" : {
          "message" : {
            "type" : "string",
            "example" : null
          },
          "param" : {
            "type" : "string",
            "example" : null
          },
          "type" : {
            "type" : "string",
            "enum" : [ "invalid_request" ],
            "example" : null
          },
          "api_error_code" : {
            "type" : "string",
            "description" : "\\* \\`unable_to_process_request\\` - Returned when the HTTP request body contains a well-formed, but semantically erroneous payload. For example this error is returned when a client attempts to reuse an idempotency key with a different request payload.\n",
            "enum" : [ "unable_to_process_request" ],
            "example" : null
          }
        },
        "required" : [ "api_error_code", "message", "type" ],
        "example" : null
      },
      "429" : {
        "type" : "object",
        "properties" : {
          "message" : {
            "type" : "string",
            "example" : null
          },
          "param" : {
            "type" : "string",
            "example" : null
          },
          "type" : {
            "type" : "string",
            "enum" : [ "operation_failed" ],
            "example" : null
          },
          "api_error_code" : {
            "type" : "string",
            "description" : "\\* \\`third_party_api_request_limit_exceeded\\` - Returned when your request is blocked temporarily at a third-party service, due to the request count exceeding their acceptable limits. \\* \\`api_request_limit_exceeded\\` - Returned when requests have been blocked temporarily due to request count exceeding acceptable limits. \\* \\`lock_timeout\\` - Returned when there are multiple concurrent requests to the same resource.\n",
            "enum" : [ "third_party_api_request_limit_exceeded", "api_request_limit_exceeded", "lock_timeout" ],
            "example" : null
          }
        },
        "required" : [ "api_error_code", "message", "type" ],
        "example" : null
      },
      "500" : {
        "type" : "object",
        "properties" : {
          "message" : {
            "type" : "string",
            "example" : null
          },
          "param" : {
            "type" : "string",
            "example" : null
          },
          "type" : {
            "type" : "string",
            "enum" : [ "operation_failed" ],
            "example" : null
          },
          "api_error_code" : {
            "type" : "string",
            "description" : "\\* \\`internal_error\\` - Returned when the request parameters were right but the operation couldn't be completed due to a bug in Chargebee side.\n",
            "enum" : [ "internal_error" ],
            "example" : null
          }
        },
        "required" : [ "api_error_code", "message", "type" ],
        "example" : null
      },
      "503" : {
        "type" : "object",
        "properties" : {
          "message" : {
            "type" : "string",
            "example" : null
          },
          "param" : {
            "type" : "string",
            "example" : null
          },
          "type" : {
            "type" : "string",
            "enum" : [ "invalid_request", "operation_failed" ],
            "example" : null
          },
          "api_error_code" : {
            "type" : "string",
            "description" : "\\* \\`db_connection_failure\\` - Returned when db connection fails. \\* \\`site_read_only_mode\\` - Returned when your site is temporarily unavailable for write operations due to a scheduled maintenance. \\* \\`site_not_ready\\` - Returned when your site is temporarily unavailable due to a scheduled maintenance. \\* \\`internal_temporary_error\\` - Returned when temporary occured in Chargebee side. The request can be re-tried, with exponential backoff in case of repeat failures.\n",
            "enum" : [ "db_connection_failure", "site_read_only_mode", "site_not_ready", "internal_temporary_error" ],
            "example" : null
          }
        },
        "required" : [ "api_error_code", "message", "type" ],
        "example" : null
      },
      "AccountHolderType" : {
        "type" : "string",
        "deprecated" : true,
        "enum" : [ "individual", "company" ],
        "example" : null
      },
      "AccountType" : {
        "type" : "string",
        "deprecated" : true,
        "enum" : [ "checking", "savings", "business_checking", "current" ],
        "example" : null
      },
      "Addon" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Addons are additional charges applied to a subscription apart from the base plan charge. The addons can be recurring or non-recurring. A recurring addon included in a subscription is charged as per billing frequency of subscription. A non-recurring addon included in subscription will be charged immediately and only once. And a non-recurring addon is NOT pro-rated based on billing cycle, whereas a recurring addon is automatically pro-rated based on billing cycle.\n",
        "properties" : {
          "id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "A unique ID for your system to identify the addon.\n",
            "maxLength" : 100,
            "example" : null
          },
          "name" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The display name used in web interface for identifying the addon.\n",
            "maxLength" : 100,
            "example" : null
          },
          "invoice_name" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Display name used in invoice. If it is not configured then name is used in invoice.\n",
            "maxLength" : 100,
            "example" : null
          },
          "description" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Description about the addon to show in the hosted pages \\& customer portal. This description will not be shown if multiple addons are added.\n",
            "maxLength" : 2000,
            "example" : null
          },
          "type" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Select \"On-Off\" to charge a flat fee or \"Quantity\" for unit based charges.\n\\* quantity -\n\nCharges this price for every unit of the addon. Example: 2 additional support agents at $10 each\n\\* on_off -\n\nAddon that does not have any quantity associated and can only be enabled or disabled. Example: On call support at $99 per month.\n",
            "enum" : [ "on_off", "quantity" ],
            "example" : null
          },
          "charge_type" : {
            "type" : "string",
            "default" : "recurring",
            "deprecated" : false,
            "description" : "Type of charge\n\\* recurring -\n\nCharges are automatically applied in sync with the billing frequency of subscription.\n\\* non_recurring -\n\nCharged immediately and only once every time it is applied.\n",
            "enum" : [ "recurring", "non_recurring" ],
            "example" : null
          },
          "price" : {
            "type" : "integer",
            "format" : "int64",
            "deprecated" : false,
            "description" : "Addon price is calculated based on the addon type and charge type. [Learn more](https://www.chargebee.com/docs/addons.html#charge-type-and-pricing).\nThe unit depends on the [type of currency](/docs/api/getting-started)\n.\n",
            "minimum" : 0,
            "example" : null
          },
          "period" : {
            "type" : "integer",
            "format" : "int32",
            "deprecated" : false,
            "description" : "Applicable only for recurring-addons. Along with 'period_unit' decides the term-price of this addon.\n",
            "minimum" : 1,
            "example" : null
          },
          "period_unit" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Applicable only for recurring-addons. Along with 'period' decides the term-price of this addon\n\\* year -\n\nCharge based on year(s)\n\\* month -\n\nCharge based on month(s)\n\\* week -\n\nCharge based on week(s)\n\\* day -\n\nCharge based on Day(S)\n\\* not_applicable -\n\nnot applicable for this addon\n",
            "enum" : [ "day", "week", "month", "year", "not_applicable" ],
            "example" : null
          },
          "unit" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Specifies the type of quantity. For example, if the addon price is $10 and 'agent' is the unit of measure, the addon will be $10/agent.\nApplicable only for quantity type addons.\n",
            "maxLength" : 30,
            "example" : null
          },
          "status" : {
            "type" : "string",
            "default" : "active",
            "deprecated" : false,
            "description" : "Status of the addon\n\\* active -\n\nOnly active addons can be applied to subscriptions\n\\* deleted -\n\nIndicates the addon has been deleted.\n\\* archived -\n\nNo new associations with subscriptions are allowed. Existing associations for recurring addons remain as-is and can be removed if required.\n",
            "enum" : [ "active", "archived", "deleted" ],
            "example" : null
          },
          "archived_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Time at which the plan was moved to archived status.\n",
            "example" : null
          },
          "enabled_in_portal" : {
            "type" : "boolean",
            "default" : true,
            "deprecated" : false,
            "description" : "If enabled, customers can select this addon using the 'Change Subscription' option in the customer portal.\n",
            "example" : null
          },
          "proration_type" : {
            "type" : "string",
            "default" : "site_default",
            "deprecated" : false,
            "description" : "null\n",
            "enum" : [ "site_default", "partial_term", "full_term" ],
            "example" : null
          },
          "invoice_notes" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "A customer-facing note added to all invoices associated with this API resource. This note becomes one among [all the notes](/docs/api/invoices/invoice-object#notes)\ndisplayed on the invoice PDF.\n",
            "maxLength" : 2000,
            "example" : null
          },
          "taxable" : {
            "type" : "boolean",
            "default" : true,
            "deprecated" : false,
            "description" : "Specifies if the addon should be taxed or not\n",
            "example" : null
          },
          "meta_data" : {
            "type" : "object",
            "additionalProperties" : true,
            "deprecated" : false,
            "description" : "A set of key-value pairs stored as additional information for the addon. \\[Learn more\\](/docs/api/v1/addons) .\n",
            "example" : null
          }
        },
        "required" : [ "charge_type", "enabled_in_portal", "id", "name", "period_unit", "status", "type" ],
        "example" : null
      },
      "Address" : {
        "type" : "object",
        "description" : "Subscriptions can have addresses like \"Shipping Address\" associated with them. This is apart from the billing address as part of credit card information.\n",
        "properties" : {
          "label" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Label to identify the address. This is unique for all the address for a subscription.\n",
            "maxLength" : 50,
            "example" : null
          },
          "first_name" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "First name\n",
            "maxLength" : 150,
            "example" : null
          },
          "last_name" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Last name\n",
            "maxLength" : 150,
            "example" : null
          },
          "email" : {
            "type" : "string",
            "format" : "email",
            "deprecated" : false,
            "description" : "Email\n",
            "maxLength" : 70,
            "example" : null
          },
          "company" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Company name\n",
            "maxLength" : 250,
            "example" : null
          },
          "phone" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Phone number\n",
            "maxLength" : 50,
            "example" : null
          },
          "addr" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Address line 1\n",
            "maxLength" : 150,
            "example" : null
          },
          "extended_addr" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Address line 2\n",
            "maxLength" : 150,
            "example" : null
          },
          "extended_addr2" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Address line 3\n",
            "maxLength" : 150,
            "example" : null
          },
          "city" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Name of the city\n",
            "maxLength" : 50,
            "example" : null
          },
          "state_code" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
            "maxLength" : 50,
            "example" : null
          },
          "state" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "State or Province\n",
            "maxLength" : 50,
            "example" : null
          },
          "country" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
            "maxLength" : 50,
            "example" : null
          },
          "zip" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Zip or postal code. The number of characters is validated according to the rules [specified here](https://chromium-i18n.appspot.com/ssl-address)\n.\n",
            "maxLength" : 20,
            "example" : null
          },
          "subscription_id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "A unique and immutable identifier for the subscription. If not provided, it is autogenerated.\n",
            "maxLength" : 50,
            "example" : null
          }
        },
        "required" : [ "label", "subscription_id" ],
        "example" : null
      },
      "ApiVersion" : {
        "type" : "string",
        "default" : "v1",
        "deprecated" : false,
        "enum" : [ "v1", "v2" ],
        "example" : null
      },
      "AutoCollection" : {
        "type" : "string",
        "default" : "on",
        "deprecated" : false,
        "enum" : [ "on", "off" ],
        "example" : null
      },
      "Card" : {
        "type" : "object",
        "description" : "This resource helps you to retrieve, update, and delete card details for a customer.\n",
        "properties" : {
          "status" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Current status of the card.\n\\* valid -\n\nA valid and active credit card\n\\* expired -\n\nAn expired card\n\\* expiring -\n\nA card which is expiring in the current month.\n",
            "enum" : [ "valid", "expiring", "expired" ],
            "example" : null
          },
          "gateway" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Name of the gateway this payment source is stored with.\n\\* twikey -\n\nTwikey is a payment service provider that specializes in processing direct debit payments across the EU.\n\\* tco -\n\n2Checkout is a payment gateway.\n\\* first_data_global -\n\nFirst Data Global Gateway Virtual Terminal Account\n\\* bluepay -\n\nBluePay is a payment gateway.\n\\* eway -\n\neWAY Account is a payment gateway.\n\\* paypal_payflow_pro -\n\nPayPal Payflow Pro is a payment gateway.\n\\* not_applicable -\n\nIndicates that payment gateway is not applicable for this resource.\n\\* braintree -\n\nBraintree is a payment gateway.\n\\* nmi -\n\nNMI is a payment gateway.\n\\* worldpay -\n\nWorldPay is a payment gateway\n\\* wirecard -\n\nWireCard Account is a payment service provider.\n\\* sage_pay -\n\nSage Pay is a payment gateway.\n\\* pin -\n\nPin is a payment gateway\n\\* authorize_net -\n\nAuthorize.net is a payment gateway\n\\* elavon -\n\nElavon Virtual Merchant is a payment solution.\n\\* paypal_pro -\n\nPayPal Pro Account is a payment gateway.\n\\* beanstream -\n\nBambora(formerly known as Beanstream) is a payment gateway.\n\\* hdfc -\n\nHDFC Account is a payment gateway.\n\\* ogone -\n\nIngenico ePayments (formerly known as Ogone) is a payment gateway.\n\\* migs -\n\nMasterCard Internet Gateway Service payment gateway.\n\\* stripe -\n\nStripe is a payment gateway.\n\\* chargebee -\n\nChargebee test gateway.\n\\* eway_rapid -\n\neWAY Rapid is a payment gateway.\n\\* paymill -\n\nPAYMILL is a payment gateway.\n\\* balanced_payments -\n\nBalanced is a payment gateway\n",
            "enum" : [ "chargebee", "stripe", "braintree", "authorize_net", "paypal_pro", "pin", "eway", "eway_rapid", "worldpay", "balanced_payments", "beanstream", "bluepay", "elavon", "first_data_global", "hdfc", "migs", "nmi", "ogone", "paymill", "paypal_payflow_pro", "sage_pay", "tco", "wirecard", "not_applicable" ],
            "example" : null
          },
          "reference_id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The identifier provided by the gateway/card vault for the specific payment method resource.\n",
            "maxLength" : 200,
            "example" : null
          },
          "first_name" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Cardholder's first name\n",
            "maxLength" : 50,
            "example" : null
          },
          "last_name" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Cardholder's last name\n",
            "maxLength" : 50,
            "example" : null
          },
          "iin" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The Issuer Identification Number, i.e. the first six digits of the card number\n",
            "maxLength" : 6,
            "minLength" : 6,
            "example" : null
          },
          "last4" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Last four digits of the card number\n",
            "maxLength" : 4,
            "minLength" : 4,
            "example" : null
          },
          "card_type" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Card type\n\\* other -\n\nCard belonging to types other than those listed above.\n\\* bancontact -\n\nA Bancontact card.\n\\* american_express -\n\nAn American Express card.\n\\* mastercard -\n\nA MasterCard.\n\\* jcb -\n\nA JCB card.\n\\* not_applicable -\n\nUsed for offline entries in transactions. Not applicable for cards\n\\* visa -\n\nA Visa card.\n\\* diners_club -\n\nA Diner's Club card.\n\\* discover -\n\nA Discover card.\n",
            "enum" : [ "visa", "mastercard", "american_express", "discover", "jcb", "diners_club", "bancontact", "other", "not_applicable" ],
            "example" : null
          },
          "expiry_month" : {
            "type" : "integer",
            "format" : "int32",
            "deprecated" : false,
            "description" : "Card expiry month.\n",
            "maximum" : 12,
            "minimum" : 1,
            "example" : null
          },
          "expiry_year" : {
            "type" : "integer",
            "format" : "int32",
            "deprecated" : false,
            "description" : "Card expiry year.\n",
            "example" : null
          },
          "billing_addr1" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Address line 1, as available in card billing address.\n",
            "maxLength" : 150,
            "example" : null
          },
          "billing_addr2" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Address line 2, as available in card billing address.\n",
            "maxLength" : 150,
            "example" : null
          },
          "billing_city" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "City, as available in card billing address.\n",
            "maxLength" : 50,
            "example" : null
          },
          "billing_state_code" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
            "maxLength" : 50,
            "example" : null
          },
          "billing_state" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The state/province name.\n",
            "maxLength" : 50,
            "example" : null
          },
          "billing_country" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
            "maxLength" : 50,
            "example" : null
          },
          "billing_zip" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Postal or Zip code, as available in card billing address.\n",
            "maxLength" : 20,
            "example" : null
          },
          "ip_address" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The IP address of the customer. Used primarily for referral integration and EU VAT validation.\n",
            "maxLength" : 50,
            "example" : null
          },
          "customer_id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Identifier of the customer.\n",
            "maxLength" : 50,
            "example" : null
          },
          "masked_number" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Masked credit card number that is safe to show.\n",
            "maxLength" : 19,
            "example" : null
          }
        },
        "required" : [ "customer_id", "expiry_month", "expiry_year", "gateway", "iin", "last4", "status" ],
        "example" : null
      },
      "CardAddedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              }
            },
            "required" : [ "card", "customer" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "CardDeletedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              }
            },
            "required" : [ "card", "customer" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "CardExpiredEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              }
            },
            "required" : [ "card", "customer" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "CardExpiringEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              }
            },
            "required" : [ "card", "customer" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "CardUpdatedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              }
            },
            "required" : [ "card", "customer" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "Comment" : {
        "type" : "object",
        "description" : "Comments are additional information that you can add to your resources. Comments can be added to provide context for any operation that was performed.\n\nWhen you make an API call on any resource, for example, Subscriptions -\\> Change term end, you can add more context to that operation by calling the comments API as a follow up call.\n\nBesides the user generated comments, Chargebee also generates \"System\" comments when a change for a resource happens at the backend. These comments are all read-only.\n",
        "properties" : {
          "id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Unique identifier for the comment.\n",
            "maxLength" : 40,
            "example" : null
          },
          "entity_type" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Type of the entity this comment generated for\n\\* order -\n\nEntity that represents an order\n\\* customer -\n\nEntity that represents a customer\n\\* invoice -\n\nInvoice description\n\\* business_entity -\n\nEntity that represents item of type business entity\n\\* plan -\n\nEntity that represents a subscription plan\n\\* coupon -\n\nEntity that represents a discount coupon\n\\* subscription -\n\nEntity that represents a subscription of a customer\n\\* transaction -\n\nEntity that represents a transaction.\n\\* addon -\n\nEntity that represents an addon\n\\* credit_note -\n\nCredit note description\n\\* quote -\n\nEntity that represents a quote\n",
            "enum" : [ "customer", "subscription", "transaction", "plan", "addon", "order", "business_entity" ],
            "example" : null
          },
          "added_by" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The user who created the comment. If created via API, this contains the name given for the API key used.\n",
            "maxLength" : 100,
            "example" : null
          },
          "notes" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Actual notes for the comment.\n",
            "maxLength" : 1000,
            "example" : null
          },
          "created_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "The time at which this comment was created\n",
            "example" : null
          },
          "type" : {
            "type" : "string",
            "default" : "user",
            "deprecated" : false,
            "description" : "Type of comment this is.\n\\* user -\n\nComment generated by user either via API or Admin console.\n\\* system -\n\nComment generated by Chargebee when any backend changes happen for an entity\n",
            "enum" : [ "user", "system" ],
            "example" : null
          },
          "entity_id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Unique identifier of the entity.\n",
            "maxLength" : 100,
            "example" : null
          }
        },
        "required" : [ "created_at", "entity_id", "entity_type", "id", "notes", "type" ],
        "example" : null
      },
      "Contact" : {
        "type" : "object",
        "description" : "This resource deals with contacts and their details.\n",
        "properties" : {
          "id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Unique reference ID provided for the contact.\n",
            "maxLength" : 150,
            "example" : null
          },
          "first_name" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "First name of the contact.\n",
            "maxLength" : 150,
            "example" : null
          },
          "last_name" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Last name of the contact.\n",
            "maxLength" : 150,
            "example" : null
          },
          "email" : {
            "type" : "string",
            "format" : "email",
            "deprecated" : false,
            "description" : "Email of the contact.\n",
            "maxLength" : 70,
            "example" : null
          },
          "phone" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Phone number of the contact.\n",
            "maxLength" : 50,
            "example" : null
          },
          "label" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Label/Tag provided for contact.\n",
            "maxLength" : 50,
            "example" : null
          },
          "enabled" : {
            "type" : "boolean",
            "default" : false,
            "deprecated" : false,
            "description" : "Contact enabled / disabled\n",
            "example" : null
          },
          "send_account_email" : {
            "type" : "boolean",
            "default" : false,
            "deprecated" : false,
            "description" : "Whether Account Emails option is enabled for the contact.\n",
            "example" : null
          },
          "send_billing_email" : {
            "type" : "boolean",
            "default" : false,
            "deprecated" : false,
            "description" : "Whether Billing Emails option is enabled for the contact.\n",
            "example" : null
          }
        },
        "required" : [ "email", "enabled", "id", "send_account_email", "send_billing_email" ],
        "example" : null
      },
      "Coupon" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Coupons are discounts codes that you can configure and apply to subscriptions.\n",
        "properties" : {
          "id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">Used to uniquely identify the coupon in your website/application and to integrate with Chargebee.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Note:</strong></p><p class=\"mb-2\">When the coupon ID contains a special character; for example: <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">#</code>, the API returns an error. Make sure that you <a href=\"https://www.urlencoder.org/\">encode</a> the coupon ID in the path parameter before making an API call.</p></div>",
            "maxLength" : 100,
            "example" : null
          },
          "name" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">The display name used in web interface for identifying the coupon.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Note:</strong></p><p class=\"mb-2\">When the name of the coupon set contains a special character; for example: <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">#</code>, the API returns an error. Make sure that you <a href=\"https://www.urlencoder.org/\">encode</a> the name of the coupon set in the path parameter before making an API call.</p></div>",
            "maxLength" : 50,
            "example" : null
          },
          "invoice_name" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Display name used in invoice. If it is not configured then name is used in invoice.\n",
            "maxLength" : 100,
            "example" : null
          },
          "discount_type" : {
            "type" : "string",
            "default" : "percentage",
            "deprecated" : false,
            "description" : "The type of deduction\n\\* fixed_amount -\n\nThe specified amount will be deducted.\n\\* percentage -\n\nThe specified percentage will be deducted.\n\\* offer_quantity -\n\nApplies a discount based on the number of free units offered in a per unit plan subscription without reducing the total quantity sold.\n",
            "enum" : [ "fixed_amount", "percentage", "offer_quantity" ],
            "example" : null
          },
          "discount_percentage" : {
            "type" : "number",
            "format" : "double",
            "deprecated" : false,
            "description" : "The percentage of the original amount that should be deducted from it.\n",
            "maximum" : 100,
            "minimum" : 0.01,
            "example" : null
          },
          "discount_amount" : {
            "type" : "integer",
            "format" : "int64",
            "deprecated" : false,
            "description" : "The value of the deduction. The format of this value depends on the [kind of currency](/docs/api/currencies)\n.\n",
            "minimum" : 0,
            "example" : null
          },
          "discount_quantity" : {
            "type" : "integer",
            "format" : "int32",
            "deprecated" : false,
            "minimum" : 1,
            "example" : null
          },
          "duration_type" : {
            "type" : "string",
            "default" : "forever",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">Specifies the time duration for which this coupon is attached to the subscription.</p>\n* forever - <p class=\"mb-2\">The coupon is attached to the subscription and applied on the invoices until explicitly removed.</p>\n* limited_period - <p class=\"mb-2\">The discount is attached to the subscription and applied on the invoices for a limited duration. This duration starts from the point it is applied to an invoice for the first time and expires after a period specified by <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">period</code>\nand <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">period_unit</code>\n.</p>\n* one_time - <p class=\"mb-2\">The coupon stays attached to the subscription till it is applied on an invoice <strong class=\"font-semibold\">once</strong>.\nIt is removed after that from the subscription.</p>",
            "enum" : [ "one_time", "forever", "limited_period" ],
            "example" : null
          },
          "duration_month" : {
            "type" : "integer",
            "format" : "int32",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\"><strong class=\"font-semibold\">(Deprecated)</strong>\nThe duration of time in months for which the coupon is attached to the subscription. Applicable only when <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">duration_type</code>\nis <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">limited_period</code>.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note:</strong>\nThis parameter has been deprecated. Use <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">period</code>\nand <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">period_unit</code>\ninstead.</p>",
            "maximum" : 240,
            "minimum" : 1,
            "example" : null
          },
          "valid_till" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Date upto which the coupon can be applied to new subscriptions.\n",
            "example" : null
          },
          "max_redemptions" : {
            "type" : "integer",
            "format" : "int32",
            "deprecated" : false,
            "description" : "Maximum number of times this coupon can be redeemed.  \n**Note:**\n\nIf not specified, the coupon can be redeemed an indefinite number of times.\n",
            "minimum" : 1,
            "example" : null
          },
          "status" : {
            "type" : "string",
            "default" : "active",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">Status of the coupon.</p>\n* active - <p class=\"mb-2\">Can be applied to a subscription.</p>\n* expired - <p class=\"mb-2\">Cannot be applied to a subscription. A coupon may expire due to  exceeding <code><a href=\"/docs/api/coupons/coupon-object#max_redemptions\">max_redemptions</a></code>\nor <code><a href=\"/docs/api/coupons/coupon-object#valid_till\">valid_till</a></code>\ndate is past. Existing associations remain unaffected.</p>\n* archived - <p class=\"mb-2\">Cannot be applied to a subscription. Existing associations remain unaffected.</p>",
            "enum" : [ "active", "expired", "archived" ],
            "example" : null
          },
          "apply_on" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">The amount on the invoice to which the coupon is applied.</p>\n* invoice_amount - <p class=\"mb-2\">The coupon is applied to the invoice <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">sub_total</code>\n.</p>\n* each_specified_item - <p class=\"mb-2\">The coupon is applied to the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">invoice.line_item.amount</code>\nthat corresponds to the plan or addon specified by <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">plan_ids</code>\nand <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">addon_ids</code>\n.</p>",
            "enum" : [ "invoice_amount", "each_specified_item" ],
            "example" : null
          },
          "plan_constraint" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Plans the coupon can be applied to.\n\\* all -\n\nCoupon applicable to all plans.\n\\* specific -\n\nCoupon applicable to specific plan(s).\n\\* not_applicable -\n\nCoupon only applicable to invoice amount and not any plans.\n\\* none -\n\nCoupon not applicable to any plans.\n",
            "enum" : [ "none", "all", "specific", "not_applicable" ],
            "example" : null
          },
          "addon_constraint" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Addons the coupon can be applied to.\n\\* specific -\n\nCoupon applicable to specific addon(s).\n\\* all -\n\nCoupon applicable to all addons.\n\\* none -\n\nCoupon not applicable to any addons.\n\\* not_applicable -\n\nCoupon only applicable to invoice amount and not any addons.\n",
            "enum" : [ "none", "all", "specific", "not_applicable" ],
            "example" : null
          },
          "created_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Timestamp indicating when this coupon is created.\n",
            "example" : null
          },
          "archived_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Timestamp indicating when this coupon was archived.\n",
            "example" : null
          },
          "plan_ids" : {
            "type" : "array",
            "deprecated" : false,
            "description" : "List of plan ids for which this coupon is applicable.\n",
            "items" : {
              "type" : "string",
              "deprecated" : false,
              "maxLength" : 100,
              "example" : null
            },
            "example" : null
          },
          "addon_ids" : {
            "type" : "array",
            "deprecated" : false,
            "description" : "List of addon ids for which this coupon is applicable.\n",
            "items" : {
              "type" : "string",
              "deprecated" : false,
              "maxLength" : 100,
              "example" : null
            },
            "example" : null
          },
          "redemptions" : {
            "type" : "integer",
            "format" : "int32",
            "deprecated" : false,
            "description" : "The number of times this coupon has been redeemed.\n",
            "minimum" : 0,
            "example" : null
          },
          "invoice_notes" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "A customer-facing note added to all invoices associated with this API resource. This note becomes one among [all the notes](/docs/api/invoices/invoice-object#notes)\ndisplayed on the invoice PDF.\n",
            "maxLength" : 2000,
            "example" : null
          },
          "meta_data" : {
            "type" : "object",
            "additionalProperties" : true,
            "deprecated" : false,
            "description" : "A set of key-value pairs stored as additional information for the coupon. \\[Learn more\\](/docs/api/v1/coupons) .\n",
            "example" : null
          }
        },
        "required" : [ "addon_constraint", "apply_on", "created_at", "discount_type", "duration_type", "id", "name", "plan_constraint" ],
        "example" : null
      },
      "CouponCode" : {
        "type" : "object",
        "description" : "Coupon codes are used along with existing coupons in Chargebee. You can create a coupon set using a bunch of coupon codes and this coupon set will be associated with an existing coupon. A coupon code can only be applied to a single subscription and cannot be re-used.\n\nUsing coupon codes you can distribute several unique codes for a single main coupon, when you are running promotions.\n",
        "properties" : {
          "code" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Unique coupon code that can be redeemed only once.\n",
            "maxLength" : 50,
            "example" : null
          },
          "coupon_id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Id of the main coupon resource.\n",
            "maxLength" : 100,
            "example" : null
          },
          "coupon_set_name" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Coupon set name to which this coupon code would be grouped under. If the coupon set with the passed name is not present, a new coupon set will be created.\n",
            "maxLength" : 50,
            "example" : null
          }
        },
        "required" : [ "code", "coupon_id", "coupon_set_name" ],
        "example" : null
      },
      "CsvTaxRule" : {
        "type" : "object",
        "properties" : {
          "tax_profile_name" : {
            "type" : "string",
            "deprecated" : false,
            "maxLength" : 100,
            "example" : null
          },
          "country" : {
            "type" : "string",
            "deprecated" : false,
            "maxLength" : 50,
            "example" : null
          },
          "state" : {
            "type" : "string",
            "default" : "*",
            "deprecated" : false,
            "maxLength" : 50,
            "example" : null
          },
          "zip_code" : {
            "type" : "string",
            "deprecated" : false,
            "maxLength" : 50,
            "example" : null
          },
          "zip_code_start" : {
            "type" : "integer",
            "format" : "int32",
            "deprecated" : false,
            "example" : null
          },
          "zip_code_end" : {
            "type" : "integer",
            "format" : "int32",
            "deprecated" : false,
            "example" : null
          },
          "tax1_name" : {
            "type" : "string",
            "deprecated" : false,
            "maxLength" : 100,
            "example" : null
          },
          "tax1_rate" : {
            "type" : "number",
            "format" : "double",
            "deprecated" : false,
            "maximum" : 100,
            "minimum" : 0,
            "example" : null
          },
          "tax1_juris_type" : {
            "type" : "string",
            "deprecated" : false,
            "enum" : [ "country", "federal", "state", "county", "city", "special", "unincorporated", "other" ],
            "example" : null
          },
          "tax1_juris_name" : {
            "type" : "string",
            "deprecated" : false,
            "maxLength" : 250,
            "example" : null
          },
          "tax1_juris_code" : {
            "type" : "string",
            "deprecated" : false,
            "maxLength" : 250,
            "example" : null
          },
          "tax2_name" : {
            "type" : "string",
            "deprecated" : false,
            "maxLength" : 100,
            "example" : null
          },
          "tax2_rate" : {
            "type" : "number",
            "format" : "double",
            "deprecated" : false,
            "maximum" : 100,
            "minimum" : 0,
            "example" : null
          },
          "tax2_juris_type" : {
            "type" : "string",
            "deprecated" : false,
            "enum" : [ "country", "federal", "state", "county", "city", "special", "unincorporated", "other" ],
            "example" : null
          },
          "tax2_juris_name" : {
            "type" : "string",
            "deprecated" : false,
            "maxLength" : 250,
            "example" : null
          },
          "tax2_juris_code" : {
            "type" : "string",
            "deprecated" : false,
            "maxLength" : 250,
            "example" : null
          },
          "tax3_name" : {
            "type" : "string",
            "deprecated" : false,
            "maxLength" : 100,
            "example" : null
          },
          "tax3_rate" : {
            "type" : "number",
            "format" : "double",
            "deprecated" : false,
            "maximum" : 100,
            "minimum" : 0,
            "example" : null
          },
          "tax3_juris_type" : {
            "type" : "string",
            "deprecated" : false,
            "enum" : [ "country", "federal", "state", "county", "city", "special", "unincorporated", "other" ],
            "example" : null
          },
          "tax3_juris_name" : {
            "type" : "string",
            "deprecated" : false,
            "maxLength" : 250,
            "example" : null
          },
          "tax3_juris_code" : {
            "type" : "string",
            "deprecated" : false,
            "maxLength" : 250,
            "example" : null
          },
          "tax4_name" : {
            "type" : "string",
            "deprecated" : false,
            "maxLength" : 100,
            "example" : null
          },
          "tax4_rate" : {
            "type" : "number",
            "format" : "double",
            "deprecated" : false,
            "maximum" : 100,
            "minimum" : 0,
            "example" : null
          },
          "tax4_juris_type" : {
            "type" : "string",
            "deprecated" : false,
            "enum" : [ "country", "federal", "state", "county", "city", "special", "unincorporated", "other" ],
            "example" : null
          },
          "tax4_juris_name" : {
            "type" : "string",
            "deprecated" : false,
            "maxLength" : 250,
            "example" : null
          },
          "tax4_juris_code" : {
            "type" : "string",
            "deprecated" : false,
            "maxLength" : 250,
            "example" : null
          },
          "status" : {
            "type" : "string",
            "deprecated" : false,
            "enum" : [ "active", "expired", "scheduled" ],
            "example" : null
          },
          "time_zone" : {
            "type" : "string",
            "deprecated" : false,
            "maxLength" : 4,
            "example" : null
          },
          "valid_from" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "example" : null
          },
          "valid_till" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "example" : null
          },
          "service_type" : {
            "type" : "string",
            "deprecated" : false,
            "enum" : [ "digital", "other", "not_applicable" ],
            "example" : null
          },
          "rule_weight" : {
            "type" : "integer",
            "format" : "int32",
            "deprecated" : false,
            "example" : null
          },
          "overwrite" : {
            "type" : "boolean",
            "default" : false,
            "deprecated" : false,
            "example" : null
          }
        },
        "required" : [ "overwrite", "tax1_name", "tax1_rate" ],
        "example" : null
      },
      "Customer" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Represents a customer. [Subscriptions](/docs/api/v1/subscriptions/subscription-object), [Card](/docs/api/v1/cards/card-object) and Billing Address are associated with the customer resource. Customer resource will be created along with subscription via \"[Create a Subscription](/docs/api/v1/subscriptions/create-a-subscription)\" API. The **id** of the customer will be same as that of associated subscription id if not explicitly set.\n\nThe Billing Address is significant especially when [EU VAT taxes](https://www.chargebee.com/docs/tax.html#european-union-vat) are involved, for tax calculations will be based on this address. For customers without Billing Address, EU VAT taxes will **not** be included. Thus ensure to set this properly if you have configured EU VAT Tax.\n\n**Note:** For the customers who signed up before 1st Mar 2014, Customer's Billing Address and 'vat_number' will be replaced automatically whenever the associated Card gets updated. i.e existing values for Billing Address and 'vat_number' will be cleared and the new values will be set. This behaviour is changed now - The VAT Number should always be passed along Billing Address and not with Card address. Both the addresses have to be dealt separately.\n",
        "properties" : {
          "id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Identifier of the customer.\n",
            "maxLength" : 50,
            "example" : null
          },
          "first_name" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "First name of the customer\n",
            "maxLength" : 150,
            "example" : null
          },
          "last_name" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Last name of the customer\n",
            "maxLength" : 150,
            "example" : null
          },
          "email" : {
            "type" : "string",
            "format" : "email",
            "deprecated" : false,
            "description" : "Email of the customer. Configured email notifications will be sent to this email.\n",
            "maxLength" : 70,
            "example" : null
          },
          "phone" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Phone number of the customer\n",
            "maxLength" : 50,
            "example" : null
          },
          "company" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Company name of the customer.\n",
            "maxLength" : 250,
            "example" : null
          },
          "vat_number" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">The VAT/tax registration number for the customer. For customers with <code><a href=\"/docs/api/customers/customer-object#billing_address\">billing_address</a></code></p>\n<p class=\"mb-2\"><code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">country</code>\nas\n<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code>\n(which is <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>\n), the first two characters of the <a href=\"https://en.wikipedia.org/wiki/VAT_identification_number\" target=\"_blank\">full VAT number</a>\ncan be overridden by setting\n<code><a href=\"/docs/api/customers/customer-object#vat_number_prefix\">vat_number_prefix</a></code>\n.</p>",
            "maxLength" : 20,
            "example" : null
          },
          "auto_collection" : {
            "type" : "string",
            "default" : "on",
            "deprecated" : false,
            "description" : "Whether payments needs to be collected automatically for this customer\n\\* on -\n\nWhenever an invoice is created, an automatic attempt to charge the customer's payment method is made.\n\\* off -\n\nAutomatic collection of charges will not be made. All payments must be recorded offline.\n",
            "enum" : [ "on", "off" ],
            "example" : null
          },
          "allow_direct_debit" : {
            "type" : "boolean",
            "default" : false,
            "deprecated" : false,
            "description" : "Whether the customer can pay via Direct Debit\n",
            "example" : null
          },
          "created_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Timestamp indicating when this customer resource is created.\n",
            "example" : null
          },
          "created_from_ip" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The IP address of the customer. Used primarily for [referral integrations](https://www.chargebee.com/docs/marketing-integration-index.html)\nand EU/UK VAT validation.\n",
            "maxLength" : 50,
            "example" : null
          },
          "taxability" : {
            "type" : "string",
            "default" : "taxable",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">Specifies if the customer is liable for tax</p>\n* taxable - <p class=\"mb-2\">Computes tax for the customer based on the <a href=\"https://www.chargebee.com/docs/tax.html\" target=\"_blank\" rel=\"noopener noreferrer\">site configuration</a>.\nIn some cases, depending on the region, shipping_address is needed. If not provided, then billing_address is used to compute tax. If that&#x27;s not available either, the tax is taken as zero.</p>\n* exempt - <ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">Customer is exempted from tax. When using Chargebee&#x27;s native <a href=\"https://www.chargebee.com/docs/tax.html\" target=\"_blank\" rel=\"noopener noreferrer\">Taxes</a> feature or when using the <a href=\"https://www.chargebee.com/docs/taxjar.html\" target=\"_blank\" rel=\"noopener noreferrer\">TaxJar integration</a>, no other action is needed.</li>\n<li class=\"text-base leading-relaxed\">However, when using our <a href=\"https://www.chargebee.com/docs/avalara.html\" target=\"_blank\" rel=\"noopener noreferrer\">Avalara integration</a>, optionally, specify <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">entity_code</code> or <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exempt_number</code> attributes if you use Chargebee&#x27;s <a href=\"https://www.chargebee.com/docs/avalara.html#configuring-tax-exemption\" target=\"_blank\">AvaTax for Sales</a> or specify <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exemption_details</code> attribute if you use <a href=\"https://www.chargebee.com/docs/avatax-for-communication.html\" target=\"_blank\" rel=\"noopener noreferrer\">Chargebee&#x27;s AvaTax for Communications</a> integration. Tax may still be applied by Avalara for certain values of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">entity_code</code>/<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exempt_number</code>/<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">exemption_details</code> based on the state/region/province of the taxable address.</li>\n</ul>",
            "enum" : [ "taxable", "exempt" ],
            "example" : null
          },
          "billing_address" : {
            "type" : "object",
            "deprecated" : false,
            "description" : "Billing address for a customer.\n",
            "properties" : {
              "first_name" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The first name of the billing contact.\n",
                "maxLength" : 150,
                "example" : null
              },
              "last_name" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The last name of the billing contact.\n",
                "maxLength" : 150,
                "example" : null
              },
              "email" : {
                "type" : "string",
                "format" : "email",
                "deprecated" : false,
                "description" : "The email address.\n",
                "maxLength" : 70,
                "example" : null
              },
              "company" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The company name.\n",
                "maxLength" : 250,
                "example" : null
              },
              "phone" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The phone number.\n",
                "maxLength" : 50,
                "example" : null
              },
              "line1" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Address line 1\n",
                "maxLength" : 150,
                "example" : null
              },
              "line2" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Address line 2\n",
                "maxLength" : 150,
                "example" : null
              },
              "line3" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Address line 3\n",
                "maxLength" : 150,
                "example" : null
              },
              "city" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The name of the city.\n",
                "maxLength" : 50,
                "example" : null
              },
              "state_code" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                "maxLength" : 50,
                "example" : null
              },
              "state" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "State or Province\n",
                "maxLength" : 50,
                "example" : null
              },
              "country" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
                "maxLength" : 50,
                "example" : null
              },
              "zip" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Zip or postal code. The number of characters is validated according to the rules [specified here](https://chromium-i18n.appspot.com/ssl-address)\n.\n",
                "maxLength" : 20,
                "example" : null
              }
            },
            "example" : null
          },
          "contacts" : {
            "type" : "array",
            "deprecated" : false,
            "description" : "contacts\n",
            "items" : {
              "type" : "object",
              "deprecated" : false,
              "properties" : {
                "id" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Unique reference ID provided for the contact.\n",
                  "maxLength" : 150,
                  "example" : null
                },
                "first_name" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "First name of the contact.\n",
                  "maxLength" : 150,
                  "example" : null
                },
                "last_name" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Last name of the contact.\n",
                  "maxLength" : 150,
                  "example" : null
                },
                "email" : {
                  "type" : "string",
                  "format" : "email",
                  "deprecated" : false,
                  "description" : "Email of the contact.\n",
                  "maxLength" : 70,
                  "example" : null
                },
                "phone" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Phone number of the contact.\n",
                  "maxLength" : 50,
                  "example" : null
                },
                "label" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Label/Tag provided for contact.\n",
                  "maxLength" : 50,
                  "example" : null
                },
                "enabled" : {
                  "type" : "boolean",
                  "default" : false,
                  "deprecated" : false,
                  "description" : "Contact enabled / disabled\n",
                  "example" : null
                },
                "send_account_email" : {
                  "type" : "boolean",
                  "default" : false,
                  "deprecated" : false,
                  "description" : "Whether Account Emails option is enabled for the contact.\n",
                  "example" : null
                },
                "send_billing_email" : {
                  "type" : "boolean",
                  "default" : false,
                  "deprecated" : false,
                  "description" : "Whether Billing Emails option is enabled for the contact.\n",
                  "example" : null
                }
              },
              "required" : [ "email", "enabled", "id", "send_account_email", "send_billing_email" ],
              "example" : null
            },
            "example" : null
          },
          "payment_method" : {
            "type" : "object",
            "deprecated" : false,
            "description" : "Primary Payment Source of the customer.\n",
            "properties" : {
              "type" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Type of payment source\n\\* direct_debit -\n\nRepresents bank account for which the direct debit or ACH agreement/mandate is created.\n\\* automated_bank_transfer -\n\nRepresents virtual bank account using which the payment will be done.\n\\* amazon_payments -\n\nPayments made via Amazon Payments.\n\\* paypal_express_checkout -\n\nPayments made via PayPal Express Checkout.\n\\* card -\n\nCard based payment including credit cards and debit cards. Details about the card can be obtained from the card resource.\n",
                "enum" : [ "card", "paypal_express_checkout", "amazon_payments", "direct_debit", "automated_bank_transfer" ],
                "example" : null
              },
              "gateway" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Name of the gateway the payment method is associated with.\n\\* chargebee -\n\nChargebee test gateway.\n\\* stripe -\n\nStripe is a payment gateway.\n\\* eway -\n\neWAY Account is a payment gateway.\n\\* paymill -\n\nPAYMILL is a payment gateway.\n\\* authorize_net -\n\nAuthorize.net is a payment gateway\n\\* paypal_payflow_pro -\n\nPayPal Payflow Pro is a payment gateway.\n\\* paypal_pro -\n\nPayPal Pro Account is a payment gateway.\n\\* sage_pay -\n\nSage Pay is a payment gateway.\n\\* wirecard -\n\nWireCard Account is a payment service provider.\n\\* worldpay -\n\nWorldPay is a payment gateway\n\\* pin -\n\nPin is a payment gateway\n\\* eway_rapid -\n\neWAY Rapid is a payment gateway.\n\\* migs -\n\nMasterCard Internet Gateway Service payment gateway.\n\\* beanstream -\n\nBambora(formerly known as Beanstream) is a payment gateway.\n\\* elavon -\n\nElavon Virtual Merchant is a payment solution.\n\\* twikey -\n\nTwikey is a payment service provider that specializes in processing direct debit payments across the EU.\n\\* braintree -\n\nBraintree is a payment gateway.\n\\* nmi -\n\nNMI is a payment gateway.\n\\* ogone -\n\nIngenico ePayments (formerly known as Ogone) is a payment gateway.\n\\* first_data_global -\n\nFirst Data Global Gateway Virtual Terminal Account\n\\* bluepay -\n\nBluePay is a payment gateway.\n\\* not_applicable -\n\nIndicates that payment gateway is not applicable for this resource.\n\\* tco -\n\n2Checkout is a payment gateway.\n\\* hdfc -\n\nHDFC Account is a payment gateway.\n\\* balanced_payments -\n\nBalanced is a payment gateway\n",
                "enum" : [ "chargebee", "stripe", "braintree", "authorize_net", "paypal_pro", "pin", "eway", "eway_rapid", "worldpay", "balanced_payments", "beanstream", "bluepay", "elavon", "first_data_global", "hdfc", "migs", "nmi", "ogone", "paymill", "paypal_payflow_pro", "sage_pay", "tco", "wirecard", "not_applicable" ],
                "example" : null
              },
              "status" : {
                "type" : "string",
                "default" : "valid",
                "deprecated" : false,
                "description" : "Current status of the payment source.\n\\* expired -\n\nA payment source that has expired\n\\* invalid -\n\nThe billing agreement cannot be used. It might become valid again either automatically or due to customer action.\n\\* expiring -\n\nA payment source that is expiring (like card's status based on its expiry date).\n\\* valid -\n\nA payment source that is valid and active.\n",
                "enum" : [ "valid", "expiring", "expired", "invalid" ],
                "example" : null
              },
              "reference_id" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The reference id. In the case of Amazon and PayPal this will be the 'billing agreement id'. For GoCardless direct debit this will be 'mandate id'. In the case of card payments this will be the identifier provided by the gateway/card vault for the specific payment method resource.\n**Note:**\nThis is not the one time temporary token provided by gateways like Stripe.\n",
                "maxLength" : 200,
                "example" : null
              }
            },
            "required" : [ "gateway", "reference_id", "status", "type" ],
            "example" : null
          },
          "invoice_notes" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "A customer-facing note added to all invoices associated with this API resource. This note becomes one among [all the notes](/docs/api/invoices/invoice-object#notes)\ndisplayed on the invoice PDF.\n",
            "maxLength" : 2000,
            "example" : null
          },
          "account_credits" : {
            "type" : "integer",
            "format" : "int64",
            "deprecated" : false,
            "description" : "Promotional credits balance of this customer\n",
            "minimum" : 0,
            "example" : null
          },
          "refundable_credits" : {
            "type" : "integer",
            "format" : "int64",
            "deprecated" : false,
            "description" : "Refundable credits balance of this customer\n",
            "minimum" : 0,
            "example" : null
          },
          "excess_payments" : {
            "type" : "integer",
            "format" : "int64",
            "deprecated" : false,
            "description" : "Total unused payments associated with the customer\n",
            "minimum" : 0,
            "example" : null
          },
          "meta_data" : {
            "type" : "object",
            "additionalProperties" : true,
            "deprecated" : false,
            "description" : "A set of key-value pairs stored as additional information for the customer. \\[Learn more\\](/docs/api/v1/customers) .\n",
            "example" : null
          }
        },
        "required" : [ "account_credits", "allow_direct_debit", "auto_collection", "created_at", "excess_payments", "id", "refundable_credits" ],
        "example" : null
      },
      "CustomerChangedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              }
            },
            "required" : [ "card", "customer" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "CustomerCreatedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              }
            },
            "required" : [ "card", "customer" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "CustomerDeletedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              },
              "subscriptions" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/Subscription"
                },
                "example" : null
              }
            },
            "required" : [ "card", "customer", "subscriptions" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "Download" : {
        "type" : "object",
        "description" : "<div class=\"api-description\"><p class=\"mb-2\">Requesting to download a file through this API will return the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">download_url</code> attribute as the response. This attribute will contain a URL that will allow the requested content to be downloaded.</p></div>",
        "properties" : {
          "download_url" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The URL at which the file is available for download.\n",
            "maxLength" : 3500,
            "example" : null
          },
          "valid_till" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">The time until which the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">download_url</code>\nis valid.</p>",
            "example" : null
          }
        },
        "required" : [ "download_url", "valid_till" ],
        "example" : null
      },
      "EntityType" : {
        "type" : "string",
        "deprecated" : false,
        "enum" : [ "customer", "subscription", "transaction", "plan", "addon", "order", "business_entity" ],
        "example" : null
      },
      "Estimate" : {
        "type" : "object",
        "description" : "Estimates, as the name implies, can be used to find out the estimate for performing an operation as against performing the operation itself. i.e Say you want to create a new subscription or update an existing one, using the estimate API one can deduce the details like how much money the customer needs to be charged for this operation, when it should be collected, the state the subscription would be in etc.\n**Note:**\n\n* Invoking these APIs do not perform the actual operation but just generates an estimate.\n* Prorated Credits and [Promotional Credits](https://www.chargebee.com/docs/account-credits.html) are not taken into account while generating the estimate.\n",
        "properties" : {
          "created_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "The time at which this estimate got generated\n",
            "example" : null
          },
          "recurring" : {
            "type" : "boolean",
            "default" : true,
            "deprecated" : false,
            "description" : "Whether or not the estimate for the invoice is recurring. Will be 'true' or 'false' for subscription related estimates.\n",
            "example" : null
          },
          "subscription_id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Applicable only for subsctiption related estimates. The identifier of the subscription this estimate belongs to.\n",
            "maxLength" : 100,
            "example" : null
          },
          "subscription_status" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Applicable only for subsctiption related estimates. The post-operation status of the subscription.\n\\* in_trial -\n\nThe subscription is in trial.\n\\* active -\n\nThe subscription is active and will be charged for automatically based on the items in it.\n\\* non_renewing -\n\nThe subscription will be canceled at the end of the current term.\n\\* cancelled -\n\nThe subscription has been canceled and is no longer in service.\n\\* future -\n\nThe subscription is scheduled to start at a future date.\n",
            "enum" : [ "future", "in_trial", "active", "non_renewing", "cancelled", "transferred" ],
            "example" : null
          },
          "term_ends_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Applicable only for subsctiption related estimates. End of the current billing term\n",
            "example" : null
          },
          "collect_now" : {
            "type" : "boolean",
            "deprecated" : false,
            "description" : "'true' means the estimate amount needs to be collected immediately, whereas 'false' means the estimate amount needs to be collected at the term-end\n",
            "example" : null
          },
          "price_type" : {
            "type" : "string",
            "default" : "tax_exclusive",
            "deprecated" : false,
            "description" : "The price type of the invoice.\n\\* tax_inclusive -\n\nAll amounts in the document are inclusive of tax.\n\\* tax_exclusive -\n\nAll amounts in the document are exclusive of tax.\n",
            "enum" : [ "tax_exclusive", "tax_inclusive" ],
            "example" : null
          },
          "amount" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "deprecated" : false,
            "description" : "Total estimate amount in cents. The 'collect_now' field indicates when this amount needs to be collected.\n",
            "minimum" : 0,
            "example" : null
          },
          "credits_applied" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "deprecated" : false,
            "description" : "credits applied to this invoice in cents.\n",
            "minimum" : 0,
            "example" : null
          },
          "amount_due" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "deprecated" : false,
            "description" : "Invoice amount due in cents\n",
            "minimum" : 0,
            "example" : null
          },
          "sub_total" : {
            "type" : "integer",
            "format" : "int64",
            "deprecated" : false,
            "description" : "The sub-total amount\n",
            "minimum" : 0,
            "example" : null
          },
          "line_items" : {
            "type" : "array",
            "deprecated" : false,
            "description" : "The list of items in this estimate\n",
            "items" : {
              "type" : "object",
              "deprecated" : false,
              "properties" : {
                "date_from" : {
                  "type" : "integer",
                  "format" : "unix-time",
                  "deprecated" : false,
                  "description" : "Start date of this line item.\n",
                  "example" : null
                },
                "date_to" : {
                  "type" : "integer",
                  "format" : "unix-time",
                  "deprecated" : false,
                  "description" : "End date of this line item.\n",
                  "example" : null
                },
                "unit_amount" : {
                  "type" : "integer",
                  "format" : "int64",
                  "deprecated" : false,
                  "description" : "Unit amount of the line item.\n",
                  "example" : null
                },
                "quantity" : {
                  "type" : "integer",
                  "format" : "int32",
                  "default" : 1,
                  "deprecated" : false,
                  "description" : "[Quantity of the recurring item](/docs/api/v2/pcv-1/invoices/invoice-object#line_items_quantity)\nwhich is represented by this line item.\n",
                  "example" : null
                },
                "amount" : {
                  "type" : "integer",
                  "format" : "int64",
                  "deprecated" : false,
                  "description" : "Total amount of this line item. Typically equals to unit amount x quantity\n",
                  "example" : null
                },
                "is_taxed" : {
                  "type" : "boolean",
                  "default" : false,
                  "deprecated" : false,
                  "description" : "Specifies whether this line item is taxed or not\n",
                  "example" : null
                },
                "tax" : {
                  "type" : "integer",
                  "format" : "int64",
                  "default" : 0,
                  "deprecated" : false,
                  "description" : "The tax amount charged for this item\n",
                  "minimum" : 0,
                  "example" : null
                },
                "tax_rate" : {
                  "type" : "number",
                  "format" : "double",
                  "deprecated" : false,
                  "description" : "Rate of tax used to calculate tax for this lineitem\n",
                  "maximum" : 100,
                  "minimum" : 0,
                  "example" : null
                },
                "reference_line_item_id" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Invoice Reference Line Item ID\n",
                  "maxLength" : 40,
                  "example" : null
                },
                "description" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Detailed description about this line item.\n",
                  "maxLength" : 250,
                  "example" : null
                },
                "type" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Type of this lineitem. This along with 'entity_type' and 'entity_id' attributes consitutes the meta information of this lineitem.\n\\* setup_charge -\n\nRepresents the 'setup charge' lineitem in invoice - which is a one-time charge included only in the first invoice of the subscription\n\\* prorated_charge -\n\nRepresents the 'charge' lineitems that are pro-rated. The 'entity_type' attribute further identifies the modelled entity (plan / addon etc) this 'prorated charge' is based on\n\\* charge -\n\nRepresents the 'charge' lineitems in invoice. The 'entity_type' attribute further identifies the modelled entity (plan / addon etc) this charge is based on\n",
                  "enum" : [ "charge", "prorated_charge", "setup_charge" ],
                  "example" : null
                },
                "entity_type" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Specifies the modelled entity this line item is based on.\n\\* addon -\n\nIndicates that this lineitem is based on 'Addon' entity. The 'entity_id' attribute specifies the [addon](/docs/api/v1/addons/addon-object)\nid\n\\* plan -\n\nIndicates that this lineitem is based on 'Plan' entity. The 'entity_id' attribute specifies the [plan](/docs/api/v1/plans/plan-object)\nid\n\\* adhoc -\n\nIndicates that this lineitem is not modelled. i.e created adhoc. So the 'entity_id' attribute will be null in this case\n",
                  "enum" : [ "plan", "addon", "adhoc" ],
                  "example" : null
                },
                "entity_id" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "The identifier of the modelled entity this line item is based on. Will be null for 'adhoc' entity type\n",
                  "maxLength" : 100,
                  "example" : null
                }
              },
              "required" : [ "date_from", "date_to", "description", "entity_type", "is_taxed", "type", "unit_amount" ],
              "example" : null
            },
            "example" : null
          },
          "discounts" : {
            "type" : "array",
            "deprecated" : false,
            "description" : "The list of discounts applied to this estimate\n",
            "items" : {
              "type" : "object",
              "deprecated" : false,
              "properties" : {
                "amount" : {
                  "type" : "integer",
                  "format" : "int64",
                  "deprecated" : false,
                  "description" : "The amount deducted. The format of this value depends on the [kind of currency](/docs/api/currencies)\n.\n",
                  "minimum" : 0,
                  "example" : null
                },
                "description" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Description for this deduction.\n",
                  "maxLength" : 250,
                  "example" : null
                },
                "type" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Type of this Discount lineitem\n\\* account_credits -\n\nRepresents the Promotional Credits item in invoice. The 'entity_id' attribute will be null in this case\n\\* credit_adjustment -\n\nRepresents the Prorated Credits items in invoice. The 'entity_id' attribute will be null in this case\n\\* coupon -\n\nRepresents the coupon discount items in invoice. Further the 'entity_id' attribute specifies the [coupon](/docs/api/coupons/coupon-object)\nid this discount is based on\n",
                  "enum" : [ "coupon", "credit_adjustment", "account_credits" ],
                  "example" : null
                },
                "entity_id" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "<p class=\"mb-2\">When the deduction is due to a <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">coupon</code>\n, then this is the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">id</code>\nof the coupon.</p>",
                  "maxLength" : 100,
                  "example" : null
                }
              },
              "required" : [ "amount", "type" ],
              "example" : null
            },
            "example" : null
          },
          "taxes" : {
            "type" : "array",
            "deprecated" : false,
            "description" : "The list of taxes applied to this estimate\n",
            "items" : {
              "type" : "object",
              "deprecated" : false,
              "properties" : {
                "amount" : {
                  "type" : "integer",
                  "format" : "int64",
                  "deprecated" : false,
                  "description" : "The tax amount.\n",
                  "minimum" : 0,
                  "example" : null
                },
                "description" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Description of the tax item.\n",
                  "maxLength" : 250,
                  "example" : null
                }
              },
              "required" : [ "amount" ],
              "example" : null
            },
            "example" : null
          }
        },
        "required" : [ "amount", "amount_due", "collect_now", "created_at", "credits_applied", "price_type", "recurring", "sub_total" ],
        "example" : null
      },
      "Event" : {
        "type" : "object",
        "description" : "Whenever any important changes happen in your Chargebee site, they are recorded as Events. Event contains data about affected resources and additional details such as when it occurred.\n\nYou could listen to the events in your application by configuring Webhook url and handle it based on the type of event. We post the event data as request body with content type set as **application/json** to your webhook url.\n\nFor example, when a subscription is cancelled due to non payment, an event **\"subscription_cancelled\"** is recorded and fired to your webhook url.\n\nTo mark a webhook notification successful, we expect the [HTTP status code](http://en.wikipedia.org/wiki/List_of_HTTP_status_codes) to be 200 from your webhook url. If we don't receive 200 response code, we retry calling your webhook with exponential time interval for next 2 days. You could also try resending it from our admin console.  \n**API Version:**\nChargebee supports multiple API versions now. The *api_version* attribute indicates the API version based on which the event *content* is structured. While processing webhooks, ensure the *api_version* is same as the API version used by your webhook server's client library.\n\n#### Securing your Webhook URL:\n\nYou can have **basic authentication**\nfor the webhook url.\n\n* In the Webhook Settings page (*Settings \\> Webhooks* ), check the option *My webhook URL is protected by basic authentication*.\n* Enter *Username* and *Password* and click Update Webhook URL OR Generate a random key and have it as part of your webhook url eg. http://yourapp.com/chargebee-webhook/cuktqaem0i2fkd5jt9cdtojcn9cvb3Y\n\nIn addition to securing your webhook, you can always fetch the event from Chargebee using [Retrieve an Event](/docs/api/v1/events/retrieve-an-event)\nAPI call.\n\nEnsure that you keep the secrets secret :)\n",
        "properties" : {
          "id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Uniquely identifies a event\n",
            "maxLength" : 40,
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Timestamp indicating when this event had occurred.\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "default" : "none",
            "deprecated" : false,
            "description" : "Source of the event\n\\* hosted_page -\n\nOperation made through the Hosted Pages\n\\* admin_console -\n\nOperation made through the Chargebee admin UI\n\\* portal -\n\nOperation made through [Self-Serve Portal](https://www.chargebee.com/docs/2.0/inapp-self-serve-portal.html)\n\\* system -\n\nOperation that are triggered by ChargeBee System\n\\* scheduled_job -\n\nOperation made through the Scheduled Jobs\n\\* none -\n\nIf no source can be identified for an operation\n\\* api -\n\nOperation made through the API\n\\* bulk_operation -\n\nOperation that are triggerd through bulk operation.\n\\* migration -\n\nDeprecated\n\\* js_api -\n\nOperation made through the JS API\n",
            "enum" : [ "admin_console", "api", "scheduled_job", "hosted_page", "portal", "system", "none", "js_api", "migration", "bulk_operation" ],
            "example" : null
          },
          "user" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">The &quot;user&quot; that triggered the event. The value depends on the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">source</code>\nattribute:</p>\n<ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">When <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">source</code> is <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">admin_console</code>: the email address of the user that triggered the event.</li>\n<li class=\"text-base leading-relaxed\">When <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">source</code> is <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">api</code>, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">js_api</code> or <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">bulk_operation</code>: the <a href=\"https://www.chargebee.com/docs/api_keys.html#create-an-api-key\" target=\"_blank\" rel=\"noopener noreferrer\">name</a> of the API key that was used to trigger the event.</li>\n<li class=\"text-base leading-relaxed\">When the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">source</code> is <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">external_service</code>: the name of the service that called our webhook. Eg. <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">ADYEN</code>, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">STRIPE</code>, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AMAZON_PAYMENTS</code> etc.</li>\n<li class=\"text-base leading-relaxed\">When the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">source</code> is <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">hosted_page</code> or <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">portal</code>: the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">user</code> attribute is not passed.</li>\n</ul>",
            "maxLength" : 150,
            "example" : null
          },
          "webhooks" : {
            "type" : "array",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">Array of webhook call statuses: one for each of the webhooks configured for the site. This object is only available after the first webhook call for the event has completed or timed out. Also, creation/updation of the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">webhook</code>\nobject data is a queued operation and hence there can be an additional delay of up to 5 seconds.</p>",
            "items" : {
              "type" : "object",
              "deprecated" : false,
              "properties" : {
                "id" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Uniquely identifies a webhook\n",
                  "maxLength" : 40,
                  "example" : null
                },
                "webhook_status" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "<ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\"><strong class=\"font-semibold\">When the event resource is retrieved via API:</strong> Represents the status of the webhook call made to this webhook.</li>\n<li class=\"text-base leading-relaxed\"><strong class=\"font-semibold\">When the event resource is passed as part of a webhook call:</strong> The <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">webhooks</code> object is unavailable on the first webhook call for the event. For subsequent calls, this attribute holds the status from after the last retry.</li>\n</ul>\n* scheduled - <p class=\"mb-2\">Webhook call has been scheduled.</p>\n* not_applicable - <p class=\"mb-2\">Webhook call is not applicable for this event.</p>\n* skipped - <p class=\"mb-2\">Skipped as specified in request</p>\n* failed - <p class=\"mb-2\">Webhook call has been suspended after the all retries have resulted in failure.</p>\n* re_scheduled - <p class=\"mb-2\">Webhook call has been rescheduled due failure(s) in previous call(s)</p>\n* not_configured - <p class=\"mb-2\">Webhook was not configured when this event occurred</p>\n* succeeded - <p class=\"mb-2\">Webhook call was successful.</p>",
                  "enum" : [ "not_configured", "scheduled", "succeeded", "re_scheduled", "failed", "skipped", "not_applicable", "disabled", "rate_limited" ],
                  "example" : null
                }
              },
              "required" : [ "id", "webhook_status" ],
              "example" : null
            },
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The types of event provided by chargebee. Refer [event types](/docs/api/v1/events/event-types)\nfor all the event types provided by us currently.\n\\* subscription_cancelling -\n\nSent when the customer's subscription is nearing it's scheduled cancellation date.\n\\* card_deleted -\n\nSent when a card is deleted for a customer\n\\* card_expired -\n\nSent when a card for a customer is expired\n\\* customer_deleted -\n\nSent when a customer is deleted\n\\* subscription_cancelled -\n\nSent when the subscription gets cancelled. If cancelled due to non payment or card not present, the subscription will have the possible reason as 'cancel_reason'.\n\\* subscription_scheduled_cancellation_removed -\n\nSent when scheduled cancellation is removed for the subscription.\n\\* customer_changed -\n\nSent when a customer is changed\n\\* invoice_deleted -\n\nEvent triggered when an invoice is deleted.\n\\* subscription_shipping_address_updated -\n\nTriggered when shipping address is added or updated for a subscription.\n\\* subscription_cancellation_scheduled -\n\nSent when subscription is scheduled to cancel at end of current term\n\\* subscription_created -\n\nSent when a new subscription is created.\n\\* card_updated -\n\nSent when the card is updated for a customer.\n\\* payment_initiated -\n\nSent when a payment is initiated via direct debit\n\\* subscription_changed -\n\nSent after the subscription's recurring items have been changed\n\\* customer_created -\n\nSent when a customer is created. This event happens when only a new customer is created or when a customer is automatically created during new subscription creation.\n\\* subscription_deleted -\n\nSent when a subscription has been deleted\n\\* subscription_trial_ending -\n\nSent when the customer's trial period is about to end.\n\\* refund_initiated -\n\nSent when a refund is initiated via direct debit\n\\* transaction_deleted -\n\nTriggered when a transaction is deleted.\n\\* card_added -\n\nSent when a card is added for a customer.\n\\* payment_succeeded -\n\nSent when the payment is successfully collected\n\\* payment_failed -\n\nSent when attempt to charge customer's credit card fails\n\\* card_expiring -\n\nSent when the customer's credit card is expiring soon. Sent 30 days before the expiry date.\n\\* subscription_renewed -\n\nSent when the subscription is renewed from the current term.\n\\* subscription_activated -\n\nSent after the subscription has been moved from trial to active state\n\\* subscription_reactivated -\n\nSent when the subscription is moved from cancelled state to active or in_trial state\n\\* subscription_trial_extended -\n\nTrial Extension\n\\* transaction_updated -\n\nTriggered when a transaction is updated. E.g. (1) When a transaction is removed, (2) or when an excess payment is applied on an invoice, (3) or when amount_capturable gets updated.\n\\* subscription_renewal_reminder -\n\nSent before each subscription's renewal based on plan's period\n\\* invoice_updated -\n\nTriggered when the invoice's shipping/billing address is updated, if the invoice is voided, or when the amount due is modified due to payments applied/removed.\n\\* payment_refunded -\n\nSent when a payment refund is made\n\\* subscription_started -\n\nSent when a 'future' subscription gets started at the scheduled date.\n\\* invoice_generated -\n\nEvent triggered when a new invoice is generated. In case of metered billing, this event is triggered when a \"Pending\" invoice is closed.\n\\* invoice_created -\n\nEvent triggered (in the case of metered billing) when a \"Pending\" invoice is created that has usage related charges or line items to be added, before being closed. This is triggered only when the \"Notify for Pending Invoices\" option is enabled.\n\\* transaction_created -\n\nTriggered when a transaction is recorded\n",
            "enum" : [ "customer_created", "customer_changed", "customer_deleted", "subscription_created", "subscription_started", "subscription_trial_ending", "subscription_activated", "subscription_changed", "subscription_trial_extended", "subscription_cancellation_scheduled", "subscription_cancelling", "subscription_cancelled", "subscription_reactivated", "subscription_renewed", "subscription_scheduled_cancellation_removed", "subscription_shipping_address_updated", "subscription_deleted", "invoice_created", "invoice_generated", "invoice_updated", "invoice_deleted", "subscription_renewal_reminder", "transaction_created", "transaction_updated", "transaction_deleted", "payment_succeeded", "payment_failed", "payment_refunded", "payment_initiated", "refund_initiated", "card_added", "card_updated", "card_expiring", "card_expired", "card_deleted" ],
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "default" : "v1",
            "deprecated" : false,
            "description" : "The Chargebee API Version used for rendering this event content. While processing webhooks, ensure this version is same as the API version used by your webhook server's client library.\n\\* v1 -\n\nChargebee API version V1\n\\* v2 -\n\nChargebee API version V2\n",
            "enum" : [ "v1", "v2" ],
            "example" : null
          },
          "content" : {
            "type" : "object",
            "additionalProperties" : true,
            "deprecated" : false,
            "description" : "The JSON data associated with this event. Has resources (\\*subscription\\* , \\*invoice\\* etc) based on the \\[event type\\](/docs/api/v1/events/event-types). These resources are structured based on the Chargebee API version indicated by the \\*api_version\\* attribute.\n",
            "example" : null
          }
        },
        "required" : [ "content", "id", "occurred_at", "source" ],
        "example" : null
      },
      "EventType" : {
        "type" : "string",
        "deprecated" : false,
        "enum" : [ "customer_created", "customer_changed", "customer_deleted", "subscription_created", "subscription_started", "subscription_trial_ending", "subscription_activated", "subscription_changed", "subscription_trial_extended", "subscription_cancellation_scheduled", "subscription_cancelling", "subscription_cancelled", "subscription_reactivated", "subscription_renewed", "subscription_scheduled_cancellation_removed", "subscription_shipping_address_updated", "subscription_deleted", "invoice_created", "invoice_generated", "invoice_updated", "invoice_deleted", "subscription_renewal_reminder", "transaction_created", "transaction_updated", "transaction_deleted", "payment_succeeded", "payment_failed", "payment_refunded", "payment_initiated", "refund_initiated", "card_added", "card_updated", "card_expiring", "card_expired", "card_deleted" ],
        "example" : null
      },
      "Gateway" : {
        "type" : "string",
        "deprecated" : false,
        "enum" : [ "chargebee", "stripe", "braintree", "authorize_net", "paypal_pro", "pin", "eway", "eway_rapid", "worldpay", "balanced_payments", "beanstream", "bluepay", "elavon", "first_data_global", "hdfc", "migs", "nmi", "ogone", "paymill", "paypal_payflow_pro", "sage_pay", "tco", "wirecard", "not_applicable" ],
        "example" : null
      },
      "HostedPage" : {
        "type" : "object",
        "description" : "Hosted pages are the easiest and most secure way to integrate chargebee with your website. By using hosted pages, you can avoid the sensitive card information passing through your server and be compliant with most of the PCI DSS requirements.\n\nWhen you request for a hosted page, a **secure** and **unique URL** will be returned which you could either embed or redirect depending upon the embed parameter value that you had passed.\n\nSpecifying **\"embed\"** parameter as **true** allows you to embed the \"hosted page\" in an iframe in your own website. This helps you provide the best experience to your user as they do not have to leave your website to provide card information. There are a few limitations:\n\n* Your site URL must be embedded with HTTPS.\n* Set the appropriate height and width for the iframe to avoid scrolling.\n\nTo use the hosted pages, you must configure **Redirect URL** in the Chargebee web interface under **Hosted Pages Settings** \\> **Configuration**. The configured redirect URL will be called with the following parameters after user had submitted the page.\n\n* **id** - unique identifier of the hosted page resource\n* **state** - succeeded, failed or cancelled\n\nAfter the **Redirect URL** is called by Chargebee with the above parameters, the details of the hosted page can be fetched using [Retrieve a hosted page](/docs/api/v1/hosted_pages/retrieve-a-hosted-page) API. The **content** attribute will have the details about the customer, subscription, card and invoice based on the type of the hosted page.\n\n[Checkout New Subscription](/docs/api/v1/hosted_pages/checkout-new-subscription):\n\n* [Customer](/docs/api/v1/customers/customer-object) - The details about the new customer created.\n* [Subscription](/docs/api/v1/subscriptions/subscription-object) - The details about the new subscription created.\n* [Card](/docs/api/v1/cards/card-object) - The details about the card provided while subscribing.\n* [Invoice](/docs/api/v1/invoices/invoice-object) - The details about the invoice, if one is generated.\n\n[Checkout Existing Subscription](/docs/api/v1/hosted_pages/checkout-existing-subscription):\n\n* [Customer](/docs/api/v1/customers/customer-object) - The updated details of the customer.\n* [Subscription](/docs/api/v1/subscriptions/subscription-object) - The updated details of the subscription.\n* [Card](/docs/api/v1/cards/card-object) - The details about the card provided while subscribing.\n* [Invoice](/docs/api/v1/invoices/invoice-object) - The details about the invoice, if one is generated.\n\n[Update Payment Method](/docs/api/v1/hosted_pages/update-payment-method):\n\n* [Customer](/docs/api/v1/customers/customer-object) - The details about the customer for whom the card was updated.\n* [Card](/docs/api/v1/cards/card-object) - The details about the updated card. It will be present only if the type of payment method is card.\n\nWhen an embedded hosted page is cancelled by your end user, the **content** attribute will have the unmodified details of customer, subscription and card resources.\n",
        "properties" : {
          "id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Unique identifier generated for each hosted page requested.\n",
            "maxLength" : 70,
            "example" : null
          },
          "type" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Type of the requested hosted page.\n\\* checkout_onetime_addons -\n\nCheckout One time Addons\n\\* update_payment_method -\n\nUpdate Payment Method for a Customer\n\\* checkout_new -\n\nCheckout new Subscription\n\\* update_card -\n\nUpdate Card for a Customer\n\\* checkout_one_time -\n\nCheckout one time\n\\* checkout_onetime_charge -\n\nCheckout One time Charge\n\\* checkout_existing -\n\nCheckout existing Subscription\n",
            "enum" : [ "checkout_new", "checkout_existing", "update_card", "checkout_onetime_charge", "checkout_onetime_addons", "update_payment_method", "checkout_one_time" ],
            "example" : null
          },
          "url" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Unique URL for the hosted page that will be included in your website.\n",
            "maxLength" : 250,
            "example" : null
          },
          "state" : {
            "type" : "string",
            "default" : "created",
            "deprecated" : false,
            "description" : "Indicating the current state of the hosted page resource.\n\\* created -\n\nIndicates the hosted page is just created.\n\\* requested -\n\nIndicates the hosted page is requested by the website\n\\* cancelled -\n\nIndicates the page is cancelled by the end user after requesting it.\n\\* succeeded -\n\nIndicates the hosted page is successfully submitted by the user and response is sent to the return url.\n",
            "enum" : [ "created", "requested", "succeeded", "cancelled" ],
            "example" : null
          },
          "pass_thru_content" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "You can pass through any content specific to the hosted page request and get it back after user had submitted the hosted page.\n",
            "maxLength" : 2048,
            "example" : null
          },
          "embed" : {
            "type" : "boolean",
            "default" : true,
            "deprecated" : false,
            "description" : "If true then hosted page formatted to be shown in iframe. If false, it is formatted to be shown as a separate page.\n\n**Note**\n: For [in-app](https://www.chargebee.com/docs/checkout-v3.html)\ncheckout, default is false.\n",
            "example" : null
          },
          "created_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Indicates when this hosted page url is generated.\n",
            "example" : null
          },
          "expires_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Indicates when this hosted page url will expire. After this, the hosted page cannot be accessed.\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "additionalProperties" : true,
            "deprecated" : false,
            "description" : "This attribute will be returned only during retrieve hosted page API call and also the retrieved hosted page resource state should be either in \"succeeded\" or \"cancelled\" state. If hosted page state is \"succeeded\", then the subscription, customer, card \\\\\\& invoice(optional) resources during checkout can be obtained. If hosted page is state is \"cancelled\", then it will be empty i.e no information about checkout.\n",
            "example" : null
          }
        },
        "required" : [ "content", "embed" ],
        "example" : null
      },
      "Invoice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Invoices are statements containing charges, adjustments and any discounts for a subscription specific to a term. For every subscription a draft invoice (upcoming invoice) is used to track all the charges, credits and adjustments for the current term.\n\nGenerally, an invoice is closed at start of the next term. However, cancellation and other such operations on subscription may trigger premature closing. While closing the invoice, in addition to recurring charges, credits and coupons are applied to calculate the final amount that is due.\n\nWhen invoice is closed, an attempt to charge the credit card is made. If the payment succeeds, it is marked as **paid** . If the payment fails, the invoice is marked as **payment_due** and retry settings are taken into account. If no retry attempts are configured, the invoice is marked as **not_paid** . If the amount due is zero or negative, the invoice is immediately marked as **paid** and the balance if any is carried forward to the next term of the invoice.  \n**Note:**\nIf *consolidated invoicing*\nis enabled, the attribute *invoice.subscription_id*\nshould **not**\nbe used (as it will not be present if the invoice has lines from multiple subscriptions). Instead to know the related subscriptions, their [line_items](/docs/api/invoices/invoice-object#line_items)\n*subscription_id*\nattribute should be referred.\n",
        "properties" : {
          "id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The invoice number. Acts as a identifier for invoice and typically generated sequentially.\n",
            "maxLength" : 50,
            "example" : null
          },
          "customer_id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The identifier of the customer this invoice belongs to.\n",
            "maxLength" : 50,
            "example" : null
          },
          "subscription_id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">The identifier of the subscription this invoice belongs to.\n<strong class=\"font-semibold\">Note</strong>:\nWhen consolidated invoicing is enabled, you have to refer to <a href=\"/docs/api/invoices/invoice-object#line_items\">line_items</a>\n<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">subscription_id</code>\nto identify the subscriptions associated with this invoice. However, it is important to avoid using this attribute if the invoice includes charges from multiple subscriptions, as it will be null in such cases.</p>",
            "maxLength" : 50,
            "example" : null
          },
          "recurring" : {
            "type" : "boolean",
            "default" : true,
            "deprecated" : false,
            "description" : "Boolean indicating whether this invoice belongs to a subscription\n",
            "example" : null
          },
          "status" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">Current status of this invoice.</p>\n* pending - <p class=\"mb-2\">The <a href=\"/docs/api/invoices/invoice-object#status\">invoice</a> is yet to be closed (sent for payment collection). An invoice is generated with this <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">status</code> when it has line items that belong to items that are <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">metered</code> or when the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">subscription.create_pending_invoices</code>attribute is set to <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">true</code>.\nThe <a href=\"/docs/api/v2/pcv-1/invoices/invoice-object#status\">invoice</a> is yet to be closed (sent for payment collection). All invoices are generated with this <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">status</code> when <a href=\"https://www.chargebee.com/docs/1.0/metered_billing.html\" target=\"_blank\">Metered Billing</a> is enabled for the site.</p>\n* not_paid - <p class=\"mb-2\">Indicates the payment is not made and all attempts to collect is failed.</p>\n* payment_due - <p class=\"mb-2\">Indicates the payment is not yet collected and is being retried as per retry settings.</p>\n* voided - <p class=\"mb-2\">Indicates a voided invoice.</p>\n* paid - <p class=\"mb-2\">Indicates a paid invoice.</p>",
            "enum" : [ "paid", "payment_due", "not_paid", "voided", "pending" ],
            "example" : null
          },
          "start_date" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Start date of the invoice.\n",
            "example" : null
          },
          "end_date" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">The document date displayed on the invoice PDF. By default, it has the same value as the effective date of the action that created the invoice (subscription creation, update, or invoice creation). This date can be backdated (set to a value in the past) while performing the actions. Backdating an invoice is done for reasons such as booking revenue for a previous date or when the subscription or non-recurring charge is effective as of a past date. However, if the invoice is created as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">pending</code>\n, and if the site is configured to set invoice dates to the date of closing, then upon invoice closure, this date is changed to the invoice closing date.</p>",
            "example" : null
          },
          "po_number" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Purchase Order Number for this invoice\n",
            "maxLength" : 100,
            "example" : null
          },
          "vat_number" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "VAT/ Tax registration number of the customer. [Learn more](https://www.chargebee.com/docs/tax.html#capture-tax-registration-number)\n",
            "maxLength" : 20,
            "example" : null
          },
          "price_type" : {
            "type" : "string",
            "default" : "tax_exclusive",
            "deprecated" : false,
            "description" : "The price type of the invoice.\n\\* tax_inclusive -\n\nAll amounts in the document are inclusive of tax.\n\\* tax_exclusive -\n\nAll amounts in the document are exclusive of tax.\n",
            "enum" : [ "tax_exclusive", "tax_inclusive" ],
            "example" : null
          },
          "currency_code" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The currency code (ISO 4217 format) for the invoice\n",
            "maxLength" : 3,
            "example" : null
          },
          "tax" : {
            "type" : "integer",
            "format" : "int64",
            "deprecated" : false,
            "description" : "Total tax amount for this invoice\n",
            "minimum" : 0,
            "example" : null
          },
          "sub_total" : {
            "type" : "integer",
            "format" : "int64",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">The sum of all the line item amounts minus the sum of all line item discounts. In other words, this is the sum of all <code><a href=\"/docs/api/invoices/invoice-object#line_items\">line_items[]</a>.amount</code></p>\n<ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">the sum of all <code><a href=\"/docs/api/invoices/invoice-object#line_item_discounts\">line_item_discounts[].discount_amount</a></code>.</li>\n</ul>",
            "minimum" : 0,
            "example" : null
          },
          "amount" : {
            "type" : "integer",
            "format" : "int64",
            "deprecated" : false,
            "description" : "Invoiced amount displayed in cents; that is, a decimal point is not present between the whole number and the decimal part. For example, $499.99 is displayed as 49999, and so on.\n",
            "minimum" : 0,
            "example" : null
          },
          "amount_due" : {
            "type" : "integer",
            "format" : "int64",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">The unpaid amount that is due on the invoice. This is calculated as: <code><a href=\"/docs/api/invoices/invoice-object#total\">total</a></code></p>\n<ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">\n<code><a href=\"/docs/api/invoices/invoice-object#amount_paid\">amount_paid</a></code>\n</li>\n<li class=\"text-base leading-relaxed\">sum of <code><a href=\"/docs/api/invoices/invoice-object#applied_credits\">applied_credits</a>.applied_amount</code></li>\n<li class=\"text-base leading-relaxed\">sum of <code><a href=\"/docs/api/invoices/invoice-object#adjustment_credit_notes\">adjustment_credit_notes</a>.cn_total</code></li>\n<li class=\"text-base leading-relaxed\">sum of <code><a href=\"/docs/api/invoices/invoice-object#linked_taxes_withheld\">linked_taxes_withheld</a>.amount</code>.</li>\n</ul>",
            "minimum" : 0,
            "example" : null
          },
          "amount_adjusted" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "deprecated" : false,
            "description" : "Total adjustments made against this invoice.\n",
            "minimum" : 0,
            "example" : null
          },
          "amount_paid" : {
            "type" : "integer",
            "format" : "int64",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">Payments collected successfully for the invoice. This is the sum of <code><a href=\"/docs/api/invoices/invoice-object#linked_payments\">linked_payments[].txn_amount</a></code>\nfor all <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">linked_payments[]</code>\nthat have <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">txn_status</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">success</code>.</p>",
            "minimum" : 0,
            "example" : null
          },
          "paid_on" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Timestamp indicating the date \\& time this invoice got paid.\n",
            "example" : null
          },
          "credits_applied" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "deprecated" : false,
            "description" : "Total credits applied against this invoice.\n",
            "minimum" : 0,
            "example" : null
          },
          "dunning_status" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Current dunning status of the invoice.\n\\* success -\n\nPayment successfully collected during dunning process.\n\\* exhausted -\n\nMaximum number of attempts have been made.\n\\* in_progress -\n\nDunning is still in progress.\n\\* stopped -\n\nDunning has stopped for this invoice.\n",
            "enum" : [ "in_progress", "exhausted", "stopped", "success" ],
            "example" : null
          },
          "next_retry" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Timestamp indicating when will the next attempt to collect payment for this invoice occur.\n",
            "example" : null
          },
          "first_invoice" : {
            "type" : "boolean",
            "deprecated" : false,
            "description" : "Boolean indicating the first invoice raised for the subscription. In the case of a non-recurring invoice, it indicates the first invoice raised for the customer.\n",
            "example" : null
          },
          "line_items" : {
            "type" : "array",
            "deprecated" : false,
            "description" : "The list of line items for this invoice\n",
            "items" : {
              "type" : "object",
              "deprecated" : false,
              "properties" : {
                "date_from" : {
                  "type" : "integer",
                  "format" : "unix-time",
                  "deprecated" : false,
                  "description" : "Start date of this line item.\n",
                  "example" : null
                },
                "date_to" : {
                  "type" : "integer",
                  "format" : "unix-time",
                  "deprecated" : false,
                  "description" : "End date of this line item.\n",
                  "example" : null
                },
                "unit_amount" : {
                  "type" : "integer",
                  "format" : "int64",
                  "deprecated" : false,
                  "description" : "Unit amount of the line item.\n",
                  "example" : null
                },
                "quantity" : {
                  "type" : "integer",
                  "format" : "int32",
                  "default" : 1,
                  "deprecated" : false,
                  "description" : "[Quantity of the recurring item](/docs/api/v2/pcv-1/invoices/invoice-object#line_items_quantity)\nwhich is represented by this line item.\n",
                  "example" : null
                },
                "amount" : {
                  "type" : "integer",
                  "format" : "int64",
                  "deprecated" : false,
                  "description" : "Total amount of this line item. Typically equals to unit amount x quantity\n",
                  "example" : null
                },
                "is_taxed" : {
                  "type" : "boolean",
                  "default" : false,
                  "deprecated" : false,
                  "description" : "Specifies whether this line item is taxed or not\n",
                  "example" : null
                },
                "tax" : {
                  "type" : "integer",
                  "format" : "int64",
                  "default" : 0,
                  "deprecated" : false,
                  "description" : "The tax amount charged for this item\n",
                  "minimum" : 0,
                  "example" : null
                },
                "tax_rate" : {
                  "type" : "number",
                  "format" : "double",
                  "deprecated" : false,
                  "description" : "Rate of tax used to calculate tax for this lineitem\n",
                  "maximum" : 100,
                  "minimum" : 0,
                  "example" : null
                },
                "reference_line_item_id" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Invoice Reference Line Item ID\n",
                  "maxLength" : 40,
                  "example" : null
                },
                "description" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Detailed description about this line item.\n",
                  "maxLength" : 250,
                  "example" : null
                },
                "type" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Type of this lineitem. This along with 'entity_type' and 'entity_id' attributes consitutes the meta information of this lineitem.\n\\* setup_charge -\n\nRepresents the 'setup charge' lineitem in invoice - which is a one-time charge included only in the first invoice of the subscription\n\\* prorated_charge -\n\nRepresents the 'charge' lineitems that are pro-rated. The 'entity_type' attribute further identifies the modelled entity (plan / addon etc) this 'prorated charge' is based on\n\\* charge -\n\nRepresents the 'charge' lineitems in invoice. The 'entity_type' attribute further identifies the modelled entity (plan / addon etc) this charge is based on\n",
                  "enum" : [ "charge", "prorated_charge", "setup_charge" ],
                  "example" : null
                },
                "entity_type" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Specifies the modelled entity this line item is based on.\n\\* addon -\n\nIndicates that this lineitem is based on 'Addon' entity. The 'entity_id' attribute specifies the [addon](/docs/api/v1/addons/addon-object)\nid\n\\* adhoc -\n\nIndicates that this lineitem is not modelled. i.e created adhoc. So the 'entity_id' attribute will be null in this case\n\\* plan -\n\nIndicates that this lineitem is based on 'Plan' entity. The 'entity_id' attribute specifies the [plan](/docs/api/v1/plans/plan-object)\nid\n",
                  "enum" : [ "plan", "addon", "adhoc" ],
                  "example" : null
                },
                "entity_id" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "The identifier of the modelled entity this line item is based on. Will be null for 'adhoc' entity type\n",
                  "maxLength" : 100,
                  "example" : null
                }
              },
              "required" : [ "date_from", "date_to", "description", "entity_type", "is_taxed", "type", "unit_amount" ],
              "example" : null
            },
            "example" : null
          },
          "discounts" : {
            "type" : "array",
            "deprecated" : false,
            "description" : "The list of all deductions applied to the invoice.\n",
            "items" : {
              "type" : "object",
              "deprecated" : false,
              "properties" : {
                "amount" : {
                  "type" : "integer",
                  "format" : "int64",
                  "deprecated" : false,
                  "description" : "The amount deducted. The format of this value depends on the [kind of currency](/docs/api/currencies)\n.\n",
                  "minimum" : 0,
                  "example" : null
                },
                "description" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Description for this deduction.\n",
                  "maxLength" : 250,
                  "example" : null
                },
                "type" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Type of this Discount lineitem\n\\* account_credits -\n\nRepresents the Promotional Credits item in invoice. The 'entity_id' attribute will be null in this case\n\\* coupon -\n\nRepresents the coupon discount items in invoice. Further the 'entity_id' attribute specifies the [coupon](/docs/api/coupons/coupon-object)\nid this discount is based on\n\\* credit_adjustment -\n\nRepresents the Prorated Credits items in invoice. The 'entity_id' attribute will be null in this case\n",
                  "enum" : [ "coupon", "credit_adjustment", "account_credits" ],
                  "example" : null
                },
                "entity_id" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "<p class=\"mb-2\">When the deduction is due to a <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">coupon</code>\n, then this is the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">id</code>\nof the coupon.</p>",
                  "maxLength" : 100,
                  "example" : null
                }
              },
              "required" : [ "amount", "type" ],
              "example" : null
            },
            "example" : null
          },
          "taxes" : {
            "type" : "array",
            "deprecated" : false,
            "description" : "The list of taxes applied for this invoice\n",
            "items" : {
              "type" : "object",
              "deprecated" : false,
              "properties" : {
                "amount" : {
                  "type" : "integer",
                  "format" : "int64",
                  "deprecated" : false,
                  "description" : "The tax amount.\n",
                  "minimum" : 0,
                  "example" : null
                },
                "description" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Description of the tax item.\n",
                  "maxLength" : 250,
                  "example" : null
                }
              },
              "required" : [ "amount" ],
              "example" : null
            },
            "example" : null
          },
          "linked_transactions" : {
            "type" : "array",
            "deprecated" : false,
            "description" : "The list of transactions for this invoice\n",
            "items" : {
              "type" : "object",
              "deprecated" : false,
              "properties" : {
                "txn_id" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Uniquely identifies the transaction.\n",
                  "maxLength" : 40,
                  "example" : null
                },
                "applied_amount" : {
                  "type" : "integer",
                  "format" : "int64",
                  "deprecated" : false,
                  "description" : "The transaction amount applied to this invoice\n",
                  "minimum" : 0,
                  "example" : null
                },
                "applied_at" : {
                  "type" : "integer",
                  "format" : "unix-time",
                  "deprecated" : false,
                  "description" : "Timestamp at which the transaction is applied.\n",
                  "example" : null
                },
                "txn_type" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "<p class=\"mb-2\">Type of the transaction.</p>\n* payment_reversal - <p class=\"mb-2\">Indicates a reversal transaction.</p>\n* refund - <p class=\"mb-2\">The transaction represents a refund of <code><a href=\"/docs/api/transactions/transaction-object#amount\">amount</a></code>\nto the customer&#x27;s <code><a href=\"/docs/api/payment_sources\">payment_source</a></code>\n.</p>\n* authorization - <p class=\"mb-2\">The transaction represents an authorization for capturing the <code><a href=\"/docs/api/transactions/transaction-object#amount\">amount</a></code>\nfrom the customer&#x27;s <code><a href=\"/docs/api/payment_sources\">payment_source</a></code>\n.</p>\n* payment - <p class=\"mb-2\">The transaction represents capture of <code><a href=\"/docs/api/transactions/transaction-object#amount\">amount</a></code>\nfrom the customer&#x27;s <code><a href=\"/docs/api/payment_sources\">payment_source</a></code>\n.</p>",
                  "enum" : [ "authorization", "payment", "refund", "payment_reversal" ],
                  "example" : null
                },
                "txn_status" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "The status of this transaction.\n\\* success -\n\nThe transaction is successful.\n\\* in_progress -\n\nTransaction is being processed by the gateway. This typically happens for [direct debit transactions](https://www.chargebee.com/docs/direct-debit-payments.html)\nor, in case of cards, refund transactions. Such transactions can take 2-7 days to complete, depending on the gateway and payment method.\n\\* failure -\n\nTransaction failed. Refer the 'error_code' and 'error_text' fields to know the reason for failure\n\\* needs_attention -\n\nConnection with Gateway got terminated abruptly. So, status of this transaction needs to be resolved manually\n\\* timeout -\n\nTransaction failed because of Gateway not accepting the connection.\n\\* voided -\n\nThe transaction got voided or authorization expired at gateway.\n\\* late_failure -\n\nIndicates that a successful payment transaction has failed now due to a late failure notification from the payment gateway, typically caused by issues like insufficient funds or a closed bank account.\n",
                  "enum" : [ "in_progress", "success", "voided", "failure", "timeout", "needs_attention", "late_failure" ],
                  "example" : null
                },
                "txn_date" : {
                  "type" : "integer",
                  "format" : "unix-time",
                  "deprecated" : false,
                  "description" : "Indicates when this transaction occurred.\n",
                  "example" : null
                },
                "txn_amount" : {
                  "type" : "integer",
                  "format" : "int64",
                  "deprecated" : false,
                  "description" : "Total amount of the transaction\n",
                  "minimum" : 0,
                  "example" : null
                }
              },
              "required" : [ "applied_amount", "applied_at", "txn_id", "txn_type" ],
              "example" : null
            },
            "example" : null
          },
          "linked_orders" : {
            "type" : "array",
            "deprecated" : false,
            "description" : "The list of orders for this invoice\n",
            "items" : {
              "type" : "object",
              "deprecated" : false,
              "properties" : {
                "id" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Uniquely identifies the order. It is the api identifier for the order\n",
                  "maxLength" : 40,
                  "example" : null
                },
                "status" : {
                  "type" : "string",
                  "default" : "new",
                  "deprecated" : false,
                  "description" : "The status of this order.\n\\* cancelled -\n\nOrder has been cancelled. Applicable only if you are using Chargebee's legacy order management system\n\\* new -\n\nOrder has been created. Applicable only if you are using Chargebee's legacy order management system.\n\\* voided -\n\nOrder has been voided. Applicable only if you are using Chargebee's legacy order management system\n\\* complete -\n\nOrder has been processed successfully. Applicable only if you are using Chargebee's legacy order management system\n\\* processing -\n\nOrder is being processed. Applicable only if you are using Chargebee's legacy order management system\n",
                  "enum" : [ "new", "processing", "complete", "cancelled", "voided" ],
                  "example" : null
                },
                "reference_id" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Reference id can be used to map the orders in the shipping/order management application to the orders in ChargeBee. The reference_id generally is same as the order id in the third party application.\n",
                  "maxLength" : 50,
                  "example" : null
                },
                "fulfillment_status" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "The fulfillment status of an order as reflected in the shipping/order management application. Typical statuses include Shipped,Awaiting Shipment,Not fulfilled etc;\n",
                  "maxLength" : 50,
                  "example" : null
                },
                "batch_id" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Unique id to identify a group of orders.\n",
                  "maxLength" : 50,
                  "example" : null
                },
                "created_at" : {
                  "type" : "integer",
                  "format" : "unix-time",
                  "deprecated" : false,
                  "description" : "The time at which the order was created\n",
                  "example" : null
                }
              },
              "required" : [ "created_at", "id" ],
              "example" : null
            },
            "example" : null
          },
          "notes" : {
            "type" : "array",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">The list of <a href=\"https://www.chargebee.com/docs/2.0/invoice_notes.html\">notes</a>\nthat appear on the invoice PDF sent to the customer. Notes that come from a specific resource related to the invoice have <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">entity_type</code>\nand <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">entity_id</code>\ndefined. There can be up to two notes in this array for which <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">entity_type</code>\nand <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">entity_id</code>\nare not defined:</p>\n<ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\"><strong class=\"font-semibold\">Invoice-specific note:</strong> It is the note provided via the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">invoice_note</code> parameter for various endpoints in the API that also create invoices. For example, <a href=\"/docs/api/subscriptions/create-subscription-for-items#invoice_notes\">creating a subscription</a>, <a href=\"/docs/api/invoices/create-invoice-for-items-and-one-time-charges\">creating an invoice</a>, and <a href=\"/docs/api/invoices/close-a-pending-invoice#invoice_note\">closing a pending invoice</a>.</li>\n<li class=\"text-base leading-relaxed\"><strong class=\"font-semibold\">General note:</strong> This note is added to all invoices of the Chargebee site. You can <a href=\"https://www.chargebee.com/docs/invoice_notes.html#adding-general-notes\" target=\"_blank\">add/edit</a> this note in the Chargebee admin console.</li>\n</ul>",
            "items" : {
              "type" : "object",
              "deprecated" : false,
              "properties" : {
                "note" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Actual note.\n",
                  "maxLength" : 65000,
                  "example" : null
                },
                "entity_id" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Unique identifier of the entity.\n",
                  "maxLength" : 100,
                  "example" : null
                },
                "entity_type" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Type of entity to which the note belongs.\n\\* subscription -\n\nEntity that represents a subscription of customer.\n\\* customer -\n\nEntity that represents a customer.\n\\* addon -\n\nEntity that represents an addon.\n\\* plan -\n\nEntity that represents a plan.\n\\* coupon -\n\nEntity that represents a coupon.\n",
                  "enum" : [ "plan", "addon", "coupon", "subscription", "customer" ],
                  "example" : null
                }
              },
              "required" : [ "note" ],
              "example" : null
            },
            "example" : null
          },
          "shipping_address" : {
            "type" : "object",
            "deprecated" : false,
            "description" : "Shipping address for the invoice.\n",
            "properties" : {
              "first_name" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The first name of the contact.\n",
                "maxLength" : 150,
                "example" : null
              },
              "last_name" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The last name of the contact.\n",
                "maxLength" : 150,
                "example" : null
              },
              "email" : {
                "type" : "string",
                "format" : "email",
                "deprecated" : false,
                "description" : "The email address.\n",
                "maxLength" : 70,
                "example" : null
              },
              "company" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The company name.\n",
                "maxLength" : 250,
                "example" : null
              },
              "phone" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The phone number.\n",
                "maxLength" : 50,
                "example" : null
              },
              "line1" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Address line 1\n",
                "maxLength" : 150,
                "example" : null
              },
              "line2" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Address line 2\n",
                "maxLength" : 150,
                "example" : null
              },
              "line3" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Address line 3\n",
                "maxLength" : 150,
                "example" : null
              },
              "city" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The name of the city.\n",
                "maxLength" : 50,
                "example" : null
              },
              "state_code" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                "maxLength" : 50,
                "example" : null
              },
              "state" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The state/province name.\n",
                "maxLength" : 50,
                "example" : null
              },
              "country" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
                "maxLength" : 50,
                "example" : null
              },
              "zip" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Zip or postal code. The number of characters is validated according to the rules [specified here](https://chromium-i18n.appspot.com/ssl-address)\n.\n",
                "maxLength" : 20,
                "example" : null
              }
            },
            "example" : null
          },
          "billing_address" : {
            "type" : "object",
            "deprecated" : false,
            "description" : "Billing address for the invoice.\n",
            "properties" : {
              "first_name" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The first name of the billing contact.\n",
                "maxLength" : 150,
                "example" : null
              },
              "last_name" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The last name of the billing contact.\n",
                "maxLength" : 150,
                "example" : null
              },
              "email" : {
                "type" : "string",
                "format" : "email",
                "deprecated" : false,
                "description" : "The email address.\n",
                "maxLength" : 70,
                "example" : null
              },
              "company" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The company name.\n",
                "maxLength" : 250,
                "example" : null
              },
              "phone" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The phone number.\n",
                "maxLength" : 50,
                "example" : null
              },
              "line1" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Address line 1\n",
                "maxLength" : 150,
                "example" : null
              },
              "line2" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Address line 2\n",
                "maxLength" : 150,
                "example" : null
              },
              "line3" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Address line 3\n",
                "maxLength" : 150,
                "example" : null
              },
              "city" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The name of the city.\n",
                "maxLength" : 50,
                "example" : null
              },
              "state_code" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                "maxLength" : 50,
                "example" : null
              },
              "state" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "State or Province\n",
                "maxLength" : 50,
                "example" : null
              },
              "country" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
                "maxLength" : 50,
                "example" : null
              },
              "zip" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Zip or postal code. The number of characters is validated according to the rules [specified here](https://chromium-i18n.appspot.com/ssl-address)\n.\n",
                "maxLength" : 20,
                "example" : null
              }
            },
            "example" : null
          }
        },
        "required" : [ "currency_code", "customer_id", "id", "price_type", "recurring", "start_date", "status", "sub_total", "tax" ],
        "example" : null
      },
      "InvoiceCreatedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "invoice" : {
                "$ref" : "#/components/schemas/Invoice"
              }
            },
            "required" : [ "invoice" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "InvoiceDeletedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "invoice" : {
                "$ref" : "#/components/schemas/Invoice"
              }
            },
            "required" : [ "invoice" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "InvoiceGeneratedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "invoice" : {
                "$ref" : "#/components/schemas/Invoice"
              }
            },
            "required" : [ "invoice" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "InvoiceUpdatedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "invoice" : {
                "$ref" : "#/components/schemas/Invoice"
              }
            },
            "required" : [ "invoice" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "Order" : {
        "type" : "object",
        "description" : "The Order resource can be used for integrating Chargebee with any shipping/order management application (like ShipStation)\n\nOrders are not automatically generated or updated by Chargebee currently. They have to be created/updated either via api or merchant web console (a.k.a admin console).\n\nAn order can be created against an invoice irrespective of the status of the invoice and an invoice can have multiple orders associated with it.\n",
        "properties" : {
          "id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Uniquely identifies the order. It is the api identifier for the order\n",
            "maxLength" : 40,
            "example" : null
          },
          "invoice_id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The invoice number which acts as an identifier for invoice and is generated sequentially.\n",
            "maxLength" : 50,
            "example" : null
          },
          "status" : {
            "type" : "string",
            "default" : "new",
            "deprecated" : false,
            "description" : "The status of this order.\n\\* cancelled -\n\nOrder has been cancelled. Applicable only if you are using Chargebee's legacy order management system\n\\* new -\n\nOrder has been created. Applicable only if you are using Chargebee's legacy order management system.\n\\* voided -\n\nOrder has been voided. Applicable only if you are using Chargebee's legacy order management system\n\\* complete -\n\nOrder has been processed successfully. Applicable only if you are using Chargebee's legacy order management system\n\\* processing -\n\nOrder is being processed. Applicable only if you are using Chargebee's legacy order management system\n",
            "enum" : [ "new", "processing", "complete", "cancelled", "voided" ],
            "example" : null
          },
          "reference_id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Reference id can be used to map the orders in the shipping/order management application to the orders in ChargeBee. The reference_id generally is same as the order id in the third party application.\n",
            "maxLength" : 50,
            "example" : null
          },
          "fulfillment_status" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The fulfillment status of an order as reflected in the shipping/order management application. Typical statuses include Shipped,Awaiting Shipment,Not fulfilled etc;\n",
            "maxLength" : 50,
            "example" : null
          },
          "note" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The custom note for the order.\n",
            "maxLength" : 600,
            "example" : null
          },
          "tracking_id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The tracking id of the order.\n",
            "maxLength" : 50,
            "example" : null
          },
          "batch_id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Unique id to identify a group of orders.\n",
            "maxLength" : 50,
            "example" : null
          },
          "created_by" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The source (or the user) from where the order has been created.\n",
            "maxLength" : 50,
            "example" : null
          },
          "created_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "The time at which the order was created\n",
            "example" : null
          },
          "status_update_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "The time at which the order status was last updated.\n",
            "example" : null
          },
          "currency_code" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The currency code (ISO 4217 format) for the invoice\n",
            "maxLength" : 3,
            "example" : null
          }
        },
        "required" : [ "created_at", "id" ],
        "example" : null
      },
      "PaymentFailedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "transaction" : {
                "$ref" : "#/components/schemas/Transaction"
              },
              "invoice" : {
                "$ref" : "#/components/schemas/Invoice"
              },
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "subscription" : {
                "$ref" : "#/components/schemas/Subscription"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              }
            },
            "required" : [ "card", "customer", "invoice", "subscription", "transaction" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "PaymentInitiatedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "transaction" : {
                "$ref" : "#/components/schemas/Transaction"
              },
              "invoice" : {
                "$ref" : "#/components/schemas/Invoice"
              },
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "subscription" : {
                "$ref" : "#/components/schemas/Subscription"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              }
            },
            "required" : [ "card", "customer", "invoice", "subscription", "transaction" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "PaymentIntent" : {
        "type" : "object",
        "description" : "PaymentIntent is created to help you through the 3DS flow of collecting payment from your customer. It is necessary only for implementing 3DS flow using Chargebee.js\n",
        "properties" : {
          "id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Identifier for PaymentIntent.\n",
            "maxLength" : 150,
            "example" : null
          },
          "status" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Current status of PaymentIntent.\n\\* in_progress -\n\nStatus will be in_progress if the Active Payment Attempt state is in requires_identification, requires_challenge or requires_redirection.\n\\* authorized -\n\n3DS verification successfully completed.\n\\* inited -\n\nIntent is initialized.\n\\* consumed -\n\nIf any Chargebee operation such as create subscription etc. is completed using the intent, it will be in consumed state. Intent cannot be used if it's already in consumed state.\n\\* expired -\n\nIntent has expired, since it was not consumed before the predefined time-out.\n",
            "enum" : [ "inited", "in_progress", "authorized", "consumed", "expired" ],
            "example" : null
          },
          "currency_code" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The currency code (ISO 4217 format) of the amount used in transaction.\n",
            "maxLength" : 3,
            "example" : null
          },
          "amount" : {
            "type" : "integer",
            "format" : "int64",
            "deprecated" : false,
            "description" : "Amount(in cents) to be authorized for 3DS flow.\n",
            "minimum" : 0,
            "example" : null
          },
          "gateway_account_id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The gateway account used for performing the 3DS flow.\n",
            "maxLength" : 50,
            "example" : null
          },
          "expires_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Timestamp indicating when the PaymentIntent will expire if left unconsumed.\n",
            "example" : null
          },
          "reference_id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Reference for payment method at gateway. Only applicable when the PaymentIntent is created for cards stored in the gateway.\n",
            "maxLength" : 200,
            "example" : null
          },
          "success_url" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">The URL the customer will be directed to once 3DS verification is successful. Applicable only when <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">payment_method_type</code>\nis <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">ideal</code>\n, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">sofort</code>\n, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">dotpay</code>\nor <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">giropay</code>\n.</p>",
            "maxLength" : 250,
            "example" : null
          },
          "failure_url" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">The URL the customer will be directed to when 3DS verification fails. Applicable only when <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">payment_method_type</code>\nis <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">ideal</code>\n, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">sofort</code>\n, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">dotpay</code>\nor <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">giropay</code>\n.</p>",
            "maxLength" : 250,
            "example" : null
          },
          "created_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Timestamp indicating when the PaymentIntent was created.\n",
            "example" : null
          },
          "modified_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Timestamp indicating when the PaymentIntent was last modified.\n",
            "example" : null
          },
          "customer_id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">The unique identifier of the customer for whom the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">payment_intent</code> will be created. If specified, the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">payment_intent</code> will be used exclusively for that customer. If not specified, the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">payment_intent</code> won&#x27;t be associated with any customer and will be available for any customer.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">See also</strong></p><a href=\"/docs/api/payment_intents\">Customer resource lookup and creation</a></div>",
            "maxLength" : 50,
            "example" : null
          },
          "gateway" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Gateway associated with the PaymentIntent.\n",
            "example" : null
          },
          "active_payment_attempt" : {
            "type" : "object",
            "deprecated" : false,
            "description" : "Active payment attempt for the PaymentIntent.\n",
            "properties" : {
              "id" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Identifier for PaymentIntent's active payment attempt.\n",
                "maxLength" : 70,
                "example" : null
              },
              "status" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Current status of active payment attempt\n\\* authorized -\n\n3DS verification successfully completed.\n\\* requires_challenge -\n\nThe transaction has to go through 3DS Challenge flow and the customer needs to authenticate via 3DS 2.0\n\\* pending_authorization -\n\nWaiting for the authorization.\n\\* requires_redirection -\n\nThe transaction has to go through 3DS Redirection flow and the customer needs to authenticate via 3DS 1.0\n\\* refused -\n\n3DS verification attempt failed.\n\\* inited -\n\nPayment attempt is initialized.\n\\* requires_identification -\n\nCustomer's device fingerprint is used to verify their identity. It needs to be sent to the Issuing Bank for verification.\n",
                "enum" : [ "inited", "requires_identification", "requires_challenge", "requires_redirection", "authorized", "refused", "pending_authorization" ],
                "example" : null
              },
              "id_at_gateway" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Reference of PaymentIntent at gateway\n",
                "maxLength" : 50,
                "example" : null
              },
              "error_code" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Error code received from the payment gateway on failure.\n",
                "maxLength" : 100,
                "example" : null
              },
              "error_text" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Error message received from the payment gateway on failure.\n",
                "maxLength" : 65000,
                "example" : null
              },
              "created_at" : {
                "type" : "integer",
                "format" : "unix-time",
                "deprecated" : false,
                "description" : "Timestamp indicating when the active payment attempt was created.\n",
                "example" : null
              },
              "modified_at" : {
                "type" : "integer",
                "format" : "unix-time",
                "deprecated" : false,
                "description" : "Timestamp indicating when the active payment attempt was last modified.\n",
                "example" : null
              }
            },
            "required" : [ "created_at", "modified_at", "status" ],
            "example" : null
          }
        },
        "required" : [ "amount", "created_at", "customer_id", "expires_at", "id", "modified_at", "status" ],
        "example" : null
      },
      "PaymentMethod" : {
        "type" : "string",
        "default" : "card",
        "deprecated" : false,
        "enum" : [ "cash", "check", "chargeback", "bank_transfer", "other", "card", "amazon_payments", "paypal_express_checkout", "direct_debit" ],
        "example" : null
      },
      "PaymentRefundedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "transaction" : {
                "$ref" : "#/components/schemas/Transaction"
              },
              "invoice" : {
                "$ref" : "#/components/schemas/Invoice"
              },
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "subscription" : {
                "$ref" : "#/components/schemas/Subscription"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              }
            },
            "required" : [ "card", "customer", "invoice", "subscription", "transaction" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "PaymentSucceededEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "transaction" : {
                "$ref" : "#/components/schemas/Transaction"
              },
              "invoice" : {
                "$ref" : "#/components/schemas/Invoice"
              },
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "subscription" : {
                "$ref" : "#/components/schemas/Subscription"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              }
            },
            "required" : [ "card", "customer", "invoice", "subscription", "transaction" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "Plan" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Specifies the price with billing frequency for a subscription. Create separate plans for varied price or billing frequency. For example, if you need to charge $10 per month for a group of customers and $100 per year for another group of customers, then create separate plans for each.\n",
        "properties" : {
          "id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "A unique ID for your system to identify the plan.\n",
            "maxLength" : 100,
            "example" : null
          },
          "name" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The display name used in web interface for identifying the plan.\n",
            "maxLength" : 100,
            "example" : null
          },
          "invoice_name" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Display name used in invoice. If it is not configured then name is used in invoice.\n",
            "maxLength" : 100,
            "example" : null
          },
          "description" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Description about the plan to show in the hosted pages \\& customer portal.\n",
            "maxLength" : 2000,
            "example" : null
          },
          "price" : {
            "type" : "integer",
            "format" : "int64",
            "deprecated" : false,
            "description" : "The price of the plan. The unit depends on the [type of currency](/docs/api/getting-started)\n.\n",
            "minimum" : 0,
            "example" : null
          },
          "period" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "deprecated" : false,
            "description" : "Defines billing frequency. Example: to bill customer every 3 months, provide \"3\" here.\n",
            "minimum" : 1,
            "example" : null
          },
          "period_unit" : {
            "type" : "string",
            "default" : "month",
            "deprecated" : false,
            "description" : "Defines billing frequency in association with billing period.\n\\* year -\n\nCharge based on year(s)\n\\* month -\n\nCharge based on month(s)\n\\* week -\n\nCharge based on week(s)\n\\* day -\n\nCharge based on day(s)\n",
            "enum" : [ "day", "week", "month", "year" ],
            "example" : null
          },
          "trial_period" : {
            "type" : "integer",
            "format" : "int32",
            "deprecated" : false,
            "description" : "The free time window for your customer to try your product\n",
            "minimum" : 1,
            "example" : null
          },
          "trial_period_unit" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Time unit for the trial period.\n\\* month -\n\nIn months\n\\* day -\n\nIn days\n",
            "enum" : [ "day", "month" ],
            "example" : null
          },
          "charge_model" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Defines how the subscription recurring charge for this plan should be calculated.\n\\* flat_fee -\n\nCharge a single price on recurring basis\n\\* per_unit -\n\nCharge the price for each unit of the plan for the subscription on recurring basis.\n",
            "enum" : [ "flat_fee", "per_unit" ],
            "example" : null
          },
          "free_quantity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "deprecated" : false,
            "description" : "Free quantity the subscriptions of this plan will have. Only the quantity more than this will be charged for the subscription.\n",
            "minimum" : 0,
            "example" : null
          },
          "setup_cost" : {
            "type" : "integer",
            "format" : "int64",
            "deprecated" : false,
            "description" : "One-time setup fee charged as part of the first invoice.\n",
            "minimum" : 1,
            "example" : null
          },
          "status" : {
            "type" : "string",
            "default" : "active",
            "deprecated" : false,
            "description" : "The plan state\n\\* active -\n\nNew subscriptions can be created with the plan.\n\\* deleted -\n\nIndicates the plan has been deleted.\n\\* archived -\n\nNo new subscriptions allowed for the plan. Existing subscriptions on this plan will remain as-is and can be migrated to another active plan if required.\n",
            "enum" : [ "active", "archived", "deleted" ],
            "example" : null
          },
          "archived_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Time at which the plan was moved to archived status.\n",
            "example" : null
          },
          "billing_cycles" : {
            "type" : "integer",
            "format" : "int32",
            "deprecated" : false,
            "description" : "The number of billing cycles the subscription is active. The subscription is moved to non renewing state and then to cancelled state automatically\n",
            "minimum" : 1,
            "example" : null
          },
          "redirect_url" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The url to redirect on successful checkout. Eg: https://yoursite.com/success.html?plan=basic\n",
            "maxLength" : 500,
            "example" : null
          },
          "enabled_in_hosted_pages" : {
            "type" : "boolean",
            "default" : true,
            "deprecated" : false,
            "description" : "If true, allow checkout through plan specific hosted page URL for this plan.\n",
            "example" : null
          },
          "enabled_in_portal" : {
            "type" : "boolean",
            "default" : true,
            "deprecated" : false,
            "description" : "If enabled, customers can switch to this plan using the 'Change Subscription' option in the customer portal.\n",
            "example" : null
          },
          "invoice_notes" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "A customer-facing note added to all invoices associated with this API resource. This note becomes one among [all the notes](/docs/api/invoices/invoice-object#notes)\ndisplayed on the invoice PDF.\n",
            "maxLength" : 2000,
            "example" : null
          },
          "taxable" : {
            "type" : "boolean",
            "default" : true,
            "deprecated" : false,
            "description" : "Specifies if the plan should be taxed or not\n",
            "example" : null
          },
          "meta_data" : {
            "type" : "object",
            "additionalProperties" : true,
            "deprecated" : false,
            "description" : "A set of key-value pairs stored as additional information for the plan. \\[Learn more\\](/docs/api/v1/plans) .\n",
            "example" : null
          }
        },
        "required" : [ "charge_model", "enabled_in_hosted_pages", "enabled_in_portal", "free_quantity", "id", "name", "period", "period_unit", "status" ],
        "example" : null
      },
      "PortalSession" : {
        "type" : "object",
        "description" : "<div class=\"api-description\"><p class=\"mb-2\">Customer Portal lets your customers to manage their account and billing themselves. Chargebee supports Single Sign-on (SSO) to access the customer portal. If you already have your own authentication for your website, it allows your authenticated customers to access their portal without having to login again.</p><p class=\"mb-2\"><strong class=\"font-semibold\">Note:</strong> You can instead allow your customers to access the portal via login page provided by Chargebee. <a href=\"https://www.chargebee.com/docs/1.0/customer_portal.html#how-can-customers-access-their-customer-account-portal\" target=\"_blank\">Read more</a>.</p><p class=\"mb-2\">Please follow the below steps for supporting portal access via SSO:</p><ol class=\"list-decimal list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">Enable the &quot;Allow access to customer portal via API&quot; under &quot;Settings &gt; Hosted Pages Settings &gt; Customer Portal&quot; to use the portal sessions API.</li>\n<li class=\"text-base leading-relaxed\">Provide a link in your website/application which your authenticated customers can use to access the portal (For example, <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">{your_website_url}/portal_link</code>).</li>\n<li class=\"text-base leading-relaxed\">Handle the link request in your server code and create a portal session for the customer by calling Chargebee&#x27;s &quot;Create a portal session&quot; API</li>\n<li class=\"text-base leading-relaxed\">Forward the user to the access URL present in the &quot;Portal Session&quot; resource returned by the above API call.</li>\n</ol><div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Notes about access URL:</strong></p><ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\">The access URL should be accessed by the customer within one hour from the time it was created.</li>\n<li class=\"text-base leading-relaxed\">Once accessed, the session is valid until the user logs out from the portal UI or logout API is called from your application for this session.</li>\n<li class=\"text-base leading-relaxed\">Once accessed, the access url cannot be reused. Hence do not persist this URL. Whenever you need to provide access to the portal, you need to create a new portal session.</li>\n</ul></div><h4>Using Chargebee&#x27;s authentication to allow access to your website</h4><p class=\"mb-2\"><strong class=\"font-semibold\">Note:</strong> This feature is not supported in <a href=\"https://www.chargebee.com/docs/inapp-self-serve-portal.html\" target=\"_blank\">in-app</a> portal.\nChargebee allows you to integrate your website by building user authentication on top of Chargebee. If you would want to allow access to parts of your website only to subscribers (like a paywall), you can integrate Chargebee&#x27;s authentication without having to handle it from your end.\n<strong class=\"font-semibold\">Workflow:</strong>\nUsers should be redirected to the portal login URL - <strong class=\"font-semibold\">https://yourdomain.chargebeeportal.com/portal/login</strong> by passing the following parameters:</p><ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\"><strong class=\"font-semibold\">return_url</strong> - URL the users should be redirected to upon successful authentication.</li>\n<li class=\"text-base leading-relaxed\"><strong class=\"font-semibold\">cancel_url</strong> - URL the users should be redirected to when they want to go back to your website during login.\nThe domain name used in the Return/Cancel URL should be added as a &#x27;Whitelisted Domain&#x27; in Chargebee. Add just the domain name in Chargebee and not the entire URL: E.g. yourdomain.com.</li>\n</ul><p class=\"mb-2\">Upon successful authentication, a session is created for the user and Chargebee redirects the user to the return_url along with the following parameters:</p><ul class=\"list-disc list-outside ml-6 my-4 space-y-2\">\n<li class=\"text-base leading-relaxed\"><strong class=\"font-semibold\">auth_session_id</strong> - Identifier to the authenticated session.</li>\n<li class=\"text-base leading-relaxed\"><strong class=\"font-semibold\">auth_session_token</strong> - Token for the session which should be sent later to activate this session.\nUsing the <strong class=\"font-semibold\">auth_session_id</strong> &amp; <strong class=\"font-semibold\">auth_session_token</strong>, you should call <a href=\"/docs/api/v1/portal_sessions/activate-a-portal-session\">Activate a Portal Session</a> API to validate the session details and create a session for that user in your website.\n<strong class=\"font-semibold\">Note:</strong> The process of setting up the portal account will take place along with the authentication process.</li>\n</ul></div>",
        "properties" : {
          "id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Unique identifier for the portal session.\n",
            "maxLength" : 70,
            "example" : null
          },
          "token" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Unique pre-authenticated portal session token to access customer portal directly.\n",
            "maxLength" : 70,
            "example" : null
          },
          "access_url" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Unique URL for accessing the customer portal. Once accessed, this cannot be reused.\n",
            "maxLength" : 550,
            "example" : null
          },
          "redirect_url" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "URL to redirect when the user logs out from the portal.\n",
            "maxLength" : 250,
            "example" : null
          },
          "status" : {
            "type" : "string",
            "default" : "created",
            "deprecated" : false,
            "description" : "Indicates the current status of the portal session.\n\\* created -\n\nIndicates that the portal session is just created and not yet accessed by the user.\n\\* logged_out -\n\nIndicates that the portal session is logged out either by user or via API.\n\\* not_yet_activated -\n\nIndicates that the portal session is created and not yet activated for the customer to allow access to your website. This is applicable when you use Chargebee's authentication for your website\n\\* activated -\n\nIndicates that the portal session is activated for the customer to allow access to your website. This is applicable when you use Chargebee's authentication for your website.\n\\* logged_in -\n\nIndicates that the portal session URL has been accessed by the user and the session is active.\n",
            "enum" : [ "created", "logged_in", "logged_out", "not_yet_activated", "activated" ],
            "example" : null
          },
          "created_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Timestamp indicating when this portal session was generated.\n",
            "example" : null
          },
          "expires_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Timestamp indicating when the access URL will expire. Once expired, the URL cannot be used to login into the portal.\n",
            "example" : null
          },
          "customer_id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Identifier of the customer.\n",
            "maxLength" : 50,
            "example" : null
          },
          "login_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Timestamp indicating when this portal session URL was accessed by the user.\n",
            "example" : null
          },
          "logout_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Timestamp indicating when this portal session was logged out either by user or via API.\n",
            "example" : null
          },
          "login_ipaddress" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "IP Address from which the portal session URL was accessed.\n",
            "maxLength" : 50,
            "example" : null
          },
          "logout_ipaddress" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "IP Address from which the portal session was logged out either by user or via API.\n",
            "maxLength" : 50,
            "example" : null
          },
          "linked_customers" : {
            "type" : "array",
            "deprecated" : false,
            "description" : "The list of customers for this session\n",
            "items" : {
              "type" : "object",
              "deprecated" : false,
              "properties" : {
                "customer_id" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Identifier of the customer.\n",
                  "maxLength" : 50,
                  "example" : null
                },
                "email" : {
                  "type" : "string",
                  "format" : "email",
                  "deprecated" : false,
                  "description" : "Email of the customer. Configured email notifications will be sent to this email.\n",
                  "maxLength" : 70,
                  "example" : null
                },
                "has_billing_address" : {
                  "type" : "boolean",
                  "default" : false,
                  "deprecated" : false,
                  "description" : "The customer has billing address.\n",
                  "example" : null
                },
                "has_payment_method" : {
                  "type" : "boolean",
                  "default" : false,
                  "deprecated" : false,
                  "description" : "The customer has payment method.\n",
                  "example" : null
                },
                "has_active_subscription" : {
                  "type" : "boolean",
                  "default" : false,
                  "deprecated" : false,
                  "description" : "The customer has atleast one active subscription.\n",
                  "example" : null
                }
              },
              "required" : [ "customer_id", "has_active_subscription", "has_billing_address", "has_payment_method" ],
              "example" : null
            },
            "example" : null
          }
        },
        "required" : [ "access_url", "created_at", "customer_id", "id", "status", "token" ],
        "example" : null
      },
      "PriceType" : {
        "type" : "string",
        "default" : "tax_exclusive",
        "deprecated" : false,
        "enum" : [ "tax_exclusive", "tax_inclusive" ],
        "example" : null
      },
      "ProrationType" : {
        "type" : "string",
        "deprecated" : false,
        "enum" : [ "full_term", "partial_term", "none" ],
        "example" : null
      },
      "ReasonCode" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "deprecated" : false,
            "enum" : [ "subscription_cancellation", "create_credit_note", "refund_credit_note", "void_invoice", "order_resend" ],
            "example" : null
          },
          "id" : {
            "type" : "string",
            "deprecated" : false,
            "maxLength" : 50,
            "example" : null
          },
          "code" : {
            "type" : "string",
            "deprecated" : false,
            "maxLength" : 100,
            "example" : null
          },
          "status" : {
            "type" : "string",
            "deprecated" : false,
            "enum" : [ "enabled", "disabled" ],
            "example" : null
          }
        },
        "required" : [ "code", "id", "status", "type" ],
        "example" : null
      },
      "RefundInitiatedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "transaction" : {
                "$ref" : "#/components/schemas/Transaction"
              },
              "invoice" : {
                "$ref" : "#/components/schemas/Invoice"
              },
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "subscription" : {
                "$ref" : "#/components/schemas/Subscription"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              }
            },
            "required" : [ "card", "customer", "invoice", "subscription", "transaction" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "Source" : {
        "type" : "string",
        "default" : "none",
        "deprecated" : false,
        "enum" : [ "admin_console", "api", "scheduled_job", "hosted_page", "portal", "system", "none", "js_api", "migration", "bulk_operation" ],
        "example" : null
      },
      "Subscription" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "<div class=\"api-description\"><p class=\"mb-2\">Subscription represents the recurring items a customer has subscribed to. The recurring items can be - plan, addons. It may also contain the discount items like coupons.</p><p class=\"mb-2\">Subscriptions are invoiced at the start of every term based on the recurring items and charged immediately against the customer&#x27;s credit card if &#x27;auto_collection&#x27; is turned &#x27;on&#x27;, otherwise the resulting invoice will be created as &#x27;Payment Due&#x27;.</p><div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Note:</strong>\nThe maximum number of subscriptions for any given <a href=\"/docs/api/v1/customers\">customer</a>\n(<code><a href=\"/docs/api/subscriptions/subscription-object#status\">active</a></code>\nor not) is 900.</p></div></div>",
        "properties" : {
          "id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "A unique and immutable identifier for the subscription. If not provided, it is autogenerated.\n",
            "maxLength" : 50,
            "example" : null
          },
          "plan_id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Identifier of the plan for this subscription\n",
            "maxLength" : 100,
            "example" : null
          },
          "plan_quantity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "deprecated" : false,
            "description" : "Represents the plan quantity for this subscription.\n",
            "minimum" : 1,
            "example" : null
          },
          "start_date" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Applicable only for 'future' subscriptions. The scheduled start time of the subscription.\n",
            "example" : null
          },
          "trial_end" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "End of the trial period for the subscription. Presence of this value for 'future' subscription implies the subscription will go into 'in_trial' state when it starts.\n",
            "example" : null
          },
          "remaining_billing_cycles" : {
            "type" : "integer",
            "format" : "int32",
            "deprecated" : false,
            "description" : "* When the subscription is not on a contract term: this value is the number of billing cycles remaining after the current cycle, at the end of which, the subscription cancels.\n* When the subscription is on a [contract term](/docs/api/contract_terms): this value is the number of billing cycles remaining in the contract term after the current billing cycle.\n",
            "minimum" : 0,
            "example" : null
          },
          "po_number" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Purchase order number for this subscription.\n",
            "maxLength" : 100,
            "example" : null
          },
          "status" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">Current state of the subscription</p>\n* future - <p class=\"mb-2\">The subscription is scheduled to start at a future date.</p>\n* transferred - <p class=\"mb-2\">The <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">transferred</code>\nstatus will be reflected on the source business entity&#x27;s subscription attribute once the <a href=\"https://www.chargebee.com/docs/2.0/mbe-getting-started-with-customer-transfer.html\">customer transfer</a>\nactivity is completed successfully. This status is only valid for <a href=\"https://www.chargebee.com/docs/2.0/product-catalog.html\">product catalog 2.0</a>\nas the Multiple Business Entity features can only be enabled for product catalog 2.0.</p>\n* in_trial - <p class=\"mb-2\">The subscription is in trial.</p>\n* active - <p class=\"mb-2\">The subscription is active and will be charged for automatically based on the items in it.</p>\n* cancelled - <p class=\"mb-2\">The subscription has been canceled and is no longer in service.</p>\n* non_renewing - <p class=\"mb-2\">The subscription will be canceled at the end of the current term.</p>",
            "enum" : [ "future", "in_trial", "active", "non_renewing", "cancelled", "transferred" ],
            "example" : null
          },
          "trial_start" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">Start of the trial period for the subscription. Presence of this value for <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">future</code>\nsubscription implies the subscription will go into <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">in_trial</code>\nstate when it starts.</p>",
            "example" : null
          },
          "current_term_start" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Start of the current billing period of the subscription.\n",
            "example" : null
          },
          "current_term_end" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "End of the current billing period of the subscription. Subscription is renewed immediately after this\n",
            "example" : null
          },
          "created_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "The time at which the subscription was created.\n",
            "example" : null
          },
          "started_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">Time at which the subscription was started. Is <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">null</code>\nfor <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">future</code>\nsubscriptions as it is yet to be started.</p>",
            "example" : null
          },
          "activated_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">Time at which the subscription <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">status</code>\nlast changed to\n<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">active</code>.\nFor example, this value is updated when an <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">in_trial</code>\nor\n<code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">cancelled</code>\nsubscription activates.</p>",
            "example" : null
          },
          "cancelled_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Time at which subscription was cancelled or is set to be cancelled.\n",
            "example" : null
          },
          "cancel_reason" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The reason for canceling the subscription. Set by Chargebee automatically.\n\\* no_card -\n\nNo Card\n\\* not_paid -\n\nNot Paid\n\\* fraud_review_failed -\n\nFraud Review Failed\n\\* non_compliant_eu_customer -\n\nNon Compliant EU Customer\n",
            "enum" : [ "not_paid", "no_card", "fraud_review_failed", "non_compliant_eu_customer" ],
            "example" : null
          },
          "affiliate_token" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "A unique tracking token\n",
            "maxLength" : 250,
            "example" : null
          },
          "created_from_ip" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The IP address of the user. Used primarly in Refersion integration. Refersion uses this field to track/log affiliate subscription.\n",
            "maxLength" : 50,
            "example" : null
          },
          "has_scheduled_changes" : {
            "type" : "boolean",
            "default" : false,
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">If <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">true</code>\n, there are subscription changes scheduled on next renewal.</p>",
            "example" : null
          },
          "due_invoices_count" : {
            "type" : "integer",
            "format" : "int32",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">Total number of invoices that are due for payment against the subscription.\n<strong class=\"font-semibold\">Note:</strong>\nNot supported if <a href=\"https://www.chargebee.com/docs/consolidated-invoicing.html\" target=\"_blank\">consolidated invoicing</a>\nis enabled, or when the subscription is for the customer who is in <a href=\"/docs/api/hierarchies\">hierarchy</a>\n, and the parent of this customer owns and pays for the invoices of the subscription. It is also worth noting that the consolidated invoice amount is not included in the calculation of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">due_invoices_count</code>\n.</p>",
            "example" : null
          },
          "due_since" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Time since this subscription has unpaid invoices.\n**Note:**\nNot supported if [consolidated invoicing](https://www.chargebee.com/docs/consolidated-invoicing.html)\nis enabled, or when the subscription is for the customer who is in [hierarchy](/docs/api/hierarchies)\n, and the parent of this customer owns and pays for the invoices of the subscription.\n",
            "example" : null
          },
          "total_dues" : {
            "type" : "integer",
            "format" : "int64",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">Total invoice due amount for this subscription. The value depends on the <a href=\"/docs/api/v1/subscriptions\">type of currency</a>\n.\n<strong class=\"font-semibold\">Note:</strong>\nNot supported if <a href=\"https://www.chargebee.com/docs/consolidated-invoicing.html\" target=\"_blank\">consolidated invoicing</a>\nis enabled, or when the subscription is for the customer who is in <a href=\"/docs/api/hierarchies\">hierarchy</a>\n, and the parent of this customer owns and pays for the invoices of the subscription. It is also worth noting that the consolidated invoice amount is not included in the calculation of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">total_dues</code>\n.</p>",
            "minimum" : 0,
            "example" : null
          },
          "addons" : {
            "type" : "array",
            "deprecated" : false,
            "description" : "List of addons for this subscription with quantity(if applicable)\n",
            "items" : {
              "type" : "object",
              "deprecated" : false,
              "properties" : {
                "id" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Identifier of the addon. Multiple addons can be passed.\n",
                  "maxLength" : 100,
                  "example" : null
                },
                "quantity" : {
                  "type" : "integer",
                  "format" : "int32",
                  "default" : 1,
                  "deprecated" : false,
                  "description" : "<p class=\"mb-2\">Quantity of the addon. Applicable for addons with <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">pricing_model</code>\nother than <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">flat_fee</code>\n.</p>",
                  "minimum" : 1,
                  "example" : null
                },
                "proration_type" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Type of proration for addons\n\\* full_term -\n\nThe full price for the addon is charged; no proration is applied.\n\\* partial_term -\n\nThe addon charges are prorated for the remaining period in the current term.\n\\* none -\n\nThere is no proration done in this instance; therefore, the addon is not charged at all.\n",
                  "enum" : [ "full_term", "partial_term", "none" ],
                  "example" : null
                }
              },
              "required" : [ "id" ],
              "example" : null
            },
            "example" : null
          },
          "coupons" : {
            "type" : "array",
            "deprecated" : false,
            "description" : "List of coupons for this subscription\n",
            "items" : {
              "type" : "object",
              "deprecated" : false,
              "properties" : {
                "coupon_id" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Used to uniquely identify the coupon\n",
                  "maxLength" : 100,
                  "example" : null
                },
                "apply_till" : {
                  "type" : "integer",
                  "format" : "unix-time",
                  "deprecated" : false,
                  "description" : "<p class=\"mb-2\">The date till when the coupon can be applied. Applicable for <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">limited_period</code>\n<a href=\"/docs/api/coupons\">coupons</a>\nonly.</p>",
                  "example" : null
                },
                "applied_count" : {
                  "type" : "integer",
                  "format" : "int32",
                  "default" : 0,
                  "deprecated" : false,
                  "description" : "Number of times this coupon has been applied for this subscription\n",
                  "example" : null
                },
                "coupon_code" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "The coupon code used to redeem the coupon. Will be present only when associated code for a coupon is used.\n",
                  "maxLength" : 50,
                  "example" : null
                }
              },
              "required" : [ "applied_count", "coupon_id" ],
              "example" : null
            },
            "example" : null
          },
          "shipping_address" : {
            "type" : "object",
            "deprecated" : false,
            "description" : "Shipping address for the subscription.\n",
            "properties" : {
              "first_name" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The first name of the contact.\n",
                "maxLength" : 150,
                "example" : null
              },
              "last_name" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The last name of the contact.\n",
                "maxLength" : 150,
                "example" : null
              },
              "email" : {
                "type" : "string",
                "format" : "email",
                "deprecated" : false,
                "description" : "The email address.\n",
                "maxLength" : 70,
                "example" : null
              },
              "company" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The company name.\n",
                "maxLength" : 250,
                "example" : null
              },
              "phone" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The phone number.\n",
                "maxLength" : 50,
                "example" : null
              },
              "line1" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Address line 1\n",
                "maxLength" : 150,
                "example" : null
              },
              "line2" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Address line 2\n",
                "maxLength" : 150,
                "example" : null
              },
              "line3" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Address line 3\n",
                "maxLength" : 150,
                "example" : null
              },
              "city" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The name of the city.\n",
                "maxLength" : 50,
                "example" : null
              },
              "state_code" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "<p class=\"mb-2\">The <a href=\"https://www.iso.org/obp/ui/#search\" target=\"_blank\">ISO 3166-2 state/province code</a>\nwithout the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">state_code</code>\nas <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">AZ</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">US-AZ</code>\n). For Tamil Nadu (India), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">TN</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">IN-TN</code>\n). For British Columbia (Canada), set as <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">BC</code>\n(not <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">CA-BC</code>\n).</p>",
                "maxLength" : 50,
                "example" : null
              },
              "state" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "The state/province name.\n",
                "maxLength" : 50,
                "example" : null
              },
              "country" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "<p class=\"mb-2\">The billing address country of the customer. Must be one of <a href=\"https://www.iso.org/iso-3166-country-codes.html\" target=\"_blank\" rel=\"noopener noreferrer\">ISO 3166 alpha-2 country code</a>\n.</p>\n<p class=\"mb-2\"><strong class=\"font-semibold\">Note</strong>:\nIf you enter an invalid country code, the system will return an error.</p>\n<div class=\"alert alert-info\"><p class=\"mb-2\"><strong class=\"font-semibold\">Brexit</strong></p><p class=\"mb-2\">If you have enabled <a href=\"https://www.chargebee.com/docs/eu-vat.html\" target=\"_blank\" rel=\"noopener noreferrer\">EU VAT</a> in 2021 or later, or have <a href=\"https://www.chargebee.com/docs/brexit.html#what-needs-to-be-done-in-chargebee\" target=\"_blank\" rel=\"noopener noreferrer\">manually enable</a> the Brexit configuration, then <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">XI</code> (the code for <strong class=\"font-semibold\">United Kingdom - Northern Ireland</strong>) is available as an option.</p></div>",
                "maxLength" : 50,
                "example" : null
              },
              "zip" : {
                "type" : "string",
                "deprecated" : false,
                "description" : "Zip or postal code. The number of characters is validated according to the rules [specified here](https://chromium-i18n.appspot.com/ssl-address)\n.\n",
                "maxLength" : 20,
                "example" : null
              }
            },
            "example" : null
          },
          "invoice_notes" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "A customer-facing note added to all invoices associated with this subscription. This note is one among [all the notes](/docs/api/invoices/invoice-object#notes)\ndisplayed on the invoice PDF.\n",
            "maxLength" : 2000,
            "example" : null
          },
          "meta_data" : {
            "type" : "object",
            "additionalProperties" : true,
            "deprecated" : false,
            "description" : "A set of key-value pairs stored as additional information for the subscription. \\[Learn more\\](/docs/api/v1/subscriptions) .\n",
            "example" : null
          }
        },
        "required" : [ "has_scheduled_changes", "id", "plan_id", "plan_quantity", "status" ],
        "example" : null
      },
      "SubscriptionActivatedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "subscription" : {
                "$ref" : "#/components/schemas/Subscription"
              },
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              },
              "invoice" : {
                "$ref" : "#/components/schemas/Invoice"
              }
            },
            "required" : [ "card", "customer", "invoice", "subscription" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "SubscriptionCancellationScheduledEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "subscription" : {
                "$ref" : "#/components/schemas/Subscription"
              },
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              }
            },
            "required" : [ "card", "customer", "subscription" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "SubscriptionCancelledEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "subscription" : {
                "$ref" : "#/components/schemas/Subscription"
              },
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              },
              "invoice" : {
                "$ref" : "#/components/schemas/Invoice"
              }
            },
            "required" : [ "card", "customer", "invoice", "subscription" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "SubscriptionCancellingEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "subscription" : {
                "$ref" : "#/components/schemas/Subscription"
              },
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              }
            },
            "required" : [ "card", "customer", "subscription" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "SubscriptionChangedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "subscription" : {
                "$ref" : "#/components/schemas/Subscription"
              },
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              },
              "invoice" : {
                "$ref" : "#/components/schemas/Invoice"
              }
            },
            "required" : [ "card", "customer", "invoice", "subscription" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "SubscriptionCreatedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "subscription" : {
                "$ref" : "#/components/schemas/Subscription"
              },
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              },
              "invoice" : {
                "$ref" : "#/components/schemas/Invoice"
              }
            },
            "required" : [ "card", "customer", "invoice", "subscription" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "SubscriptionDeletedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "subscription" : {
                "$ref" : "#/components/schemas/Subscription"
              },
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              }
            },
            "required" : [ "card", "customer", "subscription" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "SubscriptionReactivatedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "subscription" : {
                "$ref" : "#/components/schemas/Subscription"
              },
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              },
              "invoice" : {
                "$ref" : "#/components/schemas/Invoice"
              }
            },
            "required" : [ "card", "customer", "invoice", "subscription" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "SubscriptionRenewalReminderEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "subscription" : {
                "$ref" : "#/components/schemas/Subscription"
              },
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              }
            },
            "required" : [ "card", "customer", "subscription" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "SubscriptionRenewedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "subscription" : {
                "$ref" : "#/components/schemas/Subscription"
              },
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              },
              "invoice" : {
                "$ref" : "#/components/schemas/Invoice"
              }
            },
            "required" : [ "card", "customer", "invoice", "subscription" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "SubscriptionScheduledCancellationRemovedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "subscription" : {
                "$ref" : "#/components/schemas/Subscription"
              },
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              }
            },
            "required" : [ "card", "customer", "subscription" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "SubscriptionScheduledChange" : {
        "type" : "object",
        "properties" : {
          "action_type" : {
            "type" : "string",
            "deprecated" : false,
            "enum" : [ "cancel", "pause", "reactivate" ],
            "example" : null
          },
          "data" : {
            "type" : "string",
            "deprecated" : false,
            "maxLength" : 65000,
            "example" : null
          },
          "created_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "example" : null
          },
          "modified_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "example" : null
          }
        },
        "required" : [ "action_type", "created_at", "modified_at" ],
        "example" : null
      },
      "SubscriptionShippingAddressUpdatedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "subscription" : {
                "$ref" : "#/components/schemas/Subscription"
              },
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              }
            },
            "required" : [ "card", "customer", "subscription" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "SubscriptionStartedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "subscription" : {
                "$ref" : "#/components/schemas/Subscription"
              },
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              },
              "invoice" : {
                "$ref" : "#/components/schemas/Invoice"
              }
            },
            "required" : [ "card", "customer", "invoice", "subscription" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "SubscriptionStatus" : {
        "type" : "string",
        "deprecated" : false,
        "enum" : [ "future", "in_trial", "active", "non_renewing", "cancelled", "transferred" ],
        "example" : null
      },
      "SubscriptionTrialEndingEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "subscription" : {
                "$ref" : "#/components/schemas/Subscription"
              },
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              }
            },
            "required" : [ "card", "customer", "subscription" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "SubscriptionTrialExtendedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "subscription" : {
                "$ref" : "#/components/schemas/Subscription"
              },
              "customer" : {
                "$ref" : "#/components/schemas/Customer"
              },
              "card" : {
                "$ref" : "#/components/schemas/Card"
              }
            },
            "required" : [ "card", "customer", "subscription" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "Taxability" : {
        "type" : "string",
        "default" : "taxable",
        "deprecated" : false,
        "enum" : [ "taxable", "exempt" ],
        "example" : null
      },
      "Transaction" : {
        "type" : "object",
        "description" : "This resource represents the [transaction](https://www.chargebee.com/docs/transactions.html)\nevent that has happened in your account.\n",
        "properties" : {
          "id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Uniquely identifies the transaction.\n",
            "maxLength" : 40,
            "example" : null
          },
          "customer_id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Identifier of the customer for which this transaction is made\n",
            "maxLength" : 50,
            "example" : null
          },
          "subscription_id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Identifier of the subscription for which this transaction is made.\n",
            "maxLength" : 50,
            "example" : null
          },
          "payment_method" : {
            "type" : "string",
            "default" : "card",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">The payment method of this transaction</p>\n* card - <p class=\"mb-2\">Card</p>\n* amazon_payments - <p class=\"mb-2\">Amazon Payments</p>\n* chargeback - <p class=\"mb-2\">Only applicable for a transaction of <code><a href=\"/docs/api/transactions/transaction-object#type\">type</a></code>\n= <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">refund</code>.\nThis value is set by Chargebee when an automated <a href=\"https://www.chargebee.com/docs/chargeback.html#chargeback-process\" target=\"_blank\" rel=\"noopener noreferrer\">chargeback</a>\noccurs. You can also set this explicitly when <a href=\"/docs/api/transactions/record-an-offline-refund\">recording a refund</a>\n.</p>\n* bank_transfer - <p class=\"mb-2\">Bank Transfer</p>\n* paypal_express_checkout - <p class=\"mb-2\">Paypal Express Checkout</p>\n* direct_debit - <p class=\"mb-2\">Direct Debit</p>\n* other - <p class=\"mb-2\">Payment Methods other than the above types</p>\n* cash - <p class=\"mb-2\">Cash</p>\n* check - <p class=\"mb-2\">Check</p>",
            "enum" : [ "card", "cash", "check", "chargeback", "bank_transfer", "amazon_payments", "paypal_express_checkout", "direct_debit", "other" ],
            "example" : null
          },
          "reference_number" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">The reference number for this transaction. For example, the check number when <code><a href=\"/docs/api/transactions/transaction-object#payment_method\">payment_method</a></code>\n= <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">check</code>\n.</p>",
            "maxLength" : 100,
            "example" : null
          },
          "gateway" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Gateway through which this transaction was done. Applicable only for 'Card' Payment Method\n\\* twikey -\n\nTwikey is a payment service provider that specializes in processing direct debit payments across the EU.\n\\* tco -\n\n2Checkout is a payment gateway.\n\\* first_data_global -\n\nFirst Data Global Gateway Virtual Terminal Account\n\\* bluepay -\n\nBluePay is a payment gateway.\n\\* eway -\n\neWAY Account is a payment gateway.\n\\* paypal_payflow_pro -\n\nPayPal Payflow Pro is a payment gateway.\n\\* not_applicable -\n\nIndicates that payment gateway is not applicable for this resource.\n\\* braintree -\n\nBraintree is a payment gateway.\n\\* nmi -\n\nNMI is a payment gateway.\n\\* worldpay -\n\nWorldPay is a payment gateway\n\\* wirecard -\n\nWireCard Account is a payment service provider.\n\\* sage_pay -\n\nSage Pay is a payment gateway.\n\\* pin -\n\nPin is a payment gateway\n\\* authorize_net -\n\nAuthorize.net is a payment gateway\n\\* elavon -\n\nElavon Virtual Merchant is a payment solution.\n\\* paypal_pro -\n\nPayPal Pro Account is a payment gateway.\n\\* beanstream -\n\nBambora(formerly known as Beanstream) is a payment gateway.\n\\* hdfc -\n\nHDFC Account is a payment gateway.\n\\* ogone -\n\nIngenico ePayments (formerly known as Ogone) is a payment gateway.\n\\* migs -\n\nMasterCard Internet Gateway Service payment gateway.\n\\* stripe -\n\nStripe is a payment gateway.\n\\* chargebee -\n\nChargebee test gateway.\n\\* eway_rapid -\n\neWAY Rapid is a payment gateway.\n\\* paymill -\n\nPAYMILL is a payment gateway.\n\\* balanced_payments -\n\nBalanced is a payment gateway\n",
            "enum" : [ "chargebee", "stripe", "braintree", "authorize_net", "paypal_pro", "pin", "eway", "eway_rapid", "worldpay", "balanced_payments", "beanstream", "bluepay", "elavon", "first_data_global", "hdfc", "migs", "nmi", "ogone", "paymill", "paypal_payflow_pro", "sage_pay", "tco", "wirecard", "not_applicable" ],
            "example" : null
          },
          "type" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">Type of the transaction.</p>\n* payment_reversal - <p class=\"mb-2\">Indicates a reversal transaction.</p>\n* payment - <p class=\"mb-2\">The transaction represents capture of <code><a href=\"/docs/api/transactions/transaction-object#amount\">amount</a></code>\nfrom the customer&#x27;s <code><a href=\"/docs/api/payment_sources\">payment_source</a></code>\n.</p>\n* refund - <p class=\"mb-2\">The transaction represents a refund of <code><a href=\"/docs/api/transactions/transaction-object#amount\">amount</a></code>\nto the customer&#x27;s <code><a href=\"/docs/api/payment_sources\">payment_source</a></code>\n.</p>\n* authorization - <p class=\"mb-2\">The transaction represents an authorization for capturing the <code><a href=\"/docs/api/transactions/transaction-object#amount\">amount</a></code>\nfrom the customer&#x27;s <code><a href=\"/docs/api/payment_sources\">payment_source</a></code>\n.</p>",
            "enum" : [ "authorization", "payment", "refund", "payment_reversal" ],
            "example" : null
          },
          "date" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Indicates when this transaction occurred.\n",
            "example" : null
          },
          "currency_code" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The currency code (ISO 4217 format) for the transaction.\n",
            "maxLength" : 3,
            "example" : null
          },
          "amount" : {
            "type" : "integer",
            "format" : "int64",
            "deprecated" : false,
            "description" : "Amount for this transaction.\n",
            "minimum" : 0,
            "example" : null
          },
          "id_at_gateway" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The id with which this transaction is referred in gateway.\n",
            "maxLength" : 100,
            "example" : null
          },
          "status" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The status of this transaction.\n\\* in_progress -\n\nTransaction is being processed by the gateway. This typically happens for [direct debit transactions](https://www.chargebee.com/docs/direct-debit-payments.html)\nor, in case of cards, refund transactions. Such transactions can take 2-7 days to complete, depending on the gateway and payment method.\n\\* voided -\n\nThe transaction got voided or authorization expired at gateway.\n\\* needs_attention -\n\nConnection with Gateway got terminated abruptly. So, status of this transaction needs to be resolved manually\n\\* timeout -\n\nTransaction failed because of Gateway not accepting the connection.\n\\* late_failure -\n\nIndicates that a successful payment transaction has failed now due to a late failure notification from the payment gateway, typically caused by issues like insufficient funds or a closed bank account.\n\\* failure -\n\nTransaction failed. Refer the 'error_code' and 'error_text' fields to know the reason for failure\n\\* success -\n\nThe transaction is successful.\n",
            "enum" : [ "in_progress", "success", "voided", "failure", "timeout", "needs_attention", "late_failure" ],
            "example" : null
          },
          "initiator_type" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Marker for on-session payments (3DS). null indicates 'merchant'.\n\\* customer -\n\nCustomer initiated 3DS payment\n\\* merchant -\n\nPayment initiated on stored payment method by the merchant\n",
            "enum" : [ "customer", "merchant" ],
            "example" : null
          },
          "three_d_secure" : {
            "type" : "boolean",
            "deprecated" : false,
            "description" : "Indicates whether this transaction has gone through 3DS. Applicable only for 'on-session' payments \\& verifications.If 3DS is not enforced by the gateway/bank or if the customers' card is not enrolled, this will be false.\n",
            "example" : null
          },
          "error_code" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Error code received from the payment gateway on failure.\n",
            "maxLength" : 100,
            "example" : null
          },
          "error_text" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Error message received from the payment gateway on failure.\n",
            "maxLength" : 65000,
            "example" : null
          },
          "voided_at" : {
            "type" : "integer",
            "format" : "unix-time",
            "deprecated" : false,
            "description" : "Timestamp indicating when the payment was voided or authorization expired at gateway.\n",
            "example" : null
          },
          "amount_unused" : {
            "type" : "integer",
            "format" : "int64",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">This is the part of the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">amount</code>\nwhich has not been invoiced yet and is therefore added to <code><a href=\"/docs/api/customers/customer-object#excess_payments\">excess_payments</a></code>\nfor the customer. Applicable only for a transaction of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">type</code>\n= <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">payment</code>\n.</p>",
            "minimum" : 0,
            "example" : null
          },
          "masked_card_number" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "The masked card number used for this transaction. Applicable only for 'Card' Payment Method\n",
            "maxLength" : 20,
            "example" : null
          },
          "reference_transaction_id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">This is the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">id</code>\nof the offline transaction that is being refunded or reversed. Applicable only for transaction of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">type</code>\n= <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">refund</code>\nor <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">payment_reversal</code>\n.</p>",
            "maxLength" : 40,
            "example" : null
          },
          "refunded_txn_id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "<p class=\"mb-2\">This is the <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">id</code>\nof the transaction (always of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">type</code>\n= <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">payment</code>\n) being refunded. Applicable only for transaction of <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">type</code>\n= <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">refund</code>\n.</p>",
            "maxLength" : 40,
            "example" : null
          },
          "reversal_transaction_id" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Reversal transaction id. Applicable only for payment transactions.\n",
            "maxLength" : 40,
            "example" : null
          },
          "linked_invoices" : {
            "type" : "array",
            "deprecated" : false,
            "description" : "Applicable only for 'Payment' transactions. The list of invoices this 'payment' transaction is applied to.\n",
            "items" : {
              "type" : "object",
              "deprecated" : false,
              "properties" : {
                "invoice_id" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Identifier for the invoice.\n",
                  "maxLength" : 50,
                  "example" : null
                },
                "applied_amount" : {
                  "type" : "integer",
                  "format" : "int64",
                  "deprecated" : false,
                  "description" : "The transaction amount applied to this invoice\n",
                  "minimum" : 0,
                  "example" : null
                },
                "applied_at" : {
                  "type" : "integer",
                  "format" : "unix-time",
                  "deprecated" : false,
                  "description" : "Timestamp at which the transaction is applied.\n",
                  "example" : null
                },
                "invoice_date" : {
                  "type" : "integer",
                  "format" : "unix-time",
                  "deprecated" : false,
                  "description" : "The date this invoice is issued.\n",
                  "example" : null
                },
                "invoice_amount" : {
                  "type" : "integer",
                  "format" : "int64",
                  "deprecated" : false,
                  "description" : "Total amount of the invoice\n",
                  "minimum" : 0,
                  "example" : null
                }
              },
              "required" : [ "applied_amount", "applied_at", "invoice_id" ],
              "example" : null
            },
            "example" : null
          },
          "linked_refunds" : {
            "type" : "array",
            "deprecated" : false,
            "description" : "Applicable only for Payment transactions. It only returns values when the transaction is not associated with an invoice, and that there is a refund for the transaction.\n",
            "items" : {
              "type" : "object",
              "deprecated" : false,
              "properties" : {
                "txn_id" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "Uniquely identifies the transaction.\n",
                  "maxLength" : 40,
                  "example" : null
                },
                "txn_status" : {
                  "type" : "string",
                  "deprecated" : false,
                  "description" : "The status of this transaction.\n\\* voided -\n\nThe transaction got voided or authorization expired at gateway.\n\\* late_failure -\n\nIndicates that a successful payment transaction has failed now due to a late failure notification from the payment gateway, typically caused by issues like insufficient funds or a closed bank account.\n\\* success -\n\nThe transaction is successful.\n\\* timeout -\n\nTransaction failed because of Gateway not accepting the connection.\n\\* needs_attention -\n\nConnection with Gateway got terminated abruptly. So, status of this transaction needs to be resolved manually\n\\* failure -\n\nTransaction failed. Refer the 'error_code' and 'error_text' fields to know the reason for failure\n\\* in_progress -\n\nTransaction is being processed by the gateway. This typically happens for [direct debit transactions](https://www.chargebee.com/docs/direct-debit-payments.html)\nor, in case of cards, refund transactions. Such transactions can take 2-7 days to complete, depending on the gateway and payment method.\n",
                  "enum" : [ "in_progress", "success", "voided", "failure", "timeout", "needs_attention", "late_failure" ],
                  "example" : null
                },
                "txn_date" : {
                  "type" : "integer",
                  "format" : "unix-time",
                  "deprecated" : false,
                  "description" : "Indicates when this refund occured.\n",
                  "example" : null
                },
                "txn_amount" : {
                  "type" : "integer",
                  "format" : "int64",
                  "deprecated" : false,
                  "description" : "Amount of this refund transaction.\n",
                  "minimum" : 0,
                  "example" : null
                }
              },
              "required" : [ "txn_amount", "txn_date", "txn_id", "txn_status" ],
              "example" : null
            },
            "example" : null
          },
          "payment_method_details" : {
            "type" : "string",
            "deprecated" : false,
            "description" : "Payment method details of the corresponding transaction\n",
            "example" : null
          }
        },
        "required" : [ "currency_code", "gateway", "id", "payment_method", "type" ],
        "example" : null
      },
      "TransactionCreatedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "transaction" : {
                "$ref" : "#/components/schemas/Transaction"
              }
            },
            "required" : [ "transaction" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "TransactionDeletedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "transaction" : {
                "$ref" : "#/components/schemas/Transaction"
              }
            },
            "required" : [ "transaction" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "TransactionUpdatedEvent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the event\n",
            "example" : null
          },
          "occurred_at" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timestamp of the event\n",
            "example" : null
          },
          "source" : {
            "type" : "string",
            "description" : "Source of the event\n",
            "example" : null
          },
          "object" : {
            "type" : "string",
            "description" : "The object of the event\n",
            "example" : null
          },
          "api_version" : {
            "type" : "string",
            "description" : "API version\n",
            "example" : null
          },
          "event_type" : {
            "type" : "string",
            "description" : "Type of the event\n",
            "example" : null
          },
          "webhook_status" : {
            "type" : "string",
            "description" : "Status of webhook\n",
            "example" : null
          },
          "content" : {
            "type" : "object",
            "properties" : {
              "transaction" : {
                "$ref" : "#/components/schemas/Transaction"
              }
            },
            "required" : [ "transaction" ],
            "example" : null
          }
        },
        "required" : [ "api_version", "content", "event_type", "id", "object", "occurred_at", "source", "webhook_status" ],
        "example" : null
      },
      "Type" : {
        "type" : "string",
        "deprecated" : false,
        "enum" : [ "card", "paypal_express_checkout", "amazon_payments", "direct_debit", "automated_bank_transfer" ],
        "example" : null
      }
    },
    "parameters" : {
      "coupon-id" : {
        "name" : "coupon-id",
        "in" : "path",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "offset" : {
        "name" : "offset",
        "in" : "query",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "string",
          "description" : "Determines your position in the list for pagination. To ensure that the next page is retrieved correctly, always set 'offset' to the value of 'next_offset' obtained in the previous iteration of the API call.",
          "x-cb-is-pagination-parameter" : true,
          "maxLength" : 1000,
          "example" : null
        }
      },
      "subscription-id" : {
        "name" : "subscription-id",
        "in" : "path",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "payment-intent-id" : {
        "name" : "payment-intent-id",
        "in" : "path",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "hosted-page-id" : {
        "name" : "hosted-page-id",
        "in" : "path",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "reason-code-id" : {
        "name" : "reason-code-id",
        "in" : "path",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "order-id" : {
        "name" : "order-id",
        "in" : "path",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "chargebee-event-webhook" : {
        "name" : "chargebee-event-webhook",
        "in" : "header",
        "description" : " skip only webhooks",
        "required" : false,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string",
          "description" : " skip only webhooks",
          "enum" : [ "all-disabled" ]
        }
      },
      "portal-session-id" : {
        "name" : "portal-session-id",
        "in" : "path",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "invoice-id" : {
        "name" : "invoice-id",
        "in" : "path",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "plan-id" : {
        "name" : "plan-id",
        "in" : "path",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "transaction-id" : {
        "name" : "transaction-id",
        "in" : "path",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "chargebee-request-origin-user-encoded" : {
        "name" : "chargebee-request-origin-user-encoded",
        "in" : "header",
        "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.",
        "required" : false,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string",
          "format" : "email",
          "description" : "The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.",
          "example" : "dXNlci7QutCy0ZbRgtC+0YfQutCwQGV4YW1wbGUuY29t"
        }
      },
      "chargebee-event-actions" : {
        "name" : "chargebee-event-actions",
        "in" : "header",
        "description" : "skip all actions to be done on the events",
        "required" : false,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string",
          "description" : "skip all actions to be done on the events",
          "enum" : [ "all-disabled" ]
        }
      },
      "chargebee-request-origin-user" : {
        "name" : "chargebee-request-origin-user",
        "in" : "header",
        "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.",
        "required" : false,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string",
          "format" : "email",
          "description" : "The email address of your customer/user. Use this when the email address has only ASCII characters.",
          "example" : "user@example.com"
        }
      },
      "customer-id" : {
        "name" : "customer-id",
        "in" : "path",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "chargebee-request-origin-device" : {
        "name" : "chargebee-request-origin-device",
        "in" : "header",
        "description" : "The device from which the customer has made the request",
        "required" : false,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string",
          "description" : "The device from which the customer has made the request",
          "example" : "Android"
        }
      },
      "limit" : {
        "name" : "limit",
        "in" : "query",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "integer",
          "format" : "int32",
          "default" : 10,
          "description" : "The number of resources to be returned.",
          "x-cb-is-pagination-parameter" : true,
          "maximum" : 100,
          "minimum" : 1,
          "example" : null
        }
      },
      "chargebee-event-email" : {
        "name" : "chargebee-event-email",
        "in" : "header",
        "description" : "skip only emails",
        "required" : false,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string",
          "description" : "skip only emails",
          "enum" : [ "all-disabled" ]
        }
      },
      "addon-id" : {
        "name" : "addon-id",
        "in" : "path",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "chargebee-request-origin-ip" : {
        "name" : "chargebee-request-origin-ip",
        "in" : "header",
        "description" : "The IP address of the customer where the request originated",
        "required" : false,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string",
          "description" : "The IP address of the customer where the request originated",
          "example" : "192.168.1.2",
          "pattern" : "^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-fA-F]|[a-fA-F][a-fA-F0-9\\-]*[a-fA-F0-9])\\.)*([A-Fa-f]|[A-Fa-f][A-Fa-f0-9\\-]*[A-Fa-f0-9])$|^(?:(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-fA-F]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,1}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,2}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:(?:[0-9a-fA-F]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,3}(?:(?:[0-9a-fA-F]{1,4})))?::(?:(?:[0-9a-fA-F]{1,4})):)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,4}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,5}(?:(?:[0-9a-fA-F]{1,4})))?::)(?:(?:[0-9a-fA-F]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-fA-F]{1,4})):){0,6}(?:(?:[0-9a-fA-F]{1,4})))?::)))))$"
        }
      },
      "event-id" : {
        "name" : "event-id",
        "in" : "path",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "coupon-code-code" : {
        "name" : "coupon-code-code",
        "in" : "path",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "comment-id" : {
        "name" : "comment-id",
        "in" : "path",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      }
    },
    "securitySchemes" : {
      "BasicAuth" : {
        "type" : "http",
        "scheme" : "basic"
      }
    }
  },
  "jsonSchemaDialect" : "https://spec.openapis.org/oas/3.1/dialect/base",
  "webhooks" : {
    "subscription_reactivated" : {
      "description" : "<p class=\"mb-2\">Triggered when the subscription is moved from <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">cancelled</code> <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">status</code> to <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">active</code> or <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">in_trial</code>.</p>",
      "post" : {
        "summary" : "Triggered when the subscription is moved from `cancelled` `status` to `active` or `in_trial`.",
        "description" : "<p class=\"mb-2\">Triggered when the subscription is moved from <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">cancelled</code> <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">status</code> to <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">active</code> or <code class=\"bg-gray-100 text-gray-800 font-medium border border-gray-300 rounded px-1.5 py-0.5 mx-1 text-sm font-mono whitespace-nowrap\">in_trial</code>.</p>",
        "operationId" : "onSubscription_reactivatedWebhook",
        "requestBody" : {
          "description" : "Payload for subscription_reactivated event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SubscriptionReactivatedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "transaction_updated" : {
      "description" : "<p class=\"mb-2\">Triggered when a transaction is updated. E.g. (1) When a transaction is removed, (2) or when an excess payment is applied on an invoice, (3) or when amount_capturable gets updated.</p>",
      "post" : {
        "summary" : "Triggered when a transaction is updated. E.g. (1) When a transaction is removed, (2) or when an excess payment is applied on an invoice, (3) or when amount_capturable gets updated.",
        "description" : "<p class=\"mb-2\">Triggered when a transaction is updated. E.g. (1) When a transaction is removed, (2) or when an excess payment is applied on an invoice, (3) or when amount_capturable gets updated.</p>",
        "operationId" : "onTransaction_updatedWebhook",
        "requestBody" : {
          "description" : "Payload for transaction_updated event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/TransactionUpdatedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "subscription_created" : {
      "description" : "<p class=\"mb-2\">Triggered when a new subscription is created.</p>",
      "post" : {
        "summary" : "Triggered when a new subscription is created.",
        "description" : "<p class=\"mb-2\">Triggered when a new subscription is created.</p>",
        "operationId" : "onSubscription_createdWebhook",
        "requestBody" : {
          "description" : "Payload for subscription_created event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SubscriptionCreatedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "subscription_cancellation_scheduled" : {
      "description" : "<p class=\"mb-2\">Triggered when subscription is scheduled to cancel at end of current term.</p>",
      "post" : {
        "summary" : "Triggered when subscription is scheduled to cancel at end of current term.",
        "description" : "<p class=\"mb-2\">Triggered when subscription is scheduled to cancel at end of current term.</p>",
        "operationId" : "onSubscription_cancellation_scheduledWebhook",
        "requestBody" : {
          "description" : "Payload for subscription_cancellation_scheduled event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SubscriptionCancellationScheduledEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "subscription_trial_extended" : {
      "description" : "<p class=\"mb-2\">Trial Extension</p>",
      "post" : {
        "summary" : "Trial Extension",
        "description" : "<p class=\"mb-2\">Trial Extension</p>",
        "operationId" : "onSubscription_trial_extendedWebhook",
        "requestBody" : {
          "description" : "Payload for subscription_trial_extended event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SubscriptionTrialExtendedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "subscription_deleted" : {
      "description" : "<p class=\"mb-2\">Triggered when a subscription is deleted.</p>",
      "post" : {
        "summary" : "Triggered when a subscription is deleted.",
        "description" : "<p class=\"mb-2\">Triggered when a subscription is deleted.</p>",
        "operationId" : "onSubscription_deletedWebhook",
        "requestBody" : {
          "description" : "Payload for subscription_deleted event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SubscriptionDeletedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "invoice_generated" : {
      "description" : "<p class=\"mb-2\">Event triggered when a new invoice is created except when created with status as pending. For pending invoices, this event is triggered when the invoice is closed.</p>",
      "post" : {
        "summary" : "Event triggered when a new invoice is created except when created with status as pending. For pending invoices, this event is triggered when the invoice is closed.",
        "description" : "<p class=\"mb-2\">Event triggered when a new invoice is created except when created with status as pending. For pending invoices, this event is triggered when the invoice is closed.</p>",
        "operationId" : "onInvoice_generatedWebhook",
        "requestBody" : {
          "description" : "Payload for invoice_generated event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/InvoiceGeneratedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "subscription_cancelling" : {
      "description" : "<p class=\"mb-2\">Triggered 6 days prior to the scheduled cancellation date.</p>",
      "post" : {
        "summary" : "Triggered 6 days prior to the scheduled cancellation date.",
        "description" : "<p class=\"mb-2\">Triggered 6 days prior to the scheduled cancellation date.</p>",
        "operationId" : "onSubscription_cancellingWebhook",
        "requestBody" : {
          "description" : "Payload for subscription_cancelling event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SubscriptionCancellingEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "subscription_renewed" : {
      "description" : "<p class=\"mb-2\">Triggered when the subscription is renewed from the current term.</p>",
      "post" : {
        "summary" : "Triggered when the subscription is renewed from the current term.",
        "description" : "<p class=\"mb-2\">Triggered when the subscription is renewed from the current term.</p>",
        "operationId" : "onSubscription_renewedWebhook",
        "requestBody" : {
          "description" : "Payload for subscription_renewed event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SubscriptionRenewedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "subscription_scheduled_cancellation_removed" : {
      "description" : "<p class=\"mb-2\">Triggered when scheduled cancellation is removed for the subscription.</p>",
      "post" : {
        "summary" : "Triggered when scheduled cancellation is removed for the subscription.",
        "description" : "<p class=\"mb-2\">Triggered when scheduled cancellation is removed for the subscription.</p>",
        "operationId" : "onSubscription_scheduled_cancellation_removedWebhook",
        "requestBody" : {
          "description" : "Payload for subscription_scheduled_cancellation_removed event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SubscriptionScheduledCancellationRemovedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "payment_refunded" : {
      "description" : "<p class=\"mb-2\">Triggered when a payment refund is made.</p>",
      "post" : {
        "summary" : "Triggered when a payment refund is made.",
        "description" : "<p class=\"mb-2\">Triggered when a payment refund is made.</p>",
        "operationId" : "onPayment_refundedWebhook",
        "requestBody" : {
          "description" : "Payload for payment_refunded event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PaymentRefundedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "subscription_changed" : {
      "description" : "<p class=\"mb-2\">Triggered when the subscription&#x27;s recurring items are changed.</p>",
      "post" : {
        "summary" : "Triggered when the subscription's recurring items are changed.",
        "description" : "<p class=\"mb-2\">Triggered when the subscription&#x27;s recurring items are changed.</p>",
        "operationId" : "onSubscription_changedWebhook",
        "requestBody" : {
          "description" : "Payload for subscription_changed event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SubscriptionChangedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "invoice_created" : {
      "description" : "<p class=\"mb-2\">Event triggered (in the case of metered billing) when a &quot;Pending&quot; invoice is created that has usage related charges or line items to be added, before being closed. This is triggered only when the &quot;Notify for Pending Invoices&quot; option is enabled.</p>",
      "post" : {
        "summary" : "Event triggered (in the case of metered billing) when a \"Pending\" invoice is created that has usage related charges or line items to be added, before being closed. This is triggered only when the “Notify for Pending Invoices” option is enabled.",
        "description" : "<p class=\"mb-2\">Event triggered (in the case of metered billing) when a &quot;Pending&quot; invoice is created that has usage related charges or line items to be added, before being closed. This is triggered only when the &quot;Notify for Pending Invoices&quot; option is enabled.</p>",
        "operationId" : "onInvoice_createdWebhook",
        "requestBody" : {
          "description" : "Payload for invoice_created event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/InvoiceCreatedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "transaction_created" : {
      "description" : "<p class=\"mb-2\">Triggered when a transaction is recorded.</p>",
      "post" : {
        "summary" : "Triggered when a transaction is recorded.",
        "description" : "<p class=\"mb-2\">Triggered when a transaction is recorded.</p>",
        "operationId" : "onTransaction_createdWebhook",
        "requestBody" : {
          "description" : "Payload for transaction_created event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/TransactionCreatedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "subscription_cancelled" : {
      "description" : "<p class=\"mb-2\">Triggered when the subscription is cancelled. If it is cancelled due to non payment or because the card details are not present, the subscription will have the possible reason as &#x27;cancel_reason&#x27;.</p>",
      "post" : {
        "summary" : "Triggered when the subscription is cancelled. If it is cancelled due to non payment or because the card details are not present, the subscription will have the possible reason as 'cancel_reason'.",
        "description" : "<p class=\"mb-2\">Triggered when the subscription is cancelled. If it is cancelled due to non payment or because the card details are not present, the subscription will have the possible reason as &#x27;cancel_reason&#x27;.</p>",
        "operationId" : "onSubscription_cancelledWebhook",
        "requestBody" : {
          "description" : "Payload for subscription_cancelled event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SubscriptionCancelledEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "invoice_deleted" : {
      "description" : "<p class=\"mb-2\">Event triggered when an invoice is deleted.</p>",
      "post" : {
        "summary" : "Event triggered when an invoice is deleted.",
        "description" : "<p class=\"mb-2\">Event triggered when an invoice is deleted.</p>",
        "operationId" : "onInvoice_deletedWebhook",
        "requestBody" : {
          "description" : "Payload for invoice_deleted event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/InvoiceDeletedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "payment_failed" : {
      "description" : "<p class=\"mb-2\">Triggered when the payment collection fails.</p>",
      "post" : {
        "summary" : "Triggered when the payment collection fails.",
        "description" : "<p class=\"mb-2\">Triggered when the payment collection fails.</p>",
        "operationId" : "onPayment_failedWebhook",
        "requestBody" : {
          "description" : "Payload for payment_failed event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PaymentFailedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "card_expired" : {
      "description" : "<p class=\"mb-2\">Triggered when the card for a customer has expired.</p>",
      "post" : {
        "summary" : "Triggered when the card for a customer has expired.",
        "description" : "<p class=\"mb-2\">Triggered when the card for a customer has expired.</p>",
        "operationId" : "onCard_expiredWebhook",
        "requestBody" : {
          "description" : "Payload for card_expired event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CardExpiredEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "invoice_updated" : {
      "description" : "<p class=\"mb-2\">Triggered when you make the following changes to a pending invoice - add a charge, add a non-recurring addon, or delete a line item.</p>",
      "post" : {
        "summary" : "Triggered when you make the following changes to a pending invoice - add a charge, add a non-recurring addon, or delete a line item.",
        "description" : "<p class=\"mb-2\">Triggered when you make the following changes to a pending invoice - add a charge, add a non-recurring addon, or delete a line item.</p>",
        "operationId" : "onInvoice_updatedWebhook",
        "requestBody" : {
          "description" : "Payload for invoice_updated event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/InvoiceUpdatedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "payment_succeeded" : {
      "description" : "<p class=\"mb-2\">Triggered when the payment is successfully collected.</p>",
      "post" : {
        "summary" : "Triggered when the payment is successfully collected.",
        "description" : "<p class=\"mb-2\">Triggered when the payment is successfully collected.</p>",
        "operationId" : "onPayment_succeededWebhook",
        "requestBody" : {
          "description" : "Payload for payment_succeeded event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PaymentSucceededEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "card_updated" : {
      "description" : "<p class=\"mb-2\">Triggered when the card is updated for a customer.</p>",
      "post" : {
        "summary" : "Triggered when the card is updated for a customer.",
        "description" : "<p class=\"mb-2\">Triggered when the card is updated for a customer.</p>",
        "operationId" : "onCard_updatedWebhook",
        "requestBody" : {
          "description" : "Payload for card_updated event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CardUpdatedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "card_expiring" : {
      "description" : "<p class=\"mb-2\">Triggered when the customer&#x27;s credit card is expiring soon. Triggered 30 days before the expiry date.</p>",
      "post" : {
        "summary" : "Triggered when the customer's credit card is expiring soon. Triggered 30 days before the expiry date.",
        "description" : "<p class=\"mb-2\">Triggered when the customer&#x27;s credit card is expiring soon. Triggered 30 days before the expiry date.</p>",
        "operationId" : "onCard_expiringWebhook",
        "requestBody" : {
          "description" : "Payload for card_expiring event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CardExpiringEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "card_deleted" : {
      "description" : "<p class=\"mb-2\">Triggered when a card is deleted for a customer.</p>",
      "post" : {
        "summary" : "Triggered when a card is deleted for a customer.",
        "description" : "<p class=\"mb-2\">Triggered when a card is deleted for a customer.</p>",
        "operationId" : "onCard_deletedWebhook",
        "requestBody" : {
          "description" : "Payload for card_deleted event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CardDeletedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "customer_created" : {
      "description" : "<p class=\"mb-2\">Triggered when a customer is created.</p>",
      "post" : {
        "summary" : "Triggered when a customer is created.",
        "description" : "<p class=\"mb-2\">Triggered when a customer is created.</p>",
        "operationId" : "onCustomer_createdWebhook",
        "requestBody" : {
          "description" : "Payload for customer_created event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CustomerCreatedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "subscription_shipping_address_updated" : {
      "description" : "<p class=\"mb-2\">Triggered when shipping address is added or updated for a subscription.</p>",
      "post" : {
        "summary" : "Triggered when shipping address is added or updated for a subscription.",
        "description" : "<p class=\"mb-2\">Triggered when shipping address is added or updated for a subscription.</p>",
        "operationId" : "onSubscription_shipping_address_updatedWebhook",
        "requestBody" : {
          "description" : "Payload for subscription_shipping_address_updated event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SubscriptionShippingAddressUpdatedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "customer_changed" : {
      "description" : "<p class=\"mb-2\">Triggered when a customer is changed.</p>",
      "post" : {
        "summary" : "Triggered when a customer is changed.",
        "description" : "<p class=\"mb-2\">Triggered when a customer is changed.</p>",
        "operationId" : "onCustomer_changedWebhook",
        "requestBody" : {
          "description" : "Payload for customer_changed event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CustomerChangedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "subscription_renewal_reminder" : {
      "description" : "<p class=\"mb-2\">Triggered 3 days before each subscription&#x27;s renewal.</p>",
      "post" : {
        "summary" : "Triggered 3 days before each subscription's renewal.",
        "description" : "<p class=\"mb-2\">Triggered 3 days before each subscription&#x27;s renewal.</p>",
        "operationId" : "onSubscription_renewal_reminderWebhook",
        "requestBody" : {
          "description" : "Payload for subscription_renewal_reminder event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SubscriptionRenewalReminderEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "subscription_started" : {
      "description" : "<p class=\"mb-2\">Triggered when a &#x27;future&#x27; subscription gets started.</p>",
      "post" : {
        "summary" : "Triggered when a 'future' subscription gets started.",
        "description" : "<p class=\"mb-2\">Triggered when a &#x27;future&#x27; subscription gets started.</p>",
        "operationId" : "onSubscription_startedWebhook",
        "requestBody" : {
          "description" : "Payload for subscription_started event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SubscriptionStartedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "transaction_deleted" : {
      "description" : "<p class=\"mb-2\">Triggered when a transaction is deleted.</p>",
      "post" : {
        "summary" : "Triggered when a transaction is deleted.",
        "description" : "<p class=\"mb-2\">Triggered when a transaction is deleted.</p>",
        "operationId" : "onTransaction_deletedWebhook",
        "requestBody" : {
          "description" : "Payload for transaction_deleted event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/TransactionDeletedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "subscription_trial_ending" : {
      "description" : "<p class=\"mb-2\">Triggered 6 days prior to the trial period&#x27;s end date.</p>",
      "post" : {
        "summary" : "Triggered 6 days prior to the trial period's end date.",
        "description" : "<p class=\"mb-2\">Triggered 6 days prior to the trial period&#x27;s end date.</p>",
        "operationId" : "onSubscription_trial_endingWebhook",
        "requestBody" : {
          "description" : "Payload for subscription_trial_ending event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SubscriptionTrialEndingEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "payment_initiated" : {
      "description" : "<p class=\"mb-2\">Triggered when a payment is initiated via direct debit.</p>",
      "post" : {
        "summary" : "Triggered when a payment is initiated via direct debit.",
        "description" : "<p class=\"mb-2\">Triggered when a payment is initiated via direct debit.</p>",
        "operationId" : "onPayment_initiatedWebhook",
        "requestBody" : {
          "description" : "Payload for payment_initiated event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PaymentInitiatedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "customer_deleted" : {
      "description" : "<p class=\"mb-2\">Triggered when a customer is deleted.</p>",
      "post" : {
        "summary" : "Triggered when a customer is deleted.",
        "description" : "<p class=\"mb-2\">Triggered when a customer is deleted.</p>",
        "operationId" : "onCustomer_deletedWebhook",
        "requestBody" : {
          "description" : "Payload for customer_deleted event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CustomerDeletedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "subscription_activated" : {
      "description" : "<p class=\"mb-2\">Triggered after the subscription has been moved from &quot;Trial&quot; to &quot;Active&quot; state.</p>",
      "post" : {
        "summary" : "Triggered after the subscription has been moved from \"Trial\" to \"Active\" state.",
        "description" : "<p class=\"mb-2\">Triggered after the subscription has been moved from &quot;Trial&quot; to &quot;Active&quot; state.</p>",
        "operationId" : "onSubscription_activatedWebhook",
        "requestBody" : {
          "description" : "Payload for subscription_activated event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SubscriptionActivatedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "card_added" : {
      "description" : "<p class=\"mb-2\">Triggered when a card is added for a customer.</p>",
      "post" : {
        "summary" : "Triggered when a card is added for a customer.",
        "description" : "<p class=\"mb-2\">Triggered when a card is added for a customer.</p>",
        "operationId" : "onCard_addedWebhook",
        "requestBody" : {
          "description" : "Payload for card_added event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CardAddedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    },
    "refund_initiated" : {
      "description" : "<p class=\"mb-2\">Triggered when a refund is initiated via direct debit.</p>",
      "post" : {
        "summary" : "Triggered when a refund is initiated via direct debit.",
        "description" : "<p class=\"mb-2\">Triggered when a refund is initiated via direct debit.</p>",
        "operationId" : "onRefund_initiatedWebhook",
        "requestBody" : {
          "description" : "Payload for refund_initiated event",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RefundInitiatedEvent"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Webhook received successfully"
          }
        },
        "deprecated" : false
      }
    }
  }
}