{
  "openapi": "3.1.0",
  "info": {
    "title": "Recharge API",
    "version": "2021-01",
    "description": "Recharge API reference, version 2021-01. Supported. Page-based pagination and the original resource model."
  },
  "servers": [
    {
      "url": "https://api.rechargeapps.com"
    }
  ],
  "security": [
    {
      "apiToken": []
    }
  ],
  "tags": [
    {
      "name": "Addresses",
      "description": "Addresses represents one of the many shipping locations a customer may have. Subscriptions are tied to a given address. Each customer can have multiple address objects (many to one aka n:1) in the relationship."
    },
    {
      "name": "Charges",
      "description": "A charge is the representation of a financial transaction linked to the purchase of an item (past or future). It can be a transaction that was processed already or the representation of an upcoming transaction. A charge is linked to its corresponding Orders( one Order for pay as you go subscriptions and several for pre-paid). Order are created once the corresponding Charge is successful. After successful payment, the first order will be immediately submitted to the external platform if applicable (e.g. Shopify, BigCommerce)."
    },
    {
      "name": "Checkouts",
      "description": "The checkout resource allows to create unique checkout experiences. We currently support Stripe , Apple Pay , Google Pay , and Braintree as payment processor. Related guides: Mobile payments Important - The Checkout endpoints are only available for BigCommerce and Custom. Checkouts on Shopify must go through Shopify."
    },
    {
      "name": "Customers",
      "description": "The Customer object holds account and billing information. Email is unique on the customer; no two customers for a store can have the same email. Address is the child of the customer object. There can be many child addresses on a customer, but only one parent customer per address."
    },
    {
      "name": "Discounts",
      "description": "Discounts can be applied to checkout, or can be applied directly to an address. Depending on configuration they allow for single use, or recurring discounts. Often discounts can be used combination with webhooks, such that when a specific event comes, it can apply a discount dependent on custom business logic. There are various options that can be utilized for discounts such as minimum price, single use, recurring for a set number of charges, or ongoing. You can also set the date from which time the discount will become applicable begin, and when it can no longer be applied to a new subscription."
    },
    {
      "name": "Metafields",
      "description": "We now have metafields endpoint on our API! Metafields feature allows you to add additional information to other resources. They can be used for adding custom fields to objects, and are useful for storing specialized information."
    },
    {
      "name": "Notifications",
      "description": "The Customer Notifications API is used to dispatch email notifications to customers within Recharge. The API uses your configured Recharge email templates, and will dispatch an email to the address associated with the indicated customer_id. Some email templates require variable values, which are sent through the Customer Notifications API via the template_vars attribute. See below examples for all available template types. Currently, the Customer Notifications API can be used to dispatch Get Account Access, and Upcoming Charge emails. Support for additional email templates and message types will be added in the future. To view your email template configurations, see the Notifications Settings section in your Recharge Merchant Portal."
    },
    {
      "name": "Onetimes",
      "description": "Onetimes represent non-recurring line items on a QUEUED Charge ."
    },
    {
      "name": "Orders",
      "description": "An order is created after a charge is successfully processed. The order contains all the same json data as the charge. In case of a prepaid order creation, the order will be queued for a particular date and submitted on that date to shopify."
    },
    {
      "name": "Products",
      "description": "Deprecated: The products endpoints in 2021-01 API version are deprecated. Please use the Plans endpoints in the 2021-11 API to manage frequencies, subscription discounts, and related settings for Products."
    },
    {
      "name": "Shop",
      "description": "The shop endpoint includes basic info about your Recharge store setup."
    },
    {
      "name": "Subscriptions",
      "description": "Subscriptions are individual items a customer receives on a recurring basis. A subscription is a product added to an address. If store owner wants to sell multiple products as one subscription on 1 address it can be done by creating a product in Shopify that consists of multiple products e.g. 3 types of vegetables in the box, set of different shirts, etc. This multiple products appear on the store as 1 product, therefore it can be sold in a single subscription to 1 or more addresses."
    },
    {
      "name": "Webhook endpoints",
      "description": "Webhooks are a mechanism for reacting to specific events that are triggered in the Recharge system. For example, a checkout completion, a customer activation or subscription cancellation. Webhooks will deliver you the data of the specific event in real-time. This data can be used to custom code logic behind automated subscription management, dashboards creation, discounts applying... Retries / Idempotency Due to webhook retries, it’s possible that your application receives the same webhook more than once. Ensure idempotency of the webhook call by detecting such duplicates within your application. When a webhook is triggered, the payload will be identical to the payload you would receive from another API endpoint. For example, a webhook on subscription/created event will be identical to the payload for retrieving a subscription by ID from the Recharge API. There are a lot of things that can be done via Webhooks: It can be used to collect all kinds of data from our API and then create custom a Dashboard to show how much and when your customers are buying in real time, or use all this data to do Analytics of some kind in order to create a better customer experience. Webhooks can be used as a “Trigger” on your backend to update subscription products. If you have some kind of a Subscription where you want to change the Product that the customer gets every month, you can do it by waiting for an order/created webhook on your backend, and when it fires you can make an API call to change the Product of that subscription or the next shipping date, etc. ## Respond to a webhook Your webhook acknowledges that it received data by sending a 200 OK response. Any response outside of the 200 range will let Recharge know that you didn’t receive your webhook. Recharge has implemented a 5 second time-out period. We wait 5 seconds, if our system doesn’t get a response in that period we consider that request as failed. Our system will try 20 times to send the same webhook over the next 2 days, if the request fails every time our system will delete this webhook. At this moment our system is logging those deleted webhooks."
    },
    {
      "name": "Async batch endpoints",
      "description": "The Async batches API can be used for processing large volumes of operations asynchronously, in order to reduce aggregate processing time and network traffic when interacting with many unique objects. For example, a user can leverage async_batches to create 1000 discounts with only 3 API requests. As shown in the diagram below, the necessary steps to create and process a batch are: 1. Create an async_batch with the desired batch_type 2. Add tasks (individual operations) to your batch. You can add up to 1,000 tasks with each request, up to 10,000 tasks per batch. 3. Submit the batch for processing. Until a batch is submitted for processing, no tasks are attempted. 4. You may retrieve the batch to view progress details while it processes, or register for the async_batch/processed webhook to receive immediate notification of batch completion. 5. Page through the tasks in the batch to view results of each completed or failed task. Related guides: Examples of Async batches"
    },
    {
      "name": "Async batch tasks",
      "description": "Most commonly, the response from listing tasks on an async_batch id will be identical to the body of a singular request to standard Recharge API endpoints. However, in some instances there are variations from the standard list task response body. See below for examples corresponding to each batch_type. Related guides: Examples of async batches"
    },
    {
      "name": "Token information",
      "description": "This resource allows a caller to inspect basic information regarding the token in use. It will only return a single object related to the calling token ( ie - a call with api_token.id=1 will only return information regarding api_token.id=1 ."
    }
  ],
  "paths": {
    "/customers/{id}/addresses": {
      "post": {
        "operationId": "create_address",
        "summary": "Create an address",
        "description": "Create a new address for a customer.",
        "tags": [
          "Addresses"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "address": {
                    "id": 21317826,
                    "address1": "1776 Washington Street",
                    "address2": "",
                    "cart_note": null,
                    "city": "Los Angeles",
                    "company": "Recharge",
                    "country": "United States",
                    "country_code": "US",
                    "created_at": "2018-11-14T09:00:01",
                    "customer_id": 18819267,
                    "discount_id": null,
                    "first_name": "John",
                    "last_name": "Doe",
                    "note_attributes": [
                      {
                        "name": "custom name",
                        "value": "custom value"
                      }
                    ],
                    "shipping_lines_override": [
                      {
                        "code": "Standard Shipping",
                        "price": "0.00",
                        "title": "Standard Shipping"
                      }
                    ],
                    "phone": "5551234567",
                    "presentment_currency": "USD",
                    "province": "California",
                    "updated_at": "2018-11-14T09:00:01",
                    "zip": "90404"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "address1": {
                    "type": "string",
                    "description": "The street associated with the Address . Minimum length is 1 character. If country is “United States” then validate with UPS external service."
                  },
                  "address2": {
                    "type": "string",
                    "description": "Any additional information associated with the shipping address."
                  },
                  "cart_note": {
                    "type": "string",
                    "description": "The note that that will be passed to the note field of Orders made within the Address ."
                  },
                  "city": {
                    "type": "string",
                    "description": "The city associated with the shipping address. Minimum length is 1 character. If country is “United States” then validate with UPS external service."
                  },
                  "company": {
                    "type": "string",
                    "description": "The company associated with the shipping address."
                  },
                  "country": {
                    "type": "string",
                    "description": "The country associated with the shipping address. Minimal length is 1 character. Check if the store supports shipping to this country. This is set by the merchant in their Shipping Settings page."
                  },
                  "first_name": {
                    "type": "string",
                    "description": "The customer’s first name associated with the address. Minimum length is 1 character."
                  },
                  "last_name": {
                    "type": "string",
                    "description": "The customer’s last name associated with the address. Minimum length is 1 character."
                  },
                  "note_attributes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string",
                          "description": "The name for the note_attribute ."
                        },
                        "value": {
                          "type": "string",
                          "description": "The value for the associated note_attribute ."
                        }
                      }
                    },
                    "description": "Extra information that is added to the order."
                  },
                  "phone": {
                    "type": "string",
                    "description": "The phone number associated with the address. Must be included in the request schema but can be an empty string."
                  },
                  "presentment_currency": {
                    "type": "string",
                    "description": "The currency that charges on this address will be processed in. If no presentment_currency is passed, it will be set to your default store currency."
                  },
                  "province": {
                    "type": "string",
                    "description": "The state or province associated with the address. Check if country requires a province COUNTRIES_REQUIRING_PROVINCE . If country is United States then validate with UPS external service."
                  },
                  "shipping_lines_override": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "description": "The code of the associated shipping line."
                        },
                        "price": {
                          "type": "string",
                          "description": "The price (in store’s currency) of the associated shipping line."
                        },
                        "title": {
                          "type": "string",
                          "description": "The title of the associated shipping line."
                        }
                      }
                    },
                    "description": "Used when shipping rates need to be overridden. If this parameter has value null , rates will be fetched when a related Charge is created or regenerated"
                  },
                  "zip": {
                    "type": "string",
                    "description": "The zip or postal code associated with the address. Check if the country requires a zip code COUNTRIES_NOT_REQUIRING_ZIP . If not included in the list then a zip code with the minimum length of 1 character is required. If the country is United States then validate against regex UNITED_STATES_ZIP_REGEX and validate with UPS external service. If country is United Kingdom then validate against regex UNITED_KINGDOM_ZIP_REGEX ."
                  },
                  "cart_attributes": {
                    "type": "array",
                    "items": {},
                    "description": "Additional information added to an initial order."
                  },
                  "original_shipping_lines": {
                    "description": "Shipping line details."
                  }
                },
                "required": [
                  "address1",
                  "city",
                  "country",
                  "first_name",
                  "last_name",
                  "phone",
                  "province",
                  "zip"
                ]
              },
              "example": {
                "address1": "1776 Washington Street",
                "address2": "",
                "city": "Los Angeles",
                "company": "Recharge",
                "country": "United States",
                "first_name": "John",
                "last_name": "Doe",
                "note_attributes": [
                  {
                    "name": "custom name",
                    "value": "custom value"
                  }
                ],
                "phone": "5551234567",
                "presentment_currency": "USD",
                "province": "California",
                "shipping_lines_override": [
                  {
                    "code": "Standard Shipping",
                    "price": "0.00",
                    "title": "Standard Shipping"
                  }
                ],
                "zip": "90404"
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_customers"
        ]
      }
    },
    "/addresses/{id}": {
      "get": {
        "operationId": "retrieve_address",
        "summary": "Retrieve an address",
        "description": "Retrieves address for customer based on specified address id.",
        "tags": [
          "Addresses"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "address": {
                    "id": 21317826,
                    "address1": "6419 Ocean Front Walk",
                    "address2": "Apt 1",
                    "cart_note": null,
                    "city": "Los Angeles",
                    "company": "",
                    "country": "United States",
                    "country_code": "US",
                    "created_at": "2020-06-16T12:45:35",
                    "customer_id": 43845860,
                    "discount_id": null,
                    "first_name": "Nikola",
                    "last_name": "Tesla",
                    "note_attributes": [
                      {
                        "name": "custom name",
                        "value": "custom value"
                      }
                    ],
                    "original_shipping_lines": [
                      {
                        "code": "Standard Shipping",
                        "price": "0.00",
                        "title": "Standard Shipping"
                      }
                    ],
                    "phone": "1-800-800-8000",
                    "presentment_currency": null,
                    "province": "California",
                    "shipping_lines_override": null,
                    "updated_at": "2020-07-10T11:12:58",
                    "zip": "90293"
                  }
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "read_customers"
        ]
      },
      "put": {
        "operationId": "update_address",
        "summary": "Update an address",
        "description": "Updates an existing address to match the specified parameters.",
        "tags": [
          "Addresses"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "address": {
                    "id": 21317826,
                    "address1": "3020 Nebraska Avenue",
                    "address2": "",
                    "cart_note": null,
                    "city": "Los Angeles",
                    "company": "Recharge",
                    "country": "United States",
                    "country_code": "US",
                    "created_at": "2018-11-14T09:00:01",
                    "customer_id": 18819267,
                    "discount_id": null,
                    "first_name": "John",
                    "last_name": "Doe",
                    "note_attributes": [
                      {
                        "name": "custom name",
                        "value": "custom value"
                      }
                    ],
                    "original_shipping_lines": [
                      {
                        "code": "Standard Shipping",
                        "price": "0.00",
                        "title": "Standard Shipping"
                      }
                    ],
                    "phone": "5551234567",
                    "presentment_currency": null,
                    "province": "California",
                    "shipping_lines_override": null,
                    "updated_at": "2018-11-14T09:00:01",
                    "zip": "90404"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "address1": {
                    "type": "string",
                    "description": "The street associated with the Address . Minimum length is 1 character. If country is “United States” then validate with UPS external service."
                  },
                  "address2": {
                    "type": "string",
                    "description": "Any additional information associated with the shipping address."
                  },
                  "cart_note": {
                    "type": "string",
                    "description": "The note that that will be passed to the note field of Orders made within the Address ."
                  },
                  "city": {
                    "type": "string",
                    "description": "The city associated with the shipping address. Minimum length is 1 character. If country is “United States” then validate with UPS external service."
                  },
                  "company": {
                    "type": "string",
                    "description": "The company associated with the shipping address."
                  },
                  "country": {
                    "type": "string",
                    "description": "The country associated with the shipping address. Minimal length is 1 character. Check if the store supports shipping to this country. This is set by the merchant in their Shipping Settings page."
                  },
                  "first_name": {
                    "type": "string",
                    "description": "The customer’s first name associated with the address. Minimum length is 1 character."
                  },
                  "last_name": {
                    "type": "string",
                    "description": "The customer’s last name associated with the address. Minimum length is 1 character."
                  },
                  "note_attributes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string",
                          "description": "The name for the note_attribute ."
                        },
                        "value": {
                          "type": "string",
                          "description": "The value for the associated note_attribute ."
                        }
                      }
                    },
                    "description": "Extra information that is added to the order."
                  },
                  "phone": {
                    "type": "string",
                    "description": "The phone number associated with the address. Must be included in the request schema but can be an empty string."
                  },
                  "province": {
                    "type": "string",
                    "description": "The state or province associated with the address. Check if country requires a province COUNTRIES_REQUIRING_PROVINCE . If country is United States then validate with UPS external service."
                  },
                  "shipping_lines_override": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "description": "The code of the associated shipping line."
                        },
                        "price": {
                          "type": "string",
                          "description": "The price (in store’s currency) of the associated shipping line."
                        },
                        "title": {
                          "type": "string",
                          "description": "The title of the associated shipping line."
                        }
                      }
                    },
                    "description": "Used when shipping rates need to be overridden. If this parameter has value null , rates will be fetched when a related Charge is created or regenerated"
                  },
                  "zip": {
                    "type": "string",
                    "description": "The zip or postal code associated with the address. Check if the country requires a zip code COUNTRIES_NOT_REQUIRING_ZIP . If not included in the list then a zip code with the minimum length of 1 character is required. If the country is United States then validate against regex UNITED_STATES_ZIP_REGEX and validate with UPS external service. If country is United Kingdom then validate against regex UNITED_KINGDOM_ZIP_REGEX ."
                  },
                  "cart_attributes": {
                    "type": "array",
                    "items": {},
                    "description": "Additional information added to an initial order."
                  },
                  "original_shipping_lines": {
                    "description": "Shipping line details."
                  }
                }
              },
              "example": {
                "address1": "3020 Nebraska Avenue"
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_customers"
        ]
      },
      "delete": {
        "operationId": "delete_address",
        "summary": "Delete an address",
        "description": "It is possible to delete certain addresses from the store using API. However, there are some rules for deleting them. Note: Only Addresses with no active subscriptions can be deleted.",
        "tags": [
          "Addresses"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {}
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_customers"
        ]
      }
    },
    "/addresses": {
      "get": {
        "operationId": "list_addresses",
        "summary": "List addresses",
        "description": "Returns all addresses from the store, or addresses for the user given in the parameter. HTTPS request examples GET /addresses GET /customers/:id/addresses",
        "tags": [
          "Addresses"
        ],
        "parameters": [
          {
            "name": "created_at_max",
            "in": "query",
            "required": false,
            "description": "Returns addresses created before the given time.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at_min",
            "in": "query",
            "required": false,
            "description": "Returns addresses created after the given time.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "query",
            "required": false,
            "description": "Unique numeric identifier for the customer associated with the address.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "discount_code",
            "in": "query",
            "required": false,
            "description": "Returns addresses that have the provided discount_code.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "discount_id",
            "in": "query",
            "required": false,
            "description": "Returns addresses that have the provided discount_id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "required": false,
            "description": "Filter addresses by id. If passing multiple values, must be comma separated. Non-integer values will result in a 422 error",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "The amount of results. Default is 50 while the maximum is 250.",
            "schema": {
              "type": "string",
              "default": 50
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "The page to show. Default is 1.",
            "schema": {
              "type": "string",
              "deprecated": true,
              "default": 1
            }
          },
          {
            "name": "updated_at_max",
            "in": "query",
            "required": false,
            "description": "Returns addresses updated before the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_min",
            "in": "query",
            "required": false,
            "description": "Returns addresses updated after the given time.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "addresses": [
                    {
                      "id": 48563471,
                      "address1": "6419 Ocean Front Walk",
                      "address2": "Apt 1",
                      "cart_note": null,
                      "city": "Los Angeles",
                      "company": "",
                      "country": "United States",
                      "country_code": "US",
                      "created_at": "2020-06-16T12:45:35",
                      "customer_id": 43845860,
                      "discount_id": null,
                      "first_name": "Nikola",
                      "last_name": "Tesla",
                      "note_attributes": [
                        {
                          "name": "custom name",
                          "value": "custom value"
                        }
                      ],
                      "original_shipping_lines": [],
                      "phone": "1-800-800-8000",
                      "presentment_currency": null,
                      "province": "California",
                      "shipping_lines_override": null,
                      "updated_at": "2020-07-10T11:12:58",
                      "zip": "90293"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "read_customers"
        ]
      }
    },
    "/addresses/count": {
      "get": {
        "operationId": "count_addresses",
        "summary": "Count addresses",
        "description": "Retrieve the count of addresses. HTTPS request examples GET /addresses/count GET /addresses/count?discount_code=10PERCENTOFF GET /addresses/count?discount_id=123123123 GET /addresses/count?created_at_min=2019-11-11 GET /addresses/count?created_at_max=2019-11-11 GET /addresses/count?updated_at_min=2019-11-11 GET /addresses/count?updated_at_max=2019-11-11 GET /addresses/count?created_at_min=2019-11-10&updated_at_max=2019-11-11",
        "tags": [
          "Addresses"
        ],
        "parameters": [
          {
            "name": "created_at_max",
            "in": "query",
            "required": false,
            "description": "Returns addresses created before the given time.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at_min",
            "in": "query",
            "required": false,
            "description": "Returns addresses created after the given time.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "discount_code",
            "in": "query",
            "required": false,
            "description": "Returns addresses that have the provided discount_code.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "discount_id",
            "in": "query",
            "required": false,
            "description": "Returns addresses that have the provided discount_id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_max",
            "in": "query",
            "required": false,
            "description": "Returns addresses updated before the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_min",
            "in": "query",
            "required": false,
            "description": "Returns addresses updated after the given time.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "count": 6000
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "read_customers"
        ]
      }
    },
    "/addresses/validate": {
      "post": {
        "operationId": "validate_address",
        "summary": "Validate an address",
        "description": "It is important to validate an address before attempting to create charges for it, as at that point the user may no longer be available to edit incorrect values.",
        "tags": [
          "Addresses"
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "city": "santa monica",
                  "errors": {},
                  "state": "CA",
                  "state_name": "California",
                  "zipcode": "90404"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "address1": {
                    "type": "string",
                    "description": "The street associated with the address."
                  },
                  "city": {
                    "type": "string",
                    "description": "The city associated with the address."
                  },
                  "state": {
                    "type": "string",
                    "description": "The state associated with the address."
                  },
                  "zipcode": {
                    "type": "string",
                    "description": "The zip or postal code associated with the address."
                  }
                },
                "required": [
                  "address1",
                  "city",
                  "state",
                  "zipcode"
                ]
              },
              "example": {
                "address1": "1776 Washington Street",
                "city": "santa monica",
                "state": "California",
                "zipcode": "90404"
              }
            }
          }
        }
      }
    },
    "/charges/{id}": {
      "get": {
        "operationId": "charge_retrieve",
        "summary": "Retrieve a charge",
        "description": "Retrieve a charge using the Recharge charge id.",
        "tags": [
          "Charges"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "charge": {
                    "id": 100714428,
                    "address_id": 21317826,
                    "analytics_data": {
                      "utm_params": [
                        {
                          "utm_campaign": "spring_sale",
                          "utm_content": "differentiate-content",
                          "utm_data_source": "shopify_cookie",
                          "utm_medium": "email",
                          "utm_source": "newsletter",
                          "utm_term": "test-term",
                          "utm_time_stamp": "2019-12-16T23:57:28.752Z"
                        }
                      ]
                    },
                    "billing_address": {
                      "address1": "3030 Nebraska Avenue",
                      "address2": null,
                      "city": "Los Angeles",
                      "company": null,
                      "country": "United States",
                      "first_name": "Mike",
                      "last_name": "Flynn",
                      "phone": "3103843698",
                      "province": "California",
                      "zip": "90404"
                    },
                    "client_details": {
                      "browser_ip": null,
                      "user_agent": null
                    },
                    "created_at": "2018-11-14T09:45:44",
                    "customer_hash": "18819267b1f9095be98f13a8",
                    "customer_id": 18819267,
                    "discount_codes": [],
                    "email": "example_mail@gmail.com",
                    "first_name": "Mike",
                    "has_uncommited_changes": false,
                    "last_name": "Flynn",
                    "line_items": [
                      {
                        "grams": 4536,
                        "images": {
                          "large": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee_large.png",
                          "medium": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee__medium.png",
                          "original": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee_.png",
                          "small": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee__small.png"
                        },
                        "original_price": "12.00",
                        "price": "12.00",
                        "properties": [
                          {
                            "name": "grind",
                            "value": "drip"
                          }
                        ],
                        "quantity": 1,
                        "shopify_product_id": "1255183683",
                        "shopify_variant_id": "3844924611",
                        "sku": "MILK-1",
                        "subscription_id": 27363808,
                        "title": "Sumatra Coffee",
                        "variant_title": "Milk - a / b"
                      }
                    ],
                    "note": "next order #1",
                    "note_attributes": [
                      {
                        "name": "custom name",
                        "value": "custom value"
                      }
                    ],
                    "processor_name": "stripe",
                    "scheduled_at": "2018-12-12T00:00:00",
                    "shipments_count": null,
                    "shipping_address": {
                      "address1": "3030 Nebraska Avenue",
                      "address2": "",
                      "city": "Los Angeles",
                      "company": "Recharge",
                      "country": "United States",
                      "first_name": "Mike",
                      "last_name": "Flynn",
                      "phone": "3103843698",
                      "province": "California",
                      "zip": "90404"
                    },
                    "shipping_lines": [
                      {
                        "code": "Standard Shipping",
                        "price": "0.00",
                        "title": "Standard Shipping"
                      }
                    ],
                    "shopify_order_id": 12345,
                    "status": "QUEUED",
                    "sub_total": 12,
                    "subtotal_price": "12:00",
                    "tags": "Subscription",
                    "tax_lines": [
                      {
                        "price": "0.950",
                        "rate": 0.0725,
                        "title": "CA State Tax"
                      },
                      {
                        "price": "0.335",
                        "rate": 0.0225,
                        "title": "Los Angeles  County Tax"
                      }
                    ],
                    "total_discounts": "0.0",
                    "total_line_items_price": "12.00",
                    "total_price": "12.00",
                    "total_refunds": null,
                    "total_tax": 0,
                    "total_weight": 4536,
                    "transaction_id": "cch_1Du2QpJ2iqHvZRd18RyqoPvc",
                    "type": "RECURRING",
                    "updated_at": "2018-11-14T09:45:44"
                  }
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "read_orders"
        ]
      }
    },
    "/charges": {
      "get": {
        "operationId": "charge_list",
        "summary": "List charges",
        "description": "Returns a list of charges. HTTPS request examples GET /charges?address_id=21317826 GET /charges?customer_id=18819267 GET /charges?date_min=2021-05-18&date_max=2021-06-18 GET /charges?discount_code=10PERCENTOFF GET /charges?discount_id=753963 GET /charges?ids=1123551,262667345,12341535 GET /charges?shopify_order_id=7895652 GET /charges?sort_by=id-desc GET /charges?status=queued GET /charges?status=queued,refunded,partially_refunded GET /charges?subscription_id=753489514",
        "tags": [
          "Charges"
        ],
        "parameters": [
          {
            "name": "address_id",
            "in": "query",
            "required": false,
            "description": "Filter charges by address.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at_max",
            "in": "query",
            "required": false,
            "description": "Show charges created before the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at_min",
            "in": "query",
            "required": false,
            "description": "Show charges created after the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "query",
            "required": false,
            "description": "Filter charges by customer.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date",
            "in": "query",
            "required": false,
            "description": "Show charges scheduled on the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date_max",
            "in": "query",
            "required": false,
            "description": "Show charges scheduled before the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date_min",
            "in": "query",
            "required": false,
            "description": "Show charges scheduled after the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "discount_code",
            "in": "query",
            "required": false,
            "description": "List charges that contain the given discount_code .",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "discount_id",
            "in": "query",
            "required": false,
            "description": "List charges that contain the given discount_id .",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "required": false,
            "description": "Filter charges by id . If passing multiple values, must be comma separated.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "The amount of results.",
            "schema": {
              "type": "string",
              "default": 50
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "The page to show.",
            "schema": {
              "type": "string",
              "deprecated": true,
              "default": 1
            }
          },
          {
            "name": "shopify_order_id",
            "in": "query",
            "required": false,
            "description": "Filter charges by shopify_order_id .",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Filter charges by status",
            "schema": {
              "type": "string",
              "enum": [
                "SUCCESS",
                "QUEUED",
                "ERROR",
                "REFUNDED",
                "PARTIALLY_REFUNDED",
                "SKIPPED"
              ]
            }
          },
          {
            "name": "subscription_id",
            "in": "query",
            "required": false,
            "description": "Filter charges by subscription_id .",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_max",
            "in": "query",
            "required": false,
            "description": "Show charges updated before the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_min",
            "in": "query",
            "required": false,
            "description": "Show charges updated after the given date.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "charges": [
                    {
                      "id": 100714428,
                      "address_id": 21317826,
                      "analytics_data": {
                        "utm_params": [
                          {
                            "utm_campaign": "spring_sale",
                            "utm_content": "differentiate-content",
                            "utm_data_source": "shopify_cookie",
                            "utm_medium": "email",
                            "utm_source": "newsletter",
                            "utm_term": "test-term",
                            "utm_time_stamp": "2019-12-16T23:57:28.752Z"
                          }
                        ]
                      },
                      "billing_address": {
                        "address1": "3030 Nebraska Avenue",
                        "address2": null,
                        "city": "Los Angeles",
                        "company": null,
                        "country": "United States",
                        "first_name": "Mike",
                        "last_name": "Flynn",
                        "phone": "3103843698",
                        "province": "California",
                        "zip": "90404"
                      },
                      "client_details": {
                        "browser_ip": null,
                        "user_agent": null
                      },
                      "created_at": "2018-11-14T09:45:44",
                      "customer_hash": "18819267b1f9095be98f13a8",
                      "customer_id": 18819267,
                      "discount_codes": [],
                      "email": "example_mail@gmail.com",
                      "first_name": "Mike",
                      "has_uncommited_changes": false,
                      "last_name": "Flynn",
                      "line_items": [
                        {
                          "grams": 4536,
                          "images": {
                            "large": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee_large.png",
                            "medium": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee__medium.png",
                            "original": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee_.png",
                            "small": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee__small.png"
                          },
                          "original_price": "12.00",
                          "price": "12.00",
                          "properties": [
                            {
                              "name": "grind",
                              "value": "drip"
                            }
                          ],
                          "quantity": 1,
                          "shopify_product_id": "1255183683",
                          "shopify_variant_id": "3844924611",
                          "sku": "MILK-1",
                          "subscription_id": 27363808,
                          "title": "Sumatra Coffee",
                          "variant_title": "Milk - a / b"
                        }
                      ],
                      "note": " next order #1   - Subscription Recurring Order",
                      "note_attributes": null,
                      "processor_name": "stripe",
                      "scheduled_at": "2018-12-19T00:00:00",
                      "shipments_count": null,
                      "shipping_address": {
                        "address1": "3030 Nebraska Avenue",
                        "address2": "",
                        "city": "Los Angeles",
                        "company": "Recharge",
                        "country": "United States",
                        "first_name": "Mike",
                        "last_name": "Flynn",
                        "phone": "3103843698",
                        "province": "California",
                        "zip": "90404"
                      },
                      "shipping_lines": [
                        {
                          "code": "Standard Shipping",
                          "price": "0.00",
                          "title": "Standard Shipping"
                        }
                      ],
                      "shopify_order_id": null,
                      "status": "QUEUED",
                      "sub_total": null,
                      "subtotal_price": "12:00",
                      "tags": "Subscription, Subscription Recurring Order",
                      "tax_lines": [
                        {
                          "price": "0.950",
                          "rate": 0.0725,
                          "title": "CA State Tax"
                        },
                        {
                          "price": "0.335",
                          "rate": 0.0225,
                          "title": "Los Angeles  County Tax"
                        }
                      ],
                      "total_discounts": "0.0",
                      "total_line_items_price": "12.00",
                      "total_price": "12.00",
                      "total_refunds": null,
                      "total_tax": 0,
                      "total_weight": 4536,
                      "transaction_id": "cch_1Du2QpJ2iqHvZRd18RyqoPvc",
                      "type": "RECURRING",
                      "updated_at": "2018-11-14T10:08:14"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "read_orders"
        ]
      }
    },
    "/charges/count": {
      "get": {
        "operationId": "charge_count",
        "summary": "Count charges",
        "description": "Retrieve a count of charges. HTTPS request examples GET /charges/count GET /charges/count?address_id=10175825 GET /charges/count?customer_id=10101 GET /charges/count?date_min=2019-11-10&date_max=2019-11-11 GET /charges/count?discount_code=10PERCENTOFF GET /charges/count?discount_id=18493516 GET /charges/count?shopify_order_id=281223307 GET /charges/count?status=queued GET /charges/count?status=queued,refunded,partially_refunded GET /charges/count?subscription_id=14562",
        "tags": [
          "Charges"
        ],
        "parameters": [
          {
            "name": "address_id",
            "in": "query",
            "required": false,
            "description": "Filter charges by address.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "query",
            "required": false,
            "description": "Filter charges by customer.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date",
            "in": "query",
            "required": false,
            "description": "Show charges scheduled on the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date_max",
            "in": "query",
            "required": false,
            "description": "Show charges scheduled before the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date_min",
            "in": "query",
            "required": false,
            "description": "Show charges scheduled after the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "discount_id",
            "in": "query",
            "required": false,
            "description": "List charges that contain the given discount_id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "shopify_order_id",
            "in": "query",
            "required": false,
            "description": "Filter charges by shopify_order_id.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Filter charges by status. Available status: SUCCESS, QUEUED, ERROR, REFUNDED, PARTIALLY_REFUNDED, SKIPPED.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscription_id",
            "in": "query",
            "required": false,
            "description": "Filter charges by subscription_id.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "count": 38667
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "read_orders"
        ]
      }
    },
    "/charges/{id}/change_next_charge_date": {
      "post": {
        "operationId": "charge_change_next_date",
        "summary": "Change next charge date",
        "description": "Modify the next_charge_date of the subscription.",
        "tags": [
          "Charges"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "charge": {
                    "id": 100714428,
                    "address_id": 21317826,
                    "analytics_data": {
                      "utm_params": [
                        {
                          "utm_campaign": "spring_sale",
                          "utm_content": "differentiate-content",
                          "utm_data_source": "shopify_cookie",
                          "utm_medium": "email",
                          "utm_source": "newsletter",
                          "utm_term": "test-term",
                          "utm_time_stamp": "2019-12-16T23:57:28.752Z"
                        }
                      ]
                    },
                    "billing_address": {
                      "address1": "3030 Nebraska Avenue",
                      "address2": null,
                      "city": "Los Angeles",
                      "company": null,
                      "country": "United States",
                      "first_name": "Mike",
                      "last_name": "Flynn",
                      "phone": "3103843698",
                      "province": "California",
                      "zip": "90404"
                    },
                    "client_details": {
                      "browser_ip": null,
                      "user_agent": null
                    },
                    "created_at": "2018-11-14T09:45:44",
                    "customer_hash": "18819267b1f9095be98f13a8",
                    "customer_id": 18819267,
                    "discount_codes": [],
                    "email": "example_mail@gmail.com",
                    "first_name": "Mike",
                    "has_uncommited_changes": false,
                    "last_name": "Flynn",
                    "line_items": [
                      {
                        "grams": 4536,
                        "images": {
                          "large": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee_large.png",
                          "medium": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee__medium.png",
                          "original": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee_.png",
                          "small": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee__small.png"
                        },
                        "original_price": "12.00",
                        "price": "12.00",
                        "properties": [
                          {
                            "name": "grind",
                            "value": "drip"
                          }
                        ],
                        "quantity": 1,
                        "shopify_product_id": "1255183683",
                        "shopify_variant_id": "3844924611",
                        "sku": "MILK-1",
                        "subscription_id": 27363808,
                        "title": "Sumatra Coffee",
                        "variant_title": "Milk - a / b"
                      }
                    ],
                    "note": " next order #1   - Subscription Recurring Order",
                    "note_attributes": null,
                    "processor_name": "stripe",
                    "scheduled_at": "2021-12-19T00:00:00",
                    "shipments_count": null,
                    "shipping_address": {
                      "address1": "3030 Nebraska Avenue",
                      "address2": "",
                      "city": "Los Angeles",
                      "company": "Recharge",
                      "country": "United States",
                      "first_name": "Mike",
                      "last_name": "Flynn",
                      "phone": "3103843698",
                      "province": "California",
                      "zip": "90404"
                    },
                    "shipping_lines": [
                      {
                        "code": "Standard Shipping",
                        "price": "0.00",
                        "title": "Standard Shipping"
                      }
                    ],
                    "shopify_order_id": null,
                    "status": "QUEUED",
                    "sub_total": null,
                    "subtotal_price": "12.00",
                    "tags": "Subscription, Subscription Recurring Order",
                    "tax_lines": [
                      {
                        "price": "0.950",
                        "rate": 0.0725,
                        "title": "CA State Tax"
                      },
                      {
                        "price": "0.335",
                        "rate": 0.0225,
                        "title": "Los Angeles  County Tax"
                      }
                    ],
                    "total_discounts": "0.0",
                    "total_line_items_price": "12.00",
                    "total_price": "12.00",
                    "total_refunds": null,
                    "total_tax": 0,
                    "total_weight": 4536,
                    "transaction_id": "cch_1Du2QpJ2iqHvZRd18RyqoPvc",
                    "type": "RECURRING",
                    "updated_at": "2018-11-14T09:59:28"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "next_charge_date": {
                    "type": "string",
                    "description": "Next charge date in ISO 8601 format."
                  }
                },
                "required": [
                  "next_charge_date"
                ]
              },
              "example": {
                "next_charge_date": "2021-12-19"
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_orders"
        ]
      }
    },
    "/charges/{id}/skip": {
      "post": {
        "operationId": "charge_skip",
        "summary": "Skip a charge",
        "description": "Skip the charge and generate the next Charge in the schedule.",
        "tags": [
          "Charges"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "charge": {
                    "id": 100714428,
                    "address_id": 21317826,
                    "analytics_data": {
                      "utm_params": [
                        {
                          "utm_campaign": "spring_sale",
                          "utm_content": "differentiate-content",
                          "utm_data_source": "shopify_cookie",
                          "utm_medium": "email",
                          "utm_source": "newsletter",
                          "utm_term": "test-term",
                          "utm_time_stamp": "2019-12-16T23:57:28.752Z"
                        }
                      ]
                    },
                    "billing_address": {
                      "address1": "3030 Nebraska Avenue",
                      "address2": null,
                      "city": "Los Angeles",
                      "company": null,
                      "country": "United States",
                      "first_name": "Mike",
                      "last_name": "Flynn",
                      "phone": "3103843698",
                      "province": "California",
                      "zip": "90404"
                    },
                    "client_details": {
                      "browser_ip": null,
                      "user_agent": null
                    },
                    "created_at": "2018-11-14T09:45:44",
                    "customer_hash": "18819267b1f9095be98f13a8",
                    "customer_id": 18819267,
                    "discount_codes": [],
                    "email": "example_mail@gmail.com",
                    "first_name": "Mike",
                    "has_uncommited_changes": false,
                    "last_name": "Flynn",
                    "line_items": [
                      {
                        "grams": 4536,
                        "images": {
                          "large": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee_large.png",
                          "medium": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee__medium.png",
                          "original": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee_.png",
                          "small": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee__small.png"
                        },
                        "original_price": "12.00",
                        "price": "12.00",
                        "properties": [
                          {
                            "name": "grind",
                            "value": "drip"
                          }
                        ],
                        "quantity": 1,
                        "shopify_product_id": "1255183683",
                        "shopify_variant_id": "3844924611",
                        "sku": "MILK-1",
                        "subscription_id": 27363808,
                        "title": "Sumatra Coffee",
                        "variant_title": "Milk - a / b"
                      }
                    ],
                    "note": " next order #1   - Subscription Recurring Order",
                    "note_attributes": null,
                    "processor_name": "stripe",
                    "scheduled_at": "2021-12-19T00:00:00",
                    "shipments_count": null,
                    "shipping_address": {
                      "address1": "3030 Nebraska Avenue",
                      "address2": "",
                      "city": "Los Angeles",
                      "company": "Recharge",
                      "country": "United States",
                      "first_name": "Mike",
                      "last_name": "Flynn",
                      "phone": "3103843698",
                      "province": "California",
                      "zip": "90404"
                    },
                    "shipping_lines": [
                      {
                        "code": "Standard Shipping",
                        "price": "0.00",
                        "title": "Standard Shipping"
                      }
                    ],
                    "shopify_order_id": null,
                    "status": "QUEUED",
                    "sub_total": null,
                    "subtotal_price": "12.00",
                    "tags": "Subscription, Subscription Recurring Order",
                    "tax_lines": [
                      {
                        "price": "0.950",
                        "rate": 0.0725,
                        "title": "CA State Tax"
                      },
                      {
                        "price": "0.335",
                        "rate": 0.0225,
                        "title": "Los Angeles  County Tax"
                      }
                    ],
                    "total_discounts": "0.0",
                    "total_line_items_price": "12.00",
                    "total_price": "12.00",
                    "total_refunds": null,
                    "total_tax": 0,
                    "total_weight": 4536,
                    "transaction_id": "cch_1Du2QpJ2iqHvZRd18RyqoPvc",
                    "type": "RECURRING",
                    "updated_at": "2018-11-14T09:59:28"
                  }
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_orders"
        ]
      }
    },
    "/charges/{id}/unskip": {
      "post": {
        "operationId": "charge_unskip",
        "summary": "Unskip a charge",
        "description": "Unskip the charge.",
        "tags": [
          "Charges"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "charge": {
                    "id": 100714428,
                    "address_id": 21317826,
                    "analytics_data": {
                      "utm_params": [
                        {
                          "utm_campaign": "spring_sale",
                          "utm_content": "differentiate-content",
                          "utm_data_source": "shopify_cookie",
                          "utm_medium": "email",
                          "utm_source": "newsletter",
                          "utm_term": "test-term",
                          "utm_time_stamp": "2019-12-16T23:57:28.752Z"
                        }
                      ]
                    },
                    "billing_address": {
                      "address1": "3030 Nebraska Avenue",
                      "address2": null,
                      "city": "Los Angeles",
                      "company": null,
                      "country": "United States",
                      "first_name": "Mike",
                      "last_name": "Flynn",
                      "phone": "3103843698",
                      "province": "California",
                      "zip": "90404"
                    },
                    "client_details": {
                      "browser_ip": null,
                      "user_agent": null
                    },
                    "created_at": "2018-11-14T09:45:44",
                    "customer_hash": "18819267b1f9095be98f13a8",
                    "customer_id": 18819267,
                    "discount_codes": [],
                    "email": "example_mail@gmail.com",
                    "first_name": "Mike",
                    "has_uncommited_changes": false,
                    "last_name": "Flynn",
                    "line_items": [
                      {
                        "grams": 4536,
                        "images": {
                          "large": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee_large.png",
                          "medium": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee__medium.png",
                          "original": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee_.png",
                          "small": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee__small.png"
                        },
                        "original_price": "12.00",
                        "price": "12.00",
                        "properties": [
                          {
                            "name": "grind",
                            "value": "drip"
                          }
                        ],
                        "quantity": 1,
                        "shopify_product_id": "1255183683",
                        "shopify_variant_id": "3844924611",
                        "sku": "MILK-1",
                        "subscription_id": 27363808,
                        "title": "Sumatra Coffee",
                        "variant_title": "Milk - a / b"
                      }
                    ],
                    "note": " next order #1   - Subscription Recurring Order",
                    "note_attributes": null,
                    "processor_name": "stripe",
                    "scheduled_at": "2021-12-19T00:00:00",
                    "shipments_count": null,
                    "shipping_address": {
                      "address1": "3030 Nebraska Avenue",
                      "address2": "",
                      "city": "Los Angeles",
                      "company": "Recharge",
                      "country": "United States",
                      "first_name": "Mike",
                      "last_name": "Flynn",
                      "phone": "3103843698",
                      "province": "California",
                      "zip": "90404"
                    },
                    "shipping_lines": [
                      {
                        "code": "Standard Shipping",
                        "price": "0.00",
                        "title": "Standard Shipping"
                      }
                    ],
                    "shopify_order_id": null,
                    "status": "QUEUED",
                    "sub_total": null,
                    "subtotal_price": "12.00",
                    "tags": "Subscription, Subscription Recurring Order",
                    "tax_lines": [
                      {
                        "price": "0.950",
                        "rate": 0.0725,
                        "title": "CA State Tax"
                      },
                      {
                        "price": "0.335",
                        "rate": 0.0225,
                        "title": "Los Angeles  County Tax"
                      }
                    ],
                    "total_discounts": "0.0",
                    "total_line_items_price": "12.00",
                    "total_price": "12.00",
                    "total_refunds": null,
                    "total_tax": 0,
                    "total_weight": 4536,
                    "transaction_id": "cch_1Du2QpJ2iqHvZRd18RyqoPvc",
                    "type": "RECURRING",
                    "updated_at": "2018-11-14T09:59:28"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable",
            "content": {
              "application/json": {
                "example": {}
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_orders"
        ]
      }
    },
    "/charges/{id}/refund": {
      "post": {
        "operationId": "charge_refund",
        "summary": "Refund a charge",
        "description": "Applies a refund to a Charge . After the refund, the Charge will have status parameter REFUNDED or PARTIALLY_REFUNDED .",
        "tags": [
          "Charges"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "charge": {
                    "id": 100714428,
                    "address_id": 21317826,
                    "analytics_data": {
                      "utm_params": [
                        {
                          "utm_campaign": "spring_sale",
                          "utm_content": "differentiate-content",
                          "utm_data_source": "shopify_cookie",
                          "utm_medium": "email",
                          "utm_source": "newsletter",
                          "utm_term": "test-term",
                          "utm_time_stamp": "2019-12-16T23:57:28.752Z"
                        }
                      ]
                    },
                    "billing_address": {
                      "address1": "3030 Nebraska Avenue",
                      "address2": null,
                      "city": "Los Angeles",
                      "company": null,
                      "country": "United States",
                      "first_name": "Mike",
                      "last_name": "Flynn",
                      "phone": "3103843698",
                      "province": "California",
                      "zip": "90404"
                    },
                    "client_details": {
                      "browser_ip": null,
                      "user_agent": null
                    },
                    "created_at": "2018-11-14T09:45:44",
                    "customer_hash": "18819267b1f9095be98f13a8",
                    "customer_id": 18819267,
                    "discount_codes": [],
                    "email": "example_mail@gmail.com",
                    "first_name": "Mike",
                    "has_uncommited_changes": false,
                    "last_name": "Flynn",
                    "line_items": [
                      {
                        "grams": 4536,
                        "images": {
                          "large": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee_large.png",
                          "medium": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee__medium.png",
                          "original": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee_.png",
                          "small": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee__small.png"
                        },
                        "original_price": "12.00",
                        "price": "12.00",
                        "properties": [
                          {
                            "name": "grind",
                            "value": "drip"
                          }
                        ],
                        "quantity": 1,
                        "shopify_product_id": "1255183683",
                        "shopify_variant_id": "3844924611",
                        "sku": "MILK-1",
                        "subscription_id": 27363808,
                        "title": "Sumatra Coffee",
                        "variant_title": "Milk - a / b"
                      }
                    ],
                    "note": " next order #1   - Subscription Recurring Order",
                    "note_attributes": null,
                    "processor_name": "stripe",
                    "scheduled_at": "2021-12-19T00:00:00",
                    "shipments_count": null,
                    "shipping_address": {
                      "address1": "3030 Nebraska Avenue",
                      "address2": "",
                      "city": "Los Angeles",
                      "company": "Recharge",
                      "country": "United States",
                      "first_name": "Mike",
                      "last_name": "Flynn",
                      "phone": "3103843698",
                      "province": "California",
                      "zip": "90404"
                    },
                    "shipping_lines": [
                      {
                        "code": "Standard Shipping",
                        "price": "0.00",
                        "title": "Standard Shipping"
                      }
                    ],
                    "shopify_order_id": null,
                    "status": "QUEUED",
                    "sub_total": null,
                    "subtotal_price": "12.00",
                    "tags": "Subscription, Subscription Recurring Order",
                    "tax_lines": [
                      {
                        "price": "0.950",
                        "rate": 0.0725,
                        "title": "CA State Tax"
                      },
                      {
                        "price": "0.335",
                        "rate": 0.0225,
                        "title": "Los Angeles  County Tax"
                      }
                    ],
                    "total_discounts": "0.0",
                    "total_line_items_price": "12.00",
                    "total_price": "12.00",
                    "total_refunds": null,
                    "total_tax": 0,
                    "total_weight": 4536,
                    "transaction_id": "cch_1Du2QpJ2iqHvZRd18RyqoPvc",
                    "type": "RECURRING",
                    "updated_at": "2018-11-14T09:59:28"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "string",
                    "description": "Amount of money that will be refunded. It can be fully or partially refunded."
                  },
                  "full_refund": {
                    "type": "boolean",
                    "description": "If this parameter is set to true , the charge will be totally refunded."
                  }
                },
                "required": [
                  "amount"
                ]
              },
              "example": {
                "amount": 11
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_orders",
          "write_payments"
        ]
      }
    },
    "/charges/{id}/process": {
      "post": {
        "operationId": "charge_process",
        "summary": "Process a charge",
        "description": "The charge processing route can be used to process Charges that are in a queued or error status.",
        "tags": [
          "Charges"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "charge": {
                    "id": 100714428,
                    "address_id": 21317826,
                    "analytics_data": {
                      "utm_params": [
                        {
                          "utm_campaign": "spring_sale",
                          "utm_content": "differentiate-content",
                          "utm_data_source": "shopify_cookie",
                          "utm_medium": "email",
                          "utm_source": "newsletter",
                          "utm_term": "test-term",
                          "utm_time_stamp": "2019-12-16T23:57:28.752Z"
                        }
                      ]
                    },
                    "billing_address": {
                      "address1": "3030 Nebraska Avenue",
                      "address2": null,
                      "city": "Los Angeles",
                      "company": null,
                      "country": "United States",
                      "first_name": "Mike",
                      "last_name": "Flynn",
                      "phone": "3103843698",
                      "province": "California",
                      "zip": "90404"
                    },
                    "client_details": {
                      "browser_ip": null,
                      "user_agent": null
                    },
                    "created_at": "2018-11-14T09:45:44",
                    "customer_hash": "18819267b1f9095be98f13a8",
                    "customer_id": 18819267,
                    "discount_codes": [],
                    "email": "example_mail@gmail.com",
                    "first_name": "Mike",
                    "has_uncommited_changes": false,
                    "last_name": "Flynn",
                    "line_items": [
                      {
                        "grams": 4536,
                        "images": {
                          "large": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee_large.png",
                          "medium": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee__medium.png",
                          "original": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee_.png",
                          "small": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee__small.png"
                        },
                        "original_price": "12.00",
                        "price": "12.00",
                        "properties": [
                          {
                            "name": "grind",
                            "value": "drip"
                          }
                        ],
                        "quantity": 1,
                        "shopify_product_id": "1255183683",
                        "shopify_variant_id": "3844924611",
                        "sku": "MILK-1",
                        "subscription_id": 27363808,
                        "title": "Sumatra Coffee",
                        "variant_title": "Milk - a / b"
                      }
                    ],
                    "note": " next order #1   - Subscription Recurring Order",
                    "note_attributes": null,
                    "processor_name": "stripe",
                    "scheduled_at": "2021-12-19T00:00:00",
                    "shipments_count": null,
                    "shipping_address": {
                      "address1": "3030 Nebraska Avenue",
                      "address2": "",
                      "city": "Los Angeles",
                      "company": "Recharge",
                      "country": "United States",
                      "first_name": "Mike",
                      "last_name": "Flynn",
                      "phone": "3103843698",
                      "province": "California",
                      "zip": "90404"
                    },
                    "shipping_lines": [
                      {
                        "code": "Standard Shipping",
                        "price": "0.00",
                        "title": "Standard Shipping"
                      }
                    ],
                    "shopify_order_id": null,
                    "status": "QUEUED",
                    "sub_total": null,
                    "subtotal_price": "12.00",
                    "tags": "Subscription, Subscription Recurring Order",
                    "tax_lines": [
                      {
                        "price": "0.950",
                        "rate": 0.0725,
                        "title": "CA State Tax"
                      },
                      {
                        "price": "0.335",
                        "rate": 0.0225,
                        "title": "Los Angeles  County Tax"
                      }
                    ],
                    "total_discounts": "0.0",
                    "total_line_items_price": "12.00",
                    "total_price": "12.00",
                    "total_refunds": null,
                    "total_tax": 0,
                    "total_weight": 4536,
                    "transaction_id": "cch_1Du2QpJ2iqHvZRd18RyqoPvc",
                    "type": "RECURRING",
                    "updated_at": "2018-11-14T09:59:28"
                  }
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_payments"
        ]
      }
    },
    "/charges/{id}/capture_payment": {
      "post": {
        "operationId": "charge_capture",
        "summary": "Capture a charge",
        "description": "If you are leveraging the authorize/capture workflow with Recharge, the charge/capture_payment endpoint is how to capture the funds of a previously authorized Charge . Capture Window You can only capture payment on charges that have been authorized within the last 7 days. This is a limitation of payment providers/financial institutions and Recharge cannot configure or override this limit. Any charges that are attempted to be captured beyond that 7 day window may respond in an error indicating the charge cannot be captured. As a result, Recharge provides a charge/uncaptured webhook. If subscribed, this webhook will notify you of any charges that are not captured 6 days after authorization. Please refer to the webhooks section for more information.",
        "tags": [
          "Charges"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Charge captured successfully",
            "content": {
              "application/json": {
                "example": {
                  "charge": {
                    "id": 100714428,
                    "address_id": 21317826,
                    "analytics_data": {
                      "utm_params": [
                        {
                          "utm_campaign": "spring_sale",
                          "utm_content": "differentiate-content",
                          "utm_data_source": "shopify_cookie",
                          "utm_medium": "email",
                          "utm_source": "newsletter",
                          "utm_term": "test-term",
                          "utm_time_stamp": "2019-12-16T23:57:28.752Z"
                        }
                      ]
                    },
                    "billing_address": {
                      "address1": "3030 Nebraska Avenue",
                      "address2": null,
                      "city": "Los Angeles",
                      "company": null,
                      "country": "United States",
                      "first_name": "Mike",
                      "last_name": "Flynn",
                      "phone": "3103843698",
                      "province": "California",
                      "zip": "90404"
                    },
                    "client_details": {
                      "browser_ip": null,
                      "user_agent": null
                    },
                    "created_at": "2018-11-14T09:45:44",
                    "customer_hash": "18819267b1f9095be98f13a8",
                    "customer_id": 18819267,
                    "discount_codes": [],
                    "email": "example_mail@gmail.com",
                    "first_name": "Mike",
                    "has_uncommited_changes": false,
                    "last_name": "Flynn",
                    "line_items": [
                      {
                        "grams": 4536,
                        "images": {
                          "large": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee_large.png",
                          "medium": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee__medium.png",
                          "original": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee_.png",
                          "small": "https://cdn.shopify.com/s/files/1/0175/0695/9460/products/Sumatra_Coffee__small.png"
                        },
                        "original_price": "12.00",
                        "price": "12.00",
                        "properties": [
                          {
                            "name": "grind",
                            "value": "drip"
                          }
                        ],
                        "quantity": 1,
                        "shopify_product_id": "1255183683",
                        "shopify_variant_id": "3844924611",
                        "sku": "MILK-1",
                        "subscription_id": 27363808,
                        "title": "Sumatra Coffee",
                        "variant_title": "Milk - a / b"
                      }
                    ],
                    "note": "next order #2",
                    "note_attributes": null,
                    "processor_name": "stripe",
                    "scheduled_at": "2018-12-19T00:00:00",
                    "shipments_count": null,
                    "shipping_address": {
                      "address1": "3030 Nebraska Avenue",
                      "address2": "",
                      "city": "Los Angeles",
                      "company": "Recharge",
                      "country": "United States",
                      "first_name": "Mike",
                      "last_name": "Flynn",
                      "phone": "3103843698",
                      "province": "California",
                      "zip": "90404"
                    },
                    "shipping_lines": [
                      {
                        "code": "Standard Shipping",
                        "price": "0.00",
                        "title": "Standard Shipping"
                      }
                    ],
                    "shopify_order_id": null,
                    "status": "SUCCESS",
                    "sub_total": null,
                    "subtotal_price": "12:00",
                    "tags": "Subscription, Subscription Recurring Order",
                    "tax_lines": [
                      {
                        "price": "0.950",
                        "rate": 0.0725,
                        "title": "CA State Tax"
                      },
                      {
                        "price": "0.335",
                        "rate": 0.0225,
                        "title": "Los Angeles  County Tax"
                      }
                    ],
                    "total_discounts": "0.0",
                    "total_line_items_price": "12.00",
                    "total_price": "12.00",
                    "total_refunds": "12.00",
                    "total_tax": 0,
                    "total_weight": 4536,
                    "transaction_id": "ch_1Du2QpJ2iqHvZRd18RyqoPvc",
                    "type": "RECURRING",
                    "updated_at": "2018-11-14T10:08:14"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "example": {
                  "errors": {
                    "charge_id": "value must be a positive integer"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "example": {
                  "errors": "Not Found"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable",
            "content": {
              "application/json": {
                "example": {
                  "errors": {
                    "charge": "charge not pending capture"
                  }
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_orders",
          "write_payments",
          "write_subscriptions",
          "write_customers"
        ]
      }
    },
    "/checkouts": {
      "post": {
        "operationId": "checkout_create",
        "summary": "Create a checkout",
        "description": "Endpoint to create a checkout object and start populating it.",
        "tags": [
          "Checkouts"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "checkout": {
                    "analytics_data": {
                      "utm_params": [
                        {
                          "utm_campaign": "spring_sale",
                          "utm_content": "textlink",
                          "utm_data_source": "website_cookie",
                          "utm_medium": "cpc",
                          "utm_source": "google",
                          "utm_term": "mleko",
                          "utm_timestamp": "2020-03-05T00:00:00"
                        }
                      ]
                    },
                    "applied_discount": {
                      "amount": "7.50",
                      "applicable": true,
                      "non_applicable_reason": "",
                      "value": "7.50",
                      "value_type": "fixed_amount"
                    },
                    "billing_address": {
                      "address1": "6419 Ocean Front Walk",
                      "address2": "Apt 2",
                      "city": "Los Angeles",
                      "company": "",
                      "country": "United States",
                      "first_name": "Novak",
                      "last_name": "Djokovic",
                      "phone": "1-800-800-8000",
                      "province": "California",
                      "zip": "90293"
                    },
                    "buyer_accepts_marketing": false,
                    "charge_id": null,
                    "completed_at": null,
                    "created_at": "2020-07-10T09:21:46.259352+00:00",
                    "currency": "USD",
                    "discount_code": "POPUS_25",
                    "email": "somerandomemail@test.com",
                    "external_checkout_id": "<cart_token>",
                    "external_checkout_source": "custom",
                    "external_customer_id": "someone",
                    "line_items": [
                      {
                        "charge_interval_frequency": 5,
                        "cutoff_day_of_month": null,
                        "cutoff_day_of_week": null,
                        "expire_after_specific_number_of_charges": null,
                        "first_recurring_charge_delay": null,
                        "fulfillment_service": "manual",
                        "grams": 1000,
                        "handle": null,
                        "image": "//cdn.example.com/s/files/1/0279/8387/2103/products/kazan_small.jpg?v=1586451337",
                        "line_price": "30.00",
                        "order_day_of_month": null,
                        "order_day_of_week": null,
                        "order_interval_frequency": 5,
                        "order_interval_unit": "day",
                        "order_interval_unit_type": "day",
                        "original_price": "5.00",
                        "price": "5.00",
                        "product_id": 4546063663207,
                        "product_type": "Milk",
                        "properties": null,
                        "quantity": 6,
                        "recurring_price": "5.00",
                        "requires_shipping": true,
                        "sku": "kRaViCah-1",
                        "tax_code": null,
                        "taxable": false,
                        "title": "Powder Milk",
                        "type": "SUBSCRIPTION",
                        "variant_id": 32165284380775,
                        "variant_title": "1 / Powder",
                        "vendor": "Imlek"
                      }
                    ],
                    "note": null,
                    "note_attributes": null,
                    "payment_processor": null,
                    "payment_processor_customer_id": null,
                    "payment_processor_transaction_id": null,
                    "phone": null,
                    "requires_shipping": true,
                    "shipping_address": {
                      "address1": "6419 Ocean Front Walk",
                      "address2": "Apt 2",
                      "city": "Los Angeles",
                      "company": "",
                      "country": "United States",
                      "first_name": "Novak",
                      "last_name": "Djokovic",
                      "phone": "1-800-800-8000",
                      "province": "California",
                      "zip": "90293"
                    },
                    "shipping_address_validations": {
                      "country_is_supported": true,
                      "ups": true
                    },
                    "shipping_line": null,
                    "shipping_rate": null,
                    "subtotal_price": "22.50",
                    "tax_lines": [
                      {
                        "price": "0.950",
                        "rate": 0.0725,
                        "title": "CA State Tax"
                      },
                      {
                        "price": "0.335",
                        "rate": 0.0225,
                        "title": "Los Angeles  County Tax"
                      }
                    ],
                    "taxes_included": false,
                    "token": "b706eecfd66c45329d3886a02d7515d6",
                    "total_price": "22.50",
                    "total_tax": "1.28",
                    "updated_at": "2020-07-10T09:21:46.284703+00:00"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable",
            "content": {
              "application/json": {
                "example": {
                  "errors": {
                    "email": [
                      "Not a valid email address."
                    ],
                    "external_checkout_source": [
                      "Not a valid choice."
                    ]
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "analytics_data": {
                    "type": "object",
                    "properties": {
                      "utm_params": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "utm_campaign": {
                              "type": "string",
                              "description": "The utm campaign details."
                            },
                            "utm_content": {
                              "type": "string",
                              "description": "The utm content."
                            },
                            "utm_data_source": {
                              "type": "string",
                              "description": "The source of the campaign parameter."
                            },
                            "utm_source": {
                              "type": "string",
                              "description": "The utm source."
                            },
                            "utm_medium": {
                              "type": "string",
                              "description": "The utm medium."
                            },
                            "utm_term": {
                              "type": "string",
                              "description": "The utm term."
                            },
                            "utm_timestamp": {
                              "type": "string",
                              "description": "The utm timestamp."
                            }
                          }
                        },
                        "description": "An array containing utm_parameters which are commonly used to store the details of an acquisition campaign."
                      }
                    },
                    "description": "Analytics data containing amongst other things the utm_params ."
                  },
                  "billing_address": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "Unique numeric identifier for the Address ."
                      },
                      "address1": {
                        "type": "string",
                        "description": "The street associated with the Address ."
                      },
                      "address2": {
                        "type": "string",
                        "description": "Any additional information associated with the shipping address."
                      },
                      "cart_note": {
                        "type": "string",
                        "description": "The note that that will be passed to the note field of Orders made within the Address ."
                      },
                      "city": {
                        "type": "string",
                        "description": "The city associated with the shipping address."
                      },
                      "company": {
                        "type": "string",
                        "description": "The company associated with the shipping address."
                      },
                      "country": {
                        "type": "string",
                        "description": "The country associated with the shipping address."
                      },
                      "country_code": {
                        "type": "string",
                        "description": "The 2-letter country code."
                      },
                      "customer_id": {
                        "type": "integer",
                        "description": "Unique numeric identifier for the Customer associated with the Address ."
                      },
                      "discount_id": {
                        "type": "integer",
                        "description": "Unique numeric identifier of Discount that is applied on the Address ."
                      },
                      "first_name": {
                        "type": "string",
                        "description": "The customer’s first name associated with the address."
                      },
                      "last_name": {
                        "type": "string",
                        "description": "The customer’s last name associated with the address."
                      },
                      "note_attributes": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string",
                              "description": "The name for the note_attribute ."
                            },
                            "value": {
                              "type": "string",
                              "description": "The value for the associated note_attribute ."
                            }
                          }
                        },
                        "description": "Extra information that is added to the order."
                      },
                      "phone": {
                        "type": "string",
                        "description": "The phone number associated with the address."
                      },
                      "presentment_currency": {
                        "type": "string",
                        "description": "Presentment currency is the currency used to display prices to the associated on a storefront and at checkout."
                      },
                      "province": {
                        "type": "string",
                        "description": "The state or province associated with the address."
                      },
                      "shipping_lines_override": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "code": {
                              "type": "string",
                              "description": "The code of the associated shipping line."
                            },
                            "price": {
                              "type": "string",
                              "description": "The price (in store’s currency) of the associated shipping line."
                            },
                            "title": {
                              "type": "string",
                              "description": "The title of the associated shipping line."
                            }
                          }
                        },
                        "description": "Used when shipping rates need to be overridden. If this parameter has value null , rates will be fetched when a related Charge is created or regenerated"
                      },
                      "zip": {
                        "type": "string",
                        "description": "The zip or postal code associated with the address."
                      },
                      "cart_attributes": {
                        "type": "array",
                        "items": {},
                        "description": "Additional information added to an initial order."
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date and time when the address was created."
                      },
                      "original_shipping_lines": {
                        "description": "Shipping line details."
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date and time when the Address was last updated."
                      }
                    },
                    "description": "Billing address for the checkout."
                  },
                  "buyer_accepts_marketing": {
                    "type": "boolean",
                    "description": "Serves as the audit trail for a buyer email marketing's communication opt-in"
                  },
                  "currency": {
                    "type": "string",
                    "description": "The presentment currency of the Checkout ."
                  },
                  "discount_code": {
                    "type": "string",
                    "description": "Discount code to be used on the checkout, e.g. “DISCOUNT20”."
                  },
                  "email": {
                    "type": "string",
                    "description": "Email address for the customer."
                  },
                  "external_checkout_id": {
                    "type": "string",
                    "description": "Cart token from ecommerce platform."
                  },
                  "external_checkout_source": {
                    "type": "string",
                    "description": "Ecommerce platform hosting the cart.",
                    "enum": [
                      "big_commerce",
                      "headless",
                      "shopify"
                    ]
                  },
                  "external_checkout_customer_id": {
                    "type": "string",
                    "description": "Ecommerce platform hosting the cart."
                  },
                  "line_items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "charge_interval_frequency": {
                          "type": "integer",
                          "description": "frequency at which the user will pay for his subscription on the item."
                        },
                        "cutoff_day_of_month": {
                          "type": "integer",
                          "description": "Day of the month a customer should be charged. Used only if the user is to be charged on a specific day."
                        },
                        "cutoff_day_of_week": {
                          "type": "integer",
                          "description": "Day of the week a customer should be charged. Used only if the user is to be charged on a specific day."
                        },
                        "expire_after_specific_number_of_charges": {
                          "type": "integer",
                          "description": "Number of charges to be processed for the resulting subscription until it expires."
                        },
                        "first_recurring_charge_delay": {
                          "type": "integer",
                          "description": "Add a delay (in days) to the first recurring transaction on the subscription."
                        },
                        "fulfillment_service": {
                          "type": "string",
                          "description": "Name of fulfillment service."
                        },
                        "grams": {
                          "type": "integer",
                          "description": "Weight in grams of the item."
                        },
                        "image": {
                          "type": "string",
                          "description": "Image link of the item which shows on the checkout."
                        },
                        "order_day_of_month": {
                          "type": "integer",
                          "description": "Specify if the order should be processed on a specific day of the month."
                        },
                        "order_day_of_week": {
                          "type": "integer",
                          "description": "Specify if the order should be processed on a specific day of the week."
                        },
                        "order_interval_frequency": {
                          "type": "integer",
                          "description": "Frequency at which the user will receive orders for the subscription."
                        },
                        "order_interval_unit": {
                          "type": "string",
                          "description": "Unit scale for the frequency of orders and charges.",
                          "enum": [
                            "day",
                            "week",
                            "month"
                          ]
                        },
                        "original_price": {
                          "type": "string",
                          "description": "Original price of the item."
                        },
                        "price": {
                          "type": "string",
                          "description": "Price charged for the item at checkout."
                        },
                        "product_id": {
                          "type": "integer",
                          "description": "Product identifier in Recharge."
                        },
                        "product_type": {
                          "type": "string",
                          "description": "Category of the product defined in PIM."
                        },
                        "properties": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "name": {
                                "type": "string",
                                "description": "The name of the property."
                              },
                              "value": {
                                "type": "string",
                                "description": "The url reference for the image (CDN or other)."
                              }
                            }
                          },
                          "description": "An array of Property object containing customer information for an item that has been added to the checkout."
                        },
                        "quantity": {
                          "type": "integer",
                          "description": "The number of units of the product that is purchased."
                        },
                        "requires_shipping": {
                          "type": "boolean",
                          "description": "Marks if an item needs to be packed and delivered."
                        },
                        "sku": {
                          "type": "string",
                          "description": "A unique identifier of the item in the fulfillment. Stands for Stock Keeping Unit."
                        },
                        "tax_code": {
                          "type": "string",
                          "description": "Tax category of the product."
                        },
                        "taxable": {
                          "type": "boolean",
                          "description": "Whether tax applies to the product."
                        },
                        "title": {
                          "type": "string",
                          "description": "The title of the product."
                        },
                        "type": {
                          "type": "string",
                          "description": "The type of the item.",
                          "enum": [
                            "SUBSCRIPTION",
                            "ONETIME"
                          ]
                        },
                        "variant_id": {
                          "type": "integer",
                          "description": "Id of the product variant."
                        },
                        "variant_title": {
                          "type": "string",
                          "description": "The title of the product variant."
                        }
                      }
                    },
                    "description": "The details of the different items being purchased by the user."
                  },
                  "note": {
                    "type": "string",
                    "description": "Note used to store free text notes."
                  },
                  "note_attributes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string",
                          "description": "The name for the note_attribute ."
                        },
                        "value": {
                          "type": "string",
                          "description": "The value for the associated note_attribute ."
                        }
                      }
                    },
                    "description": "Structured note attributes."
                  },
                  "phone": {
                    "type": "string",
                    "description": "Customer phone number."
                  },
                  "shipping_address": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "Unique numeric identifier for the Address ."
                      },
                      "address1": {
                        "type": "string",
                        "description": "The street associated with the Address ."
                      },
                      "address2": {
                        "type": "string",
                        "description": "Any additional information associated with the shipping address."
                      },
                      "cart_note": {
                        "type": "string",
                        "description": "The note that that will be passed to the note field of Orders made within the Address ."
                      },
                      "city": {
                        "type": "string",
                        "description": "The city associated with the shipping address."
                      },
                      "company": {
                        "type": "string",
                        "description": "The company associated with the shipping address."
                      },
                      "country": {
                        "type": "string",
                        "description": "The country associated with the shipping address."
                      },
                      "country_code": {
                        "type": "string",
                        "description": "The 2-letter country code."
                      },
                      "customer_id": {
                        "type": "integer",
                        "description": "Unique numeric identifier for the Customer associated with the Address ."
                      },
                      "discount_id": {
                        "type": "integer",
                        "description": "Unique numeric identifier of Discount that is applied on the Address ."
                      },
                      "first_name": {
                        "type": "string",
                        "description": "The customer’s first name associated with the address."
                      },
                      "last_name": {
                        "type": "string",
                        "description": "The customer’s last name associated with the address."
                      },
                      "note_attributes": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string",
                              "description": "The name for the note_attribute ."
                            },
                            "value": {
                              "type": "string",
                              "description": "The value for the associated note_attribute ."
                            }
                          }
                        },
                        "description": "Extra information that is added to the order."
                      },
                      "phone": {
                        "type": "string",
                        "description": "The phone number associated with the address."
                      },
                      "presentment_currency": {
                        "type": "string",
                        "description": "Presentment currency is the currency used to display prices to the associated on a storefront and at checkout."
                      },
                      "province": {
                        "type": "string",
                        "description": "The state or province associated with the address."
                      },
                      "shipping_lines_override": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "code": {
                              "type": "string",
                              "description": "The code of the associated shipping line."
                            },
                            "price": {
                              "type": "string",
                              "description": "The price (in store’s currency) of the associated shipping line."
                            },
                            "title": {
                              "type": "string",
                              "description": "The title of the associated shipping line."
                            }
                          }
                        },
                        "description": "Used when shipping rates need to be overridden. If this parameter has value null , rates will be fetched when a related Charge is created or regenerated"
                      },
                      "zip": {
                        "type": "string",
                        "description": "The zip or postal code associated with the address."
                      },
                      "cart_attributes": {
                        "type": "array",
                        "items": {},
                        "description": "Additional information added to an initial order."
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date and time when the address was created."
                      },
                      "original_shipping_lines": {
                        "description": "Shipping line details."
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date and time when the Address was last updated."
                      }
                    },
                    "description": "Shipping address for the checkout."
                  }
                },
                "required": [
                  "line_items"
                ]
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_checkouts"
        ]
      }
    },
    "/checkouts/{token}": {
      "get": {
        "operationId": "checkout_retrieve",
        "summary": "Retrieve a checkout",
        "description": "Retrieve a checkout",
        "tags": [
          "Checkouts"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "checkout": {
                    "analytics_data": {
                      "utm_params": [
                        {
                          "utm_campaign": "spring_sale",
                          "utm_content": "textlink",
                          "utm_data_source": "website_cookie",
                          "utm_medium": "cpc",
                          "utm_source": "google",
                          "utm_term": "mleko",
                          "utm_timestamp": "2020-03-05T00:00:00"
                        }
                      ]
                    },
                    "applied_discount": {
                      "amount": "7.50",
                      "applicable": true,
                      "non_applicable_reason": "",
                      "value": "7.50",
                      "value_type": "fixed_amount"
                    },
                    "billing_address": null,
                    "buyer_accepts_marketing": false,
                    "charge_id": null,
                    "completed_at": null,
                    "created_at": "2020-07-10T09:21:46.259352+00:00",
                    "currency": "USD",
                    "discount_code": "POPUS_25",
                    "email": "somerandomemail@test.com",
                    "external_checkout_id": "<cart_token>",
                    "external_checkout_source": "headless",
                    "line_items": [
                      {
                        "charge_interval_frequency": 5,
                        "cutoff_day_of_month": null,
                        "cutoff_day_of_week": null,
                        "expire_after_specific_number_of_charges": null,
                        "first_recurring_charge_delay": null,
                        "fulfillment_service": "manual",
                        "grams": 1000,
                        "image": "//cdn.example.com/s/files/1/0279/8387/2103/products/kazan_small.jpg?v=1586451337",
                        "line_price": "30.00",
                        "order_day_of_month": null,
                        "order_day_of_week": null,
                        "order_interval_frequency": 5,
                        "order_interval_unit": "day",
                        "order_interval_unit_type": "day",
                        "original_price": "5.00",
                        "price": "5.00",
                        "product_id": 4546063663207,
                        "product_type": "Milk",
                        "properties": null,
                        "quantity": 6,
                        "recurring_price": "5.00",
                        "requires_shipping": true,
                        "sku": "kRaViCah-1",
                        "tax_code": null,
                        "taxable": false,
                        "title": "Powder Milk",
                        "type": "SUBSCRIPTION",
                        "variant_id": 32165284380775,
                        "variant_title": "1 / Powder",
                        "vendor": "Imlek"
                      }
                    ],
                    "note": null,
                    "note_attributes": null,
                    "payment_processor": null,
                    "payment_processor_customer_id": null,
                    "payment_processor_transaction_id": null,
                    "phone": null,
                    "requires_shipping": true,
                    "shipping_address": {
                      "address1": "6419 Ocean Front Walk",
                      "address2": "Apt 2",
                      "city": "Los Angeles",
                      "company": "",
                      "country": "United States",
                      "first_name": "Novak",
                      "last_name": "Djokovic",
                      "phone": "1-800-800-8000",
                      "province": "California",
                      "zip": "90293"
                    },
                    "shipping_address_validations": {
                      "country_is_supported": true,
                      "ups": true
                    },
                    "shipping_line": null,
                    "shipping_rate": null,
                    "subtotal_price": "22.50",
                    "tax_lines": [
                      {
                        "price": "0.950",
                        "rate": 0.0725,
                        "title": "CA State Tax"
                      },
                      {
                        "price": "0.335",
                        "rate": 0.0225,
                        "title": "Los Angeles  County Tax"
                      }
                    ],
                    "taxes_included": false,
                    "token": "b706eecfd66c45329d3886a02d7515d6",
                    "total_price": "22.50",
                    "total_tax": "0.00",
                    "updated_at": "2020-07-10T09:21:46.284703+00:00"
                  }
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "read_checkouts"
        ]
      },
      "put": {
        "operationId": "checkout_update",
        "summary": "Update a checkout",
        "description": "You can modify an existing checkout to match the specified parameters. Related guides: Checkout integrations",
        "tags": [
          "Checkouts"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "checkout": {
                    "analytics_data": {
                      "utm_params": [
                        {
                          "utm_campaign": "spring_sale",
                          "utm_content": "textlink",
                          "utm_data_source": "website_cookie",
                          "utm_medium": "cpc",
                          "utm_source": "google",
                          "utm_term": "mleko",
                          "utm_timestamp": "2020-03-05T00:00:00"
                        }
                      ]
                    },
                    "applied_discount": {
                      "amount": "7.50",
                      "applicable": true,
                      "non_applicable_reason": "",
                      "value": "7.50",
                      "value_type": "fixed_amount"
                    },
                    "billing_address": null,
                    "buyer_accepts_marketing": false,
                    "charge_id": null,
                    "completed_at": null,
                    "created_at": "2020-07-10T09:21:46.259352+00:00",
                    "currency": "USD",
                    "discount_code": "POPUS_25",
                    "email": "somerandomemail@test.com",
                    "external_checkout_id": "<cart_token>",
                    "external_checkout_source": "headless",
                    "line_items": [
                      {
                        "charge_interval_frequency": 5,
                        "cutoff_day_of_month": null,
                        "cutoff_day_of_week": null,
                        "expire_after_specific_number_of_charges": null,
                        "first_recurring_charge_delay": null,
                        "fulfillment_service": "manual",
                        "grams": 1000,
                        "image": "//cdn.example.com/s/files/1/0279/8387/2103/products/kazan_small.jpg?v=1586451337",
                        "line_price": "30.00",
                        "order_day_of_month": null,
                        "order_day_of_week": null,
                        "order_interval_frequency": 5,
                        "order_interval_unit": "day",
                        "order_interval_unit_type": "day",
                        "original_price": "5.00",
                        "price": "5.00",
                        "product_id": 4546063663207,
                        "product_type": "Milk",
                        "properties": null,
                        "quantity": 6,
                        "recurring_price": "5.00",
                        "requires_shipping": true,
                        "sku": "kRaViCah-1",
                        "tax_code": null,
                        "taxable": false,
                        "title": "Powder Milk",
                        "type": "SUBSCRIPTION",
                        "variant_id": 32165284380775,
                        "variant_title": "1 / Powder",
                        "vendor": "Imlek"
                      }
                    ],
                    "note": null,
                    "note_attributes": null,
                    "payment_processor": null,
                    "payment_processor_customer_id": null,
                    "payment_processor_transaction_id": null,
                    "phone": null,
                    "requires_shipping": true,
                    "shipping_address": {
                      "address1": "6419 Ocean Front Walk",
                      "address2": "Apt 2",
                      "city": "Los Angeles",
                      "company": "",
                      "country": "United States",
                      "first_name": "Novak",
                      "last_name": "Djokovic",
                      "phone": "1-800-800-8000",
                      "province": "California",
                      "zip": "90293"
                    },
                    "shipping_address_validations": {
                      "country_is_supported": true,
                      "ups": true
                    },
                    "shipping_line": null,
                    "shipping_rate": null,
                    "subtotal_price": "22.50",
                    "tax_lines": [
                      {
                        "price": "0.950",
                        "rate": 0.0725,
                        "title": "CA State Tax"
                      },
                      {
                        "price": "0.335",
                        "rate": 0.0225,
                        "title": "Los Angeles  County Tax"
                      }
                    ],
                    "taxes_included": false,
                    "token": "b706eecfd66c45329d3886a02d7515d6",
                    "total_price": "22.50",
                    "total_tax": "0.00",
                    "updated_at": "2020-07-10T09:21:46.284703+00:00"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "analytics_data": {
                    "type": "object",
                    "properties": {
                      "utm_params": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "utm_campaign": {
                              "type": "string",
                              "description": "The utm campaign details."
                            },
                            "utm_content": {
                              "type": "string",
                              "description": "The utm content."
                            },
                            "utm_data_source": {
                              "type": "string",
                              "description": "The source of the campaign parameter."
                            },
                            "utm_source": {
                              "type": "string",
                              "description": "The utm source."
                            },
                            "utm_medium": {
                              "type": "string",
                              "description": "The utm medium."
                            },
                            "utm_term": {
                              "type": "string",
                              "description": "The utm term."
                            },
                            "utm_timestamp": {
                              "type": "string",
                              "description": "The utm timestamp."
                            }
                          }
                        },
                        "description": "An array containing utm_parameters which are commonly used to store the details of an acquisition campaign."
                      }
                    },
                    "description": "Analytics data containing amongst other things the utm_params ."
                  },
                  "billing_address": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "Unique numeric identifier for the Address ."
                      },
                      "address1": {
                        "type": "string",
                        "description": "The street associated with the Address ."
                      },
                      "address2": {
                        "type": "string",
                        "description": "Any additional information associated with the shipping address."
                      },
                      "cart_note": {
                        "type": "string",
                        "description": "The note that that will be passed to the note field of Orders made within the Address ."
                      },
                      "city": {
                        "type": "string",
                        "description": "The city associated with the shipping address."
                      },
                      "company": {
                        "type": "string",
                        "description": "The company associated with the shipping address."
                      },
                      "country": {
                        "type": "string",
                        "description": "The country associated with the shipping address."
                      },
                      "country_code": {
                        "type": "string",
                        "description": "The 2-letter country code."
                      },
                      "customer_id": {
                        "type": "integer",
                        "description": "Unique numeric identifier for the Customer associated with the Address ."
                      },
                      "discount_id": {
                        "type": "integer",
                        "description": "Unique numeric identifier of Discount that is applied on the Address ."
                      },
                      "first_name": {
                        "type": "string",
                        "description": "The customer’s first name associated with the address."
                      },
                      "last_name": {
                        "type": "string",
                        "description": "The customer’s last name associated with the address."
                      },
                      "note_attributes": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string",
                              "description": "The name for the note_attribute ."
                            },
                            "value": {
                              "type": "string",
                              "description": "The value for the associated note_attribute ."
                            }
                          }
                        },
                        "description": "Extra information that is added to the order."
                      },
                      "phone": {
                        "type": "string",
                        "description": "The phone number associated with the address."
                      },
                      "presentment_currency": {
                        "type": "string",
                        "description": "Presentment currency is the currency used to display prices to the associated on a storefront and at checkout."
                      },
                      "province": {
                        "type": "string",
                        "description": "The state or province associated with the address."
                      },
                      "shipping_lines_override": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "code": {
                              "type": "string",
                              "description": "The code of the associated shipping line."
                            },
                            "price": {
                              "type": "string",
                              "description": "The price (in store’s currency) of the associated shipping line."
                            },
                            "title": {
                              "type": "string",
                              "description": "The title of the associated shipping line."
                            }
                          }
                        },
                        "description": "Used when shipping rates need to be overridden. If this parameter has value null , rates will be fetched when a related Charge is created or regenerated"
                      },
                      "zip": {
                        "type": "string",
                        "description": "The zip or postal code associated with the address."
                      },
                      "cart_attributes": {
                        "type": "array",
                        "items": {},
                        "description": "Additional information added to an initial order."
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date and time when the address was created."
                      },
                      "original_shipping_lines": {
                        "description": "Shipping line details."
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date and time when the Address was last updated."
                      }
                    },
                    "description": "Billing address for the checkout."
                  },
                  "buyer_accepts_marketing": {
                    "type": "boolean",
                    "description": "Does the buyer accept marketing, newsletters etc."
                  },
                  "currency": {
                    "type": "string",
                    "description": "The presentment currency of the Checkout ."
                  },
                  "discount_code": {
                    "type": "string",
                    "description": "Discount code to be used on the checkout, e.g. “DISCOUNT20”."
                  },
                  "email": {
                    "type": "string",
                    "description": "Email address for the customer."
                  },
                  "external_checkout_id": {
                    "type": "string",
                    "description": "Cart token from ecommerce platform."
                  },
                  "external_checkout_source": {
                    "type": "string",
                    "description": "Ecommerce platform hosting the cart.",
                    "enum": [
                      "big_commerce",
                      "headless",
                      "shopify"
                    ]
                  },
                  "external_checkout_customer_id": {
                    "type": "string",
                    "description": "Ecommerce platform hosting the cart."
                  },
                  "line_items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "charge_interval_frequency": {
                          "type": "integer",
                          "description": "frequency at which the user will pay for his subscription on the item."
                        },
                        "cutoff_day_of_month": {
                          "type": "integer",
                          "description": "Day of the month a customer should be charged. Used only if the user is to be charged on a specific day."
                        },
                        "cutoff_day_of_week": {
                          "type": "integer",
                          "description": "Day of the week a customer should be charged. Used only if the user is to be charged on a specific day."
                        },
                        "expire_after_specific_number_of_charges": {
                          "type": "integer",
                          "description": "Number of charges to be processed for the resulting subscription until it expires."
                        },
                        "first_recurring_charge_delay": {
                          "type": "integer",
                          "description": "Add a delay (in days) to the first recurring transaction on the subscription."
                        },
                        "fulfillment_service": {
                          "type": "string",
                          "description": "Name of fulfillment service."
                        },
                        "grams": {
                          "type": "integer",
                          "description": "Weight in grams of the item."
                        },
                        "image": {
                          "type": "string",
                          "description": "Image link of the item which shows on the checkout."
                        },
                        "order_day_of_month": {
                          "type": "integer",
                          "description": "Specify if the order should be processed on a specific day of the month."
                        },
                        "order_day_of_week": {
                          "type": "integer",
                          "description": "Specify if the order should be processed on a specific day of the week."
                        },
                        "order_interval_frequency": {
                          "type": "integer",
                          "description": "Frequency at which the user will receive orders for the subscription."
                        },
                        "order_interval_unit": {
                          "type": "string",
                          "description": "Unit scale for the frequency of orders and charges.",
                          "enum": [
                            "day",
                            "week",
                            "month"
                          ]
                        },
                        "original_price": {
                          "type": "string",
                          "description": "Original price of the item."
                        },
                        "price": {
                          "type": "string",
                          "description": "Price charged for the item at checkout."
                        },
                        "product_id": {
                          "type": "integer",
                          "description": "Product identifier in Recharge."
                        },
                        "product_type": {
                          "type": "string",
                          "description": "Category of the product defined in PIM."
                        },
                        "properties": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "name": {
                                "type": "string",
                                "description": "The name of the property."
                              },
                              "value": {
                                "type": "string",
                                "description": "The url reference for the image (CDN or other)."
                              }
                            }
                          },
                          "description": "An array of Property object containing customer information for an item that has been added to the checkout."
                        },
                        "quantity": {
                          "type": "integer",
                          "description": "The number of units of the product that is purchased."
                        },
                        "requires_shipping": {
                          "type": "boolean",
                          "description": "Marks if an item needs to be packed and delivered."
                        },
                        "sku": {
                          "type": "string",
                          "description": "A unique identifier of the item in the fulfillment. Stands for Stock Keeping Unit."
                        },
                        "tax_code": {
                          "type": "string",
                          "description": "Tax category of the product."
                        },
                        "taxable": {
                          "type": "boolean",
                          "description": "Whether tax applies to the product."
                        },
                        "title": {
                          "type": "string",
                          "description": "The title of the product."
                        },
                        "type": {
                          "type": "string",
                          "description": "The type of the item.",
                          "enum": [
                            "SUBSCRIPTION",
                            "ONETIME"
                          ]
                        },
                        "variant_id": {
                          "type": "integer",
                          "description": "Id of the product variant."
                        },
                        "variant_title": {
                          "type": "string",
                          "description": "The title of the product variant."
                        }
                      }
                    },
                    "description": "quantity , product_id and variant_id are required parameters in line_items."
                  },
                  "note": {
                    "type": "string",
                    "description": "Note attribute used to store custom notes."
                  },
                  "note_attributes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string",
                          "description": "The name for the note_attribute ."
                        },
                        "value": {
                          "type": "string",
                          "description": "The value for the associated note_attribute ."
                        }
                      }
                    },
                    "description": "Each array entry must contain a dictionary with “name” and “value” keys."
                  },
                  "partial_shipping": {
                    "type": "boolean",
                    "description": "When set to true, shipping address validations are reduced to only require country and zip when creating/updating a checkout. The full shipping address including address line 1 must be added to the checkout before processing associated charges. This is helpful for mobile payments. Related guides: Mobile payments"
                  },
                  "phone": {
                    "type": "string",
                    "description": "Customer phone number."
                  },
                  "shipping_address": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "description": "Unique numeric identifier for the Address ."
                      },
                      "address1": {
                        "type": "string",
                        "description": "The street associated with the Address ."
                      },
                      "address2": {
                        "type": "string",
                        "description": "Any additional information associated with the shipping address."
                      },
                      "cart_note": {
                        "type": "string",
                        "description": "The note that that will be passed to the note field of Orders made within the Address ."
                      },
                      "city": {
                        "type": "string",
                        "description": "The city associated with the shipping address."
                      },
                      "company": {
                        "type": "string",
                        "description": "The company associated with the shipping address."
                      },
                      "country": {
                        "type": "string",
                        "description": "The country associated with the shipping address."
                      },
                      "country_code": {
                        "type": "string",
                        "description": "The 2-letter country code."
                      },
                      "customer_id": {
                        "type": "integer",
                        "description": "Unique numeric identifier for the Customer associated with the Address ."
                      },
                      "discount_id": {
                        "type": "integer",
                        "description": "Unique numeric identifier of Discount that is applied on the Address ."
                      },
                      "first_name": {
                        "type": "string",
                        "description": "The customer’s first name associated with the address."
                      },
                      "last_name": {
                        "type": "string",
                        "description": "The customer’s last name associated with the address."
                      },
                      "note_attributes": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string",
                              "description": "The name for the note_attribute ."
                            },
                            "value": {
                              "type": "string",
                              "description": "The value for the associated note_attribute ."
                            }
                          }
                        },
                        "description": "Extra information that is added to the order."
                      },
                      "phone": {
                        "type": "string",
                        "description": "The phone number associated with the address."
                      },
                      "presentment_currency": {
                        "type": "string",
                        "description": "Presentment currency is the currency used to display prices to the associated on a storefront and at checkout."
                      },
                      "province": {
                        "type": "string",
                        "description": "The state or province associated with the address."
                      },
                      "shipping_lines_override": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "code": {
                              "type": "string",
                              "description": "The code of the associated shipping line."
                            },
                            "price": {
                              "type": "string",
                              "description": "The price (in store’s currency) of the associated shipping line."
                            },
                            "title": {
                              "type": "string",
                              "description": "The title of the associated shipping line."
                            }
                          }
                        },
                        "description": "Used when shipping rates need to be overridden. If this parameter has value null , rates will be fetched when a related Charge is created or regenerated"
                      },
                      "zip": {
                        "type": "string",
                        "description": "The zip or postal code associated with the address."
                      },
                      "cart_attributes": {
                        "type": "array",
                        "items": {},
                        "description": "Additional information added to an initial order."
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date and time when the address was created."
                      },
                      "original_shipping_lines": {
                        "description": "Shipping line details."
                      },
                      "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date and time when the Address was last updated."
                      }
                    },
                    "description": "Shipping address for the checkout."
                  }
                }
              },
              "example": {
                "line_items": [
                  {
                    "product_id": 4546063663207,
                    "quantity": 6,
                    "variant_id": 3844924611
                  }
                ]
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_checkouts"
        ]
      }
    },
    "/checkouts/{token}/shipping_rates": {
      "get": {
        "operationId": "checkout_retrieve_shipping_address",
        "summary": "Retrieve shipping rates",
        "description": "Retrieve all shipping rates for a specific checkout.",
        "tags": [
          "Checkouts"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "example": {
                  "shipping_rates": [
                    {
                      "checkout": {
                        "subtotal_price": "22.50",
                        "total_price": "42.40",
                        "total_tax": "0.00"
                      },
                      "code": "Standard",
                      "delivery_range": null,
                      "description": null,
                      "handle": "shopify-Standard-19.90",
                      "name": "Standard",
                      "phone_required": false,
                      "price": "19.90",
                      "tax_lines": [],
                      "title": "Standard"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "read_checkouts"
        ]
      }
    },
    "/checkouts/{token}/charge": {
      "post": {
        "operationId": "checkout_process",
        "summary": "Process a checkout",
        "description": "You can process and charge checkout using our API.",
        "tags": [
          "Checkouts"
        ],
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "checkout_charge": {
                    "authorization_token": null,
                    "charge_id": 258065996,
                    "free": false,
                    "payment_processor": "stripe",
                    "payment_processor_customer_id": "cus_HcbgqiS49fABBg62E",
                    "payment_processor_transaction_id": "ch_1H3McXJ2zdqHvZaRd191xV2idRt",
                    "payment_token": "tok_visa",
                    "payment_type": "CREDIT_CARD",
                    "status": "successful"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable",
            "content": {
              "application/json": {
                "example": {
                  "errors": {
                    "checkout": [
                      "Checkout has already been processed."
                    ]
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "payment_processor": {
                    "type": "string",
                    "description": "The name of payment processor.",
                    "enum": [
                      "stripe",
                      "braintree",
                      "mollie",
                      "authorize"
                    ]
                  },
                  "payment_token": {
                    "type": "string",
                    "description": "Payment token that will be used in transaction."
                  },
                  "payment_type": {
                    "type": "string",
                    "description": "It identifies the payment type.",
                    "enum": [
                      "CREDIT_CARD",
                      "PAYPAL",
                      "APPLE_PAY",
                      "GOOGLE_PAY"
                    ]
                  }
                },
                "required": [
                  "payment_processor",
                  "payment_token"
                ]
              },
              "example": {
                "payment_processor": "stripe",
                "payment_token": "<payment_token>",
                "payment_type": "CREDIT_CARD"
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_checkouts"
        ]
      }
    },
    "/customers": {
      "post": {
        "operationId": "customers_create",
        "summary": "Create a customer",
        "description": "Create a customer in Recharge. If you plan to add payment information, it must be the tokenized customer representation. We do not accept card data directly. Please make sure it starts with ‘cus’ and not with a 'tok’, as the 'cus’ is prefix for customer token, and 'tok’ is prefix for payment token. Creating a customer in Recharge will not create the customer on any other platform at this time. Write_Payments permission is only required when creating customers with payment token information, or updating payment token information on a customer.",
        "tags": [
          "Customers"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "customer": {
                    "id": 18819267,
                    "accepts_marketing": true,
                    "analytics_data": {
                      "utm_params": []
                    },
                    "billing_address1": "3030 Nebraska Avenue",
                    "billing_address2": null,
                    "billing_city": "Los Angeles",
                    "billing_company": null,
                    "billing_country": "United States",
                    "billing_phone": "3103843698",
                    "billing_province": "California",
                    "billing_zip": "90404",
                    "created_at": "2018-11-14T08:40:38",
                    "email": "example_mail@gmail.com",
                    "first_charge_processed_at": null,
                    "first_name": "Mike",
                    "hash": "18819267b1f9095be98f13a8",
                    "has_card_error_in_dunning": false,
                    "has_valid_payment_method": false,
                    "last_name": "Flynn",
                    "number_active_subscriptions": 0,
                    "number_subscriptions": 0,
                    "phone": "+16175551212",
                    "processor_type": null,
                    "reason_payment_method_not_valid": null,
                    "shopify_customer_id": null,
                    "status": "INACTIVE",
                    "stripe_customer_token": "cus_I9bJ...",
                    "updated_at": "2018-11-14T08:40:38"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "accepts_marketing": {
                    "type": "boolean",
                    "description": "Indicates whether the Customer gives consent for marketing communications."
                  },
                  "authorizedotnet_payment_profile_id": {
                    "type": "integer",
                    "description": "Authorize.net customer payment profile id. Required when authorizedotnet_profile_id is provided.",
                    "deprecated": true
                  },
                  "authorizedotnet_profile_id": {
                    "type": "integer",
                    "description": "Authorize.net customer profile id. If both authorizedotnet_profile_id and authorizedotnet_payment_profile_id is provided the authorize.net payment profile will be tokenized and associated with the created customer. The tokenized value is returned as customer’s authorizedotnet_customer_token field.",
                    "deprecated": true
                  },
                  "billing_address1": {
                    "type": "string",
                    "description": "The customer’s billing address 1."
                  },
                  "billing_address2": {
                    "type": "string",
                    "description": "An additional field for the customer’s billing address."
                  },
                  "billing_city": {
                    "type": "string",
                    "description": "The customer’s billing city."
                  },
                  "billing_company": {
                    "type": "string",
                    "description": "The customer’s billing company."
                  },
                  "billing_country": {
                    "type": "string",
                    "description": "The customer’s billing country."
                  },
                  "billing_first_name": {
                    "type": "string",
                    "description": "The customer’s billing first name."
                  },
                  "billing_last_name": {
                    "type": "string",
                    "description": "The customer’s billing last name."
                  },
                  "billing_phone": {
                    "type": "string",
                    "description": "The customer’s billing phone number."
                  },
                  "billing_province": {
                    "type": "string",
                    "description": "The customer’s billing province or state name."
                  },
                  "billing_zip": {
                    "type": "string",
                    "description": "The customer’s billing zip or postal code."
                  },
                  "email": {
                    "type": "string",
                    "description": "The customer’s email address."
                  },
                  "first_name": {
                    "type": "string",
                    "description": "The customer’s first name."
                  },
                  "last_name": {
                    "type": "string",
                    "description": "The customer’s last name."
                  },
                  "paypal_customer_token": {
                    "type": "string",
                    "description": "The payment processor customer payment token.",
                    "deprecated": true
                  },
                  "phone": {
                    "type": "string",
                    "description": "The customer's phone number."
                  },
                  "processor_type": {
                    "type": "string",
                    "description": "What the merchant processor customer is stored on."
                  },
                  "shopify_customer_id": {
                    "type": "string",
                    "description": "The shopify customer id. _The provided \"shopify_customer_id\" must match the provided \"email\" in the Shopify database for the customer."
                  },
                  "stripe_customer_token": {
                    "type": "string",
                    "description": "The customer token, you will need to tokenize customers first on the payment processors end, and after you get the customer token, you can create the Recharge customer with it.",
                    "deprecated": true
                  }
                },
                "required": [
                  "billing_address1",
                  "billing_city",
                  "billing_country",
                  "billing_first_name",
                  "billing_last_name",
                  "billing_province",
                  "billing_zip",
                  "email",
                  "first_name",
                  "last_name"
                ]
              },
              "example": {
                "billing_address1": "3030 Nebraska Avenue",
                "billing_city": "Los Angeles",
                "billing_country": "United States",
                "billing_first_name": "Mike",
                "billing_last_name": "Flynn",
                "billing_phone": "3103843698",
                "billing_province": "California",
                "billing_zip": "90404",
                "email": "example_mail@gmail.com",
                "first_name": "Mike",
                "last_name": "Flynn",
                "stripe_customer_token": "Customer_payment_token"
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_customers",
          "write_payments"
        ]
      },
      "get": {
        "operationId": "customers_list",
        "summary": "List customers",
        "description": "Return a list of customers in your store. ## HTTP request examples GET /customers GET /customers?email=example@email.com GET /customers?hash=143806234a9ff87a8d9e GET /customers?limit=250 GET /customers?page=2 GET /customers?shopify_customer_id=98273498",
        "tags": [
          "Customers"
        ],
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "required": false,
            "description": "Returns the user linked to the email address provided.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at_max",
            "in": "query",
            "required": false,
            "description": "Gets all customers created before this date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at_min",
            "in": "query",
            "required": false,
            "description": "Gets all customers created after this date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "hash",
            "in": "query",
            "required": false,
            "description": "Returns the user linked to the given recharge customer hash.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "required": false,
            "description": "Filter customers by id. If passing multiple values, must be comma separated. Non-integer values will result in a 422 error",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of results. Default value is 50, maximum is 250.",
            "schema": {
              "type": "string",
              "default": 50
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "Page to show. Default value is 1.",
            "schema": {
              "type": "string",
              "deprecated": true,
              "default": 1
            }
          },
          {
            "name": "shopify_customer_id",
            "in": "query",
            "required": false,
            "description": "Returns the user linked to the given shopify_customer_id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Returns users with specified status Values are 'ACTIVE’, and 'INACTIVE’.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_max",
            "in": "query",
            "required": false,
            "description": "Gets all customers updated before this date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_min",
            "in": "query",
            "required": false,
            "description": "Gets all customers updated after this date.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "customers": [
                    {
                      "id": 18819267,
                      "accepts_marketing": true,
                      "analytics_data": {
                        "utm_params": [
                          {
                            "utm_campaign": "spring_sale",
                            "utm_content": "differentiate-content",
                            "utm_data_source": "website_cookie",
                            "utm_medium": "email",
                            "utm_source": "newsletter",
                            "utm_term": "test-term",
                            "utm_time_stamp": "2019-12-16T23:57:28.752Z"
                          }
                        ]
                      },
                      "billing_address1": "3030 Nebraska Avenue",
                      "billing_address2": null,
                      "billing_city": "Los Angeles",
                      "billing_company": null,
                      "billing_country": "United States",
                      "billing_phone": "3103843698",
                      "billing_province": "California",
                      "billing_zip": "90404",
                      "created_at": "2018-11-14T08:40:38",
                      "email": "example_mail@gmail.com",
                      "first_charge_processed_at": null,
                      "first_name": "Mike",
                      "hash": "18819267b1f9095be98f13a8",
                      "has_card_error_in_dunning": false,
                      "has_valid_payment_method": true,
                      "last_name": "Flynn",
                      "number_active_subscriptions": 0,
                      "number_subscriptions": 0,
                      "reason_payment_method_not_valid": null,
                      "shopify_customer_id": null,
                      "phone": "+16175551212",
                      "processor_type": null,
                      "status": "INACTIVE",
                      "stripe_customer_token": "cus_I9bJ...",
                      "updated_at": "2018-11-14T08:40:38"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "read_customers"
        ]
      }
    },
    "/customers/{id}": {
      "get": {
        "operationId": "customers_retrieve",
        "summary": "Retrieve a customer",
        "description": "Retrieve one customer using the Recharge customer id.",
        "tags": [
          "Customers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "customer": {
                    "id": 18819267,
                    "accepts_marketing": true,
                    "analytics_data": {
                      "utm_params": []
                    },
                    "billing_address1": "3030 Nebraska Avenue",
                    "billing_address2": null,
                    "billing_city": "Los Angeles",
                    "billing_company": null,
                    "billing_country": "United States",
                    "billing_phone": "3103843698",
                    "billing_province": "California",
                    "billing_zip": "90404",
                    "created_at": "2018-11-14T08:40:38",
                    "email": "example_mail@gmail.com",
                    "first_charge_processed_at": null,
                    "first_name": "Mike",
                    "hash": "18819267b1f9095be98f13a8",
                    "has_card_error_in_dunning": false,
                    "has_valid_payment_method": false,
                    "last_name": "Flynn",
                    "number_active_subscriptions": 0,
                    "number_subscriptions": 0,
                    "phone": "+16175551212",
                    "processor_type": null,
                    "reason_payment_method_not_valid": null,
                    "shopify_customer_id": null,
                    "status": "INACTIVE",
                    "stripe_customer_token": "cus_I9bJ...",
                    "updated_at": "2018-11-14T08:40:38"
                  }
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "read_customers"
        ]
      },
      "put": {
        "operationId": "customers_update",
        "summary": "Update a customer",
        "description": "Modify an existing customer to match the specified parameters. Note: For US citizens parameter billing_zip is required when updating customer’s billing_country parameter",
        "tags": [
          "Customers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "customer": {
                    "id": 18819267,
                    "accepts_marketing": true,
                    "analytics_data": {
                      "utm_params": []
                    },
                    "billing_address1": "3030 Nebraska Avenue",
                    "billing_address2": null,
                    "billing_city": "Los Angeles",
                    "billing_company": null,
                    "billing_country": "United States",
                    "billing_phone": "3103843698",
                    "billing_province": "California",
                    "billing_zip": "90404",
                    "created_at": "2018-11-14T08:40:38",
                    "email": "example_mail@gmail.com",
                    "first_charge_processed_at": null,
                    "first_name": "Mike",
                    "hash": "18819267b1f9095be98f13a8",
                    "has_card_error_in_dunning": false,
                    "has_valid_payment_method": false,
                    "last_name": "Flynn",
                    "number_active_subscriptions": 0,
                    "number_subscriptions": 0,
                    "phone": "+16175551212",
                    "processor_type": null,
                    "reason_payment_method_not_valid": null,
                    "shopify_customer_id": null,
                    "status": "INACTIVE",
                    "stripe_customer_token": "cus_I9bJ...",
                    "updated_at": "2018-11-14T08:40:38"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "accepts_marketing": {
                    "type": "boolean",
                    "description": "Indicates whether the Customer gives consent for marketing communications."
                  },
                  "email": {
                    "type": "string",
                    "description": "Email address of the customer."
                  },
                  "billing_address1": {
                    "type": "string",
                    "description": "Customer’s billing address 1."
                  },
                  "billing_address2": {
                    "type": "string",
                    "description": "An additional field for the customer’s billing address."
                  },
                  "billing_city": {
                    "type": "string",
                    "description": "Customer’s billing city."
                  },
                  "billing_company": {
                    "type": "string",
                    "description": "An additional field for the customer’s company."
                  },
                  "billing_country": {
                    "type": "string",
                    "description": "Customer’s billing country."
                  },
                  "billing_first_name": {
                    "type": "string",
                    "description": "Customer’s billing first name."
                  },
                  "billing_last_name": {
                    "type": "string",
                    "description": "Customer’s billing last name."
                  },
                  "billing_phone": {
                    "type": "string",
                    "description": "Customers billing phone number."
                  },
                  "billing_province": {
                    "type": "string",
                    "description": "Customer’s billing province or state name."
                  },
                  "billing_zip": {
                    "type": "string",
                    "description": "Customer’s billing zip or postal code."
                  },
                  "first_name": {
                    "type": "string",
                    "description": "Customer’s first name."
                  },
                  "last_name": {
                    "type": "string",
                    "description": "Customer’s last name."
                  },
                  "phone": {
                    "type": "string",
                    "description": "The customer's phone number."
                  },
                  "shopify_customer_id": {
                    "type": "integer",
                    "description": "Shopify’s customer id."
                  }
                }
              },
              "example": {
                "billing_address1": "3030 Nebraska Avenue"
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_customers"
        ]
      },
      "delete": {
        "operationId": "customers_delete",
        "summary": "Delete a customer",
        "description": "Customer deletion will automatically cancel and delete all child Address, Subscription, Onetime, etc. resources of that customer to eliminate orphaned child data. To delete a certain address without deleting the customer you can use the Delete Address endpoint.",
        "tags": [
          "Customers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {}
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_customers"
        ]
      }
    },
    "/customers/count": {
      "get": {
        "operationId": "customers_count",
        "summary": "Count customers",
        "description": "Retrieve a count of customers. ## HTTP request examples GET /customers/count GET /customers/count?created_at_max=2019-11-11 GET /customers/count?created_at_min=2019-11-11 GET /customers/count?created_at_min=2019-11-10&updated_at_max=2019-11-11&status=ACTIVE GET /customers/count?status=ACTIVE GET /customers/count?updated_at_max=2019-11-11 GET /customers/count?updated_at_min=2019-11-11",
        "tags": [
          "Customers"
        ],
        "parameters": [
          {
            "name": "created_at_max",
            "in": "query",
            "required": false,
            "description": "Gets count of all customers created before this date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at_min",
            "in": "query",
            "required": false,
            "description": "Gets count of all customers created after this date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Returns the count of users with the specified status Values are 'ACTIVE’, and 'INACTIVE’.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_max",
            "in": "query",
            "required": false,
            "description": "Gets count of all customers updated before this date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_min",
            "in": "query",
            "required": false,
            "description": "Gets count of all customers updated after this date.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "count": 12057
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "read_customers"
        ]
      }
    },
    "/customers/{id}/payment_sources": {
      "get": {
        "operationId": "customers_payment_source",
        "summary": "Payment sources",
        "description": "Retrieve payment sources for customer",
        "tags": [
          "Customers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cardholder_name",
            "in": "query",
            "required": false,
            "description": "Identifies the owner of the credit card.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "card_brand",
            "in": "query",
            "required": false,
            "description": "Identifies the brand of the credit card.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "card_exp_month",
            "in": "query",
            "required": false,
            "description": "The month when the card expires.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "card_exp_year",
            "in": "query",
            "required": false,
            "description": "The year when the card expires.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "card_last4",
            "in": "query",
            "required": false,
            "description": "The last four digits of the card.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "query",
            "required": false,
            "description": "Unique customer identifier.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "has_card_error_in_dunning",
            "in": "query",
            "required": false,
            "description": "If it has true value, then there was an error in the dunning process. There were no errors in the dunning process if it has false value.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "payment_type",
            "in": "query",
            "required": false,
            "description": "Identifies the payment type. It could have credit , debit , paypal or apple_pay values.",
            "schema": {
              "type": "string",
              "deprecated": true
            }
          },
          {
            "name": "processor_name",
            "in": "query",
            "required": false,
            "description": "Identifies the payment processor. It could have stripe , braintree or authorize value.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Identifies the status of the payment method. It could have active or failed value.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status_reason",
            "in": "query",
            "required": false,
            "description": "Provides more information on why the payment method is not valid if status has failed value.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "payment_sources": [
                    {
                      "billing_address": {
                        "id": 1,
                        "address1": "3030 Nebraska Avenue",
                        "address2": null,
                        "city": "Los Angeles",
                        "company": null,
                        "country": "United States",
                        "first_name": "Mike",
                        "last_name": "Flynn",
                        "phone": "3103843698",
                        "province": "California",
                        "zip": "90404"
                      },
                      "cardholder_name": null,
                      "card_brand": null,
                      "card_exp_month": null,
                      "card_exp_year": null,
                      "card_last4": null,
                      "customer_id": 18819267,
                      "has_card_error_in_dunning": false,
                      "payment_token": "cus_I9bJ...",
                      "payment_type": "credit",
                      "processor_name": "stripe",
                      "status": "active",
                      "status_reason": null
                    }
                  ]
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "read_customers"
        ]
      }
    },
    "/discounts": {
      "post": {
        "operationId": "discounts_create",
        "summary": "Create a discount",
        "description": "Create a new discount.",
        "tags": [
          "Discounts"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "discount": {
                    "id": 3425307,
                    "applies_to": null,
                    "applies_to_id": null,
                    "applies_to_product_type": "ONETIME",
                    "applies_to_resource": null,
                    "channel_settings": {
                      "api": {
                        "can_apply": false
                      },
                      "checkout_page": {
                        "can_apply": true
                      },
                      "customer_portal": {
                        "can_apply": true
                      },
                      "merchant_portal": {
                        "can_apply": false
                      }
                    },
                    "code": "Discount",
                    "created_at": "2018-04-13T10:00:01",
                    "discount_type": "percentage",
                    "duration": "usage_limit",
                    "duration_usage_limit": 1,
                    "ends_at": "2023-12-31T00:00:00",
                    "once_per_customer": false,
                    "prerequisite_subtotal_min": null,
                    "starts_at": "2018-05-16T00:00:00",
                    "status": "enabled",
                    "times_used": 0,
                    "updated_at": "2019-10-16T10:03:38",
                    "usage_limit": 1,
                    "value": 12
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "applies_to_id": {
                    "type": "integer",
                    "description": "Applied to id of the product or collection where the id is the id of the shopify product or the shopify custom collection id."
                  },
                  "applies_to_product_type": {
                    "type": "string",
                    "description": "Sets the specific product type the discount applies to.",
                    "enum": [
                      "ALL",
                      "ONETIME",
                      "SUBSCRIPTION"
                    ]
                  },
                  "applies_to_resource": {
                    "type": "string",
                    "description": "Applied to a specific product or collection.",
                    "enum": [
                      "shopify_product",
                      "shopify_collection_id"
                    ]
                  },
                  "channel_settings": {
                    "type": "object",
                    "description": "A list of channel objects containing information regarding discount behaviors for each. * can_apply: a boolean to indicate if the discount may be applied using the associated channel (defaults to true for all channels)."
                  },
                  "code": {
                    "type": "string",
                    "description": "The name of the discount."
                  },
                  "created_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date and time when the discount was created."
                  },
                  "discount_type": {
                    "type": "string",
                    "description": "The type of discount. Either percentage or fixed_amount ."
                  },
                  "duration": {
                    "type": "string",
                    "description": "Number of times a discount will be automatically re-applied to a new queued charge after its first usage on a successful charge. Values can be: forever will re-apply unlimited times usage_limit number of times will be set in duration_usage_limit single_use it will not re-apply."
                  },
                  "duration_usage_limit": {
                    "type": "integer",
                    "description": "Specific number of times a discount will be automatically re-applied to a new queued charge after its first usage on a successful charge. *Only used, and is required, when “duration” is set to “usage_limit”."
                  },
                  "ends_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The expiration timestamp of the discount. Past this time the Discount can no longer be redeemed. After ends_at the status of the Discount will go from active to disabled ."
                  },
                  "first_time_customer_restriction": {
                    "type": "string",
                    "description": "Discount can be used on checkout for customer that still don’t exist in Recharge database. Default value is null.",
                    "enum": [
                      "null",
                      "customer_must_not_exist_in_recharge"
                    ]
                  },
                  "once_per_customer": {
                    "type": "boolean",
                    "description": "The discount can only be used once for a given customer checkout or manually applied once on the customer portal (irrespective of which address). Once applied, it will continue being re-applied to each new charge on the address, unless the discount_duration attribute specifies otherwise."
                  },
                  "prerequisite_subtotal_min": {
                    "type": "integer",
                    "description": "The minimum cart subtotal needed for the discount to be applicable."
                  },
                  "starts_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date when the discount becomes active."
                  },
                  "status": {
                    "type": "string",
                    "description": "The status of the discount. Value can be: * enabled discount is active to be applied * disabled discount can’t be applied on new purchases. Discount will remain on existing charges to which it has already been applied. * fully_disabled discount can no longer be applied. In addition, Discount is removed from every queued charge."
                  },
                  "usage_limit": {
                    "type": "integer",
                    "description": "Sets the limit on the number of times a discount can be used by all customers."
                  },
                  "value": {
                    "type": "string",
                    "description": "The discounted value to be applied."
                  }
                },
                "required": [
                  "code",
                  "discount_type",
                  "duration",
                  "duration_usage_limit",
                  "value"
                ]
              },
              "example": {
                "applies_to_product_type": "ONETIME",
                "channel_settings": {
                  "api": {
                    "can_apply": false
                  },
                  "checkout_page": {
                    "can_apply": true
                  },
                  "customer_portal": {
                    "can_apply": true
                  },
                  "merchant_portal": {
                    "can_apply": false
                  }
                },
                "code": "Discount",
                "discount_type": "percentage",
                "duration": "usage_limit",
                "duration_usage_limit": 1,
                "ends_at": "2023-12-31",
                "starts_at": "2018-05-16",
                "status": "enabled",
                "usage_limit": 1,
                "value": 12
              }
            }
          }
        }
      },
      "get": {
        "operationId": "discounts_list",
        "summary": "List discounts",
        "description": "Return a list of discounts in your store. ## HTTP request examples GET /discounts GET /discounts?created_at_max=2017-10-01 GET /discounts?created_at_max=2017-10-01 GET /discounts?created_at_min=2017-10-01 GET /discounts?discount_code=Discount GET /discounts?discount_type=percentage GET /discounts?updated_at_min=2017-10-01",
        "tags": [
          "Discounts"
        ],
        "parameters": [
          {
            "name": "created_at_max",
            "in": "query",
            "required": false,
            "description": "Get all discounts created before a specified date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at_min",
            "in": "query",
            "required": false,
            "description": "Get all discounts created after a specified date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "discount_code",
            "in": "query",
            "required": false,
            "description": "Search for a particular discount code.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "discount_type",
            "in": "query",
            "required": false,
            "description": "Type of discount. Value can be percentage or fixed_amount .",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "required": false,
            "description": "Filter discounts by id. If passing multiple values, must be comma separated. Non-integer values will result in a 422 error",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of results. (default:50) (maximum: 250)",
            "schema": {
              "type": "string",
              "default": 50
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "Page to show.",
            "schema": {
              "type": "string",
              "deprecated": true
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Returns all discounts with status enabled or disabled .",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_max",
            "in": "query",
            "required": false,
            "description": "Get all discounts updated before a specified date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_min",
            "in": "query",
            "required": false,
            "description": "Get all discounts updated after a specified date.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "discounts": [
                    {
                      "id": 3748296,
                      "applies_to": null,
                      "applies_to_id": null,
                      "applies_to_product_type": "ALL",
                      "applies_to_resource": null,
                      "channel_settings": {
                        "api": {
                          "can_apply": false
                        },
                        "checkout_page": {
                          "can_apply": true
                        },
                        "customer_portal": {
                          "can_apply": true
                        },
                        "merchant_portal": {
                          "can_apply": false
                        }
                      },
                      "code": "Discount1",
                      "created_at": "2018-04-25T14:32:39",
                      "discount_type": "percentage",
                      "duration": "usage_limit",
                      "duration_usage_limit": 10,
                      "ends_at": "2019-12-15T00:00:00",
                      "once_per_customer": false,
                      "prerequisite_subtotal_min": null,
                      "starts_at": "2018-05-16T00:00:00",
                      "status": "enabled",
                      "times_used": 0,
                      "updated_at": "2018-05-04T13:33:53",
                      "usage_limit": 10,
                      "value": 12
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/discounts/{id}": {
      "get": {
        "operationId": "discounts_retrieve",
        "summary": "Retrieve a discount",
        "description": "Retrieve a Recharge Discount",
        "tags": [
          "Discounts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "discount": {
                    "id": 3425307,
                    "applies_to": null,
                    "applies_to_id": null,
                    "applies_to_product_type": "ONETIME",
                    "applies_to_resource": null,
                    "channel_settings": {
                      "api": {
                        "can_apply": false
                      },
                      "checkout_page": {
                        "can_apply": true
                      },
                      "customer_portal": {
                        "can_apply": true
                      },
                      "merchant_portal": {
                        "can_apply": false
                      }
                    },
                    "code": "Discount",
                    "created_at": "2018-04-13T10:00:01",
                    "discount_type": "percentage",
                    "duration": "usage_limit",
                    "duration_usage_limit": 1,
                    "ends_at": "2023-12-31T00:00:00",
                    "once_per_customer": false,
                    "prerequisite_subtotal_min": null,
                    "starts_at": "2018-05-16T00:00:00",
                    "status": "enabled",
                    "times_used": 0,
                    "updated_at": "2019-10-16T10:03:38",
                    "usage_limit": 1,
                    "value": 12
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "discounts_update",
        "summary": "Update a discount",
        "description": "You can now modify an existing discount to match the specified parameters.",
        "tags": [
          "Discounts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "discount": {
                    "id": 3425307,
                    "applies_to": null,
                    "applies_to_id": null,
                    "applies_to_product_type": "ONETIME",
                    "applies_to_resource": null,
                    "channel_settings": {
                      "api": {
                        "can_apply": false
                      },
                      "checkout_page": {
                        "can_apply": true
                      },
                      "customer_portal": {
                        "can_apply": true
                      },
                      "merchant_portal": {
                        "can_apply": false
                      }
                    },
                    "code": "Discount",
                    "created_at": "2018-04-13T10:00:01",
                    "discount_type": "percentage",
                    "duration": "usage_limit",
                    "duration_usage_limit": 1,
                    "ends_at": "2023-12-31T00:00:00",
                    "once_per_customer": false,
                    "prerequisite_subtotal_min": null,
                    "starts_at": "2018-05-16T00:00:00",
                    "status": "enabled",
                    "times_used": 0,
                    "updated_at": "2019-10-16T10:03:38",
                    "usage_limit": 1,
                    "value": 12
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "channel_settings": {
                    "type": "string",
                    "description": "A list of channel objects containing information regarding discount behaviors for each. * can_apply: a boolean to indicate if the discount may be applied using the associated channel (defaults to true for all channels)."
                  },
                  "ends_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date when the discount will end."
                  },
                  "starts_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date when the discount will start."
                  },
                  "status": {
                    "type": "string",
                    "description": "The status of the discount. Value can be: * enabled discount is active to be applied * disabled discount can’t be applied on new purchases. Discount will remain on existing charges to which it has already been applied. * fully_disabled discount can no longer be applied. In addition, Discount is removed from every queued charge."
                  },
                  "usage_limit": {
                    "type": "integer",
                    "description": "The limit in which a discount can be used."
                  }
                }
              },
              "example": {
                "starts_at": "2021-12-06",
                "usage_limit": 10
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "discounts_delete",
        "summary": "Delete a discount",
        "description": "Delete a discount For safety reasons, to delete a discount you will need to set its status to fully_disabled.",
        "tags": [
          "Discounts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {}
              }
            }
          }
        }
      }
    },
    "/discounts/count": {
      "get": {
        "operationId": "discounts_count",
        "summary": "Count discounts",
        "description": "Receive a count of all discounts. ## HTTP request examples GET /discounts/count GET /discounts/count?created_at_min=2019-11-10&created_at_max=2019-11-11 GET /discounts/count?discount_type=percentage GET /discounts/count?status=enabled GET /discounts/count?updated_at_min=2019-11-10&updated_at_max=2019-11-11",
        "tags": [
          "Discounts"
        ],
        "parameters": [
          {
            "name": "created_at_max",
            "in": "query",
            "required": false,
            "description": "Returns the count of discounts created before a specified date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at_min",
            "in": "query",
            "required": false,
            "description": "Returns the count of discounts created after a specified date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "discount_type",
            "in": "query",
            "required": false,
            "description": "Returns the count of discounts that are of a given type. Value can be percentage, fixed_amount or shipping .",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Returns the count of discounts with status of enabled or disabled .",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_max",
            "in": "query",
            "required": false,
            "description": "Returns the count of discounts updated before a specified date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_min",
            "in": "query",
            "required": false,
            "description": "Returns the count of discounts updated after a specified date.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "count": 12057
                }
              }
            }
          }
        }
      }
    },
    "/addresses/{id}/apply_discount": {
      "post": {
        "operationId": "discounts_apply_address",
        "summary": "Apply a discount to an address",
        "description": "New endpoint for adding a discount to an existing address.",
        "tags": [
          "Discounts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "address": {
                    "id": 26031022,
                    "address1": "200 Bay St.",
                    "address2": "",
                    "cart_attributes": [],
                    "cart_note": "",
                    "city": "Toronto",
                    "company": "",
                    "country": "Canada",
                    "created_at": "2019-01-14T22:18:56",
                    "customer_id": 23124211,
                    "discount_id": 12406728,
                    "first_name": "R",
                    "last_name": "S",
                    "note_attributes": [],
                    "original_shipping_lines": [],
                    "phone": "4163536363",
                    "province": "Ontario",
                    "shipping_lines_override": null,
                    "updated_at": "2019-01-15T11:03:11",
                    "zip": "M9P 2b6"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "discount_code": {
                    "type": "string",
                    "description": "Code of the discount you want to apply to an address."
                  },
                  "discount_id": {
                    "type": "integer",
                    "description": "Id of the discount you want to apply to an address."
                  }
                }
              },
              "example": {
                "discount_id": 12406728
              }
            }
          }
        }
      }
    },
    "/charges/{id}/apply_discount": {
      "post": {
        "operationId": "discounts_apply_charge",
        "summary": "Apply a discount to a charge",
        "description": "New endpoint for adding discount to an existing queued charge. NOTE: You cannot add another discount to an existing queued charge if the charge already has a discount. Also cannot add if the address has an existing discount. NOTE: You can provide either discount_id or discount_code. If both parameters are passed, the value for discount_id will override the value in discount_code.",
        "tags": [
          "Discounts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "charge": {
                    "id": 105805051,
                    "address_id": 22369585,
                    "billing_address": {
                      "province": "California",
                      "city": "Los Angeles",
                      "first_name": "Mike",
                      "last_name": "Flynn",
                      "zip": "90404",
                      "country": "United States",
                      "address1": "3030 Nebraska Avenue",
                      "address2": null,
                      "company": null,
                      "phone": "3103843698"
                    },
                    "client_details": {
                      "user_agent": null,
                      "browser_ip": null
                    },
                    "created_at": "2018-11-28T08:51:50",
                    "customer_hash": null,
                    "customer_id": 18819267,
                    "discount_codes": [
                      {
                        "amount": "12.00",
                        "code": "test",
                        "type": "percentage"
                      }
                    ],
                    "email": null,
                    "first_name": null,
                    "has_uncommited_changes": false,
                    "last_name": null,
                    "line_items": [
                      {
                        "grams": 0,
                        "original_price": "9.00",
                        "price": "9.00",
                        "quantity": 1,
                        "shopify_product_id": "1255175363",
                        "shopify_variant_id": "3844892483",
                        "sku": "test",
                        "subscription_id": 28835632,
                        "title": "SuperKiwi ONETIME",
                        "variant_title": "6oz",
                        "properties": [
                          {
                            "name": "grind",
                            "value": "drip"
                          }
                        ]
                      }
                    ],
                    "note": " next order #1   - Subscription Recurring Order",
                    "note_attributes": null,
                    "scheduled_at": "2018-11-30T00:00:00",
                    "shipments_count": null,
                    "shipping_address": {
                      "address1": "2298 Primrose Lane",
                      "address2": "",
                      "city": "Richland Center",
                      "company": "Recharge",
                      "country": "United States",
                      "first_name": "Sherman",
                      "last_name": "Rivas",
                      "phone": "6086493200",
                      "province": "Wisconsin",
                      "zip": "53581"
                    },
                    "shipping_lines": [
                      {
                        "code": "Standard Shipping",
                        "price": "0.00",
                        "title": "Standard Shipping"
                      }
                    ],
                    "shopify_order_id": null,
                    "status": "QUEUED",
                    "sub_total": null,
                    "subtotal_price": 7.92,
                    "tags": "Subscription, Subscription Recurring Order",
                    "tax_lines": 0.38,
                    "total_discounts": "1.08",
                    "total_line_items_price": "9.00",
                    "total_price": "7.92",
                    "total_refunds": null,
                    "total_tax": 0.38,
                    "total_weight": 0,
                    "type": "RECURRING",
                    "updated_at": "2019-01-15T11:32:53"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "discount_code": {
                    "type": "string",
                    "description": "Code of the discount you want to apply to a charge."
                  },
                  "discount_id": {
                    "type": "integer",
                    "description": "Id of the discount you want to apply to a charge."
                  }
                }
              },
              "example": {
                "discount_code": "test"
              }
            }
          }
        }
      }
    },
    "/addresses/{id}/remove_discount": {
      "post": {
        "operationId": "discounts_remove_from_address_or_charge",
        "summary": "Remove a discount",
        "description": "Remove a discount from a charge or address without destroying the discount. In most of the cases the discount should be removed from the address. When the discount is removed from the address the discount is also removed from any future charges. ## HTTP request examples POST /addresses/<address_id>/remove_discount/ POST /charges/<charge_id>/remove_discount/ If the discount is on the parent address, you cannot remove that discount using charge_id. When removing your discount it is preferable to pass the address_id so that the discount stays removed in case the charge is regenerated. Only pass charge_id in edge cases in which there are two or more charges on a parent address and you only want to remove the discount from one charge. If you pass both parameters, it will remove the discount from the address.",
        "tags": [
          "Discounts"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "address": {
                    "id": 26031022,
                    "address1": "200 Bay St.",
                    "address2": "",
                    "cart_attributes": [],
                    "cart_note": "a note",
                    "city": "Toronto",
                    "company": "",
                    "country": "Canada",
                    "created_at": "2019-01-14T22:18:56",
                    "customer_id": 23124211,
                    "discount_id": null,
                    "first_name": "R",
                    "last_name": "S",
                    "note_attributes": [],
                    "original_shipping_lines": [],
                    "phone": "4163536363",
                    "province": "Ontario",
                    "shipping_lines_override": null,
                    "updated_at": "2019-01-15T11:59:14",
                    "zip": "M9P 2b6"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "address_id": {
                    "type": "integer",
                    "description": "Unique numeric identifier for address from which you want to remove the discount."
                  },
                  "charge_id": {
                    "type": "integer",
                    "description": "Unique numeric identifier of the charge from which you want to remove the discount."
                  }
                }
              },
              "example": {}
            }
          }
        }
      }
    },
    "/metafields": {
      "post": {
        "operationId": "metafields_create",
        "summary": "Create a metafield",
        "description": "Creates metafield for specific object. Note:There is a limit of 50 metafields per owner_id.",
        "tags": [
          "Metafields"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "metafield": {
                    "id": 33,
                    "created_at": "2018-11-07T14:00:10",
                    "description": "customer_phone_number",
                    "key": "phone_number",
                    "namespace": "personal_info",
                    "owner_id": 18301938,
                    "owner_resource": "customer",
                    "updated_at": "2018-11-07T14:00:10",
                    "value": "3103103101",
                    "value_type": "integer"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "description": {
                    "type": "string",
                    "description": "Description of the metafield."
                  },
                  "key": {
                    "type": "string",
                    "description": "The name of the metafield."
                  },
                  "namespace": {
                    "type": "string",
                    "description": "A category or container that differentiates your metadata from other metafields."
                  },
                  "owner_id": {
                    "type": "integer",
                    "description": "Unique numeric identifier of the owner resource."
                  },
                  "owner_resource": {
                    "type": "string",
                    "description": "The owner of the resource can be one of the following values: address , store , customer , subscription , order , charge . There may be more objects added in the future."
                  },
                  "value": {
                    "type": "string",
                    "description": "The content of the metafield."
                  },
                  "value_type": {
                    "type": "string",
                    "description": "The type of the value parameter. Valid values are \"string\" , \"json_string\" and \"integer\""
                  }
                },
                "required": [
                  "key",
                  "namespace",
                  "owner_id",
                  "owner_resource",
                  "value",
                  "value_type"
                ]
              },
              "example": {
                "metafield": {
                  "description": "customer_phone_number",
                  "key": "phone_number",
                  "namespace": "personal_info",
                  "owner_resource": "customer",
                  "owner_id": 18301938,
                  "value_type": "integer",
                  "value": "3103103101"
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "metafields_list",
        "summary": "List metafields",
        "description": "Retrieves a list of metafields. ## HTTP request examples GET /metafields?owner_resource=<owner_resource> GET /metafields?owner_resource=subscription&owner_id=<subscription_id> GET /metafields?owner_resource=customer&owner_id=<customer_id> GET /metafields?owner_resource=store&owner_id=<store_id> When getting metafields, you must specify owner_resource in the URL. It can be address , store , customer , subscription , order , charge You can list metafields that are created for all subscription objects using: GET /metafields?owner_resource=subscription - owner_id in the response will be the ID of the subscription. Metafields are filterable by any of the following parameters:",
        "tags": [
          "Metafields"
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Amount of results. (default:50) (maximum: 250).",
            "schema": {
              "type": "string",
              "default": 50
            }
          },
          {
            "name": "namespace",
            "in": "query",
            "required": false,
            "description": "A category or container that differentiates your metadata from other metafields.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "owner_id",
            "in": "query",
            "required": false,
            "description": "Unique numeric identifier of the owner resource.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "owner_resource",
            "in": "query",
            "required": false,
            "description": "The owner of the resource can be one of the following values: address , store , customer , subscription , order , charge . There may be more objects added in the future.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "Page to show.",
            "schema": {
              "type": "string",
              "deprecated": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "metafields": [
                    {
                      "id": 33,
                      "created_at": "2018-11-07T14:00:10",
                      "description": "customer_phone_number",
                      "key": "phone_number",
                      "namespace": "personal_info",
                      "owner_id": 18301938,
                      "owner_resource": "customer",
                      "updated_at": "2018-11-07T14:00:10",
                      "value": "3103103101",
                      "value_type": "integer"
                    },
                    {
                      "id": 15,
                      "created_at": "2018-11-05T12:59:30",
                      "description": "desc lorem ipsum",
                      "key": "marjan",
                      "namespace": "nmsp2c",
                      "owner_id": 17868054,
                      "owner_resource": "customer",
                      "updated_at": "2018-11-05T15:48:42",
                      "value": "5",
                      "value_type": "integer"
                    },
                    {
                      "id": 9,
                      "created_at": "2018-11-05T12:47:27",
                      "description": "desc lorem ipsum",
                      "key": "marjan",
                      "namespace": "nmspc",
                      "owner_id": 17868054,
                      "owner_resource": "customer",
                      "updated_at": "2018-11-05T12:47:27",
                      "value": "5",
                      "value_type": "integer"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/metafields/{id}": {
      "get": {
        "operationId": "metafields_retrieve",
        "summary": "Retrieve a metafield",
        "description": "Retrieves a single metafield based on specified id. ## HTTP request examples GET /metafields/<metafield_id> In addition to that, you can retrieve them by “subscription_id” by using: GET /metafields?owner_resource=subscription&owner_id=<subscription_id>",
        "tags": [
          "Metafields"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "metafield": {
                    "id": 33,
                    "created_at": "2018-11-07T14:00:10",
                    "description": "customer_phone_number",
                    "key": "phone_number",
                    "namespace": "personal_info",
                    "owner_id": 18301938,
                    "owner_resource": "customer",
                    "updated_at": "2018-11-07T14:00:10",
                    "value": "3103103101",
                    "value_type": "integer"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "metafields_update",
        "summary": "Update a metafield",
        "description": "Updates metafield based on specified owner resource.",
        "tags": [
          "Metafields"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "metafield": {
                    "id": 33,
                    "created_at": "2018-11-07T14:00:10",
                    "description": "customer_phone_number",
                    "key": "phone_number",
                    "namespace": "personal_info",
                    "owner_id": 18301938,
                    "owner_resource": "customer",
                    "updated_at": "2018-11-07T14:00:10",
                    "value": "3103103101",
                    "value_type": "integer"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "description": {
                    "type": "string",
                    "description": "Description of the metafield."
                  },
                  "owner_id": {
                    "type": "string",
                    "description": "Unique numeric identifier of the resource."
                  },
                  "owner_resource": {
                    "type": "string",
                    "description": "The owner of the resource can be one of the following values: address , store , customer , subscription , order , charge . There may be more objects added in the future."
                  },
                  "value": {
                    "type": "string",
                    "description": "The content of the metafield."
                  },
                  "value_type": {
                    "type": "string",
                    "description": "The type of the value parameter. Valid values are \"string\" , \"json_string\" and \"integer\""
                  }
                }
              },
              "example": {
                "metafield": {
                  "description": "phone_number_of_customer",
                  "owner_id": 18293088,
                  "owner_resource": "customer",
                  "value": "0333103133",
                  "value_type": "integer"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "metafields_delete",
        "summary": "Delete a metafield",
        "description": "Delete a metafield",
        "tags": [
          "Metafields"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {}
              }
            }
          }
        }
      }
    },
    "/metafields/count": {
      "get": {
        "operationId": "metafields_count",
        "summary": "Count metafields",
        "description": "Retrieves a number of metafields for some specific query parameter. ## HTTP request examples GET /metafields/count?owner_resource=<owner_resource> When getting metafields, you must specify owner_resource in the URL. It can be address , store , customer , subscription , order , charge",
        "tags": [
          "Metafields"
        ],
        "parameters": [
          {
            "name": "namespace",
            "in": "query",
            "required": false,
            "description": "A category or container that differentiates your metadata from other metafields.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "owner_id",
            "in": "query",
            "required": false,
            "description": "Unique numeric identifier of the owner resource.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "owner_resource",
            "in": "query",
            "required": false,
            "description": "The owner of the resource can be one of the following values: address , store , customer , subscription , order , charge . There may be more objects added in the future.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "count": 3
                }
              }
            }
          }
        }
      }
    },
    "/customers/{id}/notifications": {
      "post": {
        "operationId": "notifications_get_account_access",
        "summary": "Send email notification",
        "description": "Sends an upcoming charge email to the customer with the customer_id indicated in the route. To view the upcoming charge email template, visit the Notifications section in your Recharge Merchant Admin Portal.",
        "tags": [
          "Notifications"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {}
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "integer",
                    "description": "Identifies the type of the notifications. Value can be email only."
                  },
                  "template_type": {
                    "type": "string",
                    "description": "Identifies the type of the email notifications. To send an “Upcoming Charge” email, set value to upcoming_charge",
                    "enum": [
                      "upcoming_charge",
                      "get_account_access"
                    ]
                  },
                  "template_vars": {
                    "type": "object",
                    "properties": {
                      "template_vars.address_id": {
                        "type": "integer",
                        "description": "If needed by the template_type , the address_id associated with the indicated Customer , and the object of the Notification ."
                      },
                      "template_vars.charge_id": {
                        "type": "boolean",
                        "description": "If needed by the template_type , the charge_id of the Charge for which the notification should be sent."
                      }
                    },
                    "description": "An object containing the necessary template variables for this email template type."
                  }
                },
                "required": [
                  "type",
                  "template_type"
                ]
              },
              "example": {
                "type": "email",
                "template_type": "upcoming_charge",
                "template_vars": {
                  "address_id": 1234567890,
                  "charge_id": 9876543210
                }
              }
            }
          }
        }
      }
    },
    "/addresses/{address_id}/onetimes": {
      "post": {
        "operationId": "onetimes_create",
        "summary": "Create a onetime",
        "description": "Create a new Onetime.",
        "tags": [
          "Onetimes"
        ],
        "parameters": [
          {
            "name": "address_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "onetime": {
                    "id": 16909886,
                    "address_id": 21317826,
                    "created_at": "2018-11-14T11:20:05",
                    "customer_id": 18819267,
                    "next_charge_scheduled_at": "2021-12-17T00:00:00",
                    "price": null,
                    "product_title": "SuperKiwi ONETIME",
                    "properties": [
                      {
                        "name": "grind",
                        "value": "drip"
                      }
                    ],
                    "quantity": 1,
                    "recharge_product_id": 518672,
                    "shopify_product_id": 1255175363,
                    "shopify_variant_id": 3844892483,
                    "sku": null,
                    "status": "ONETIME",
                    "updated_at": "2018-11-14T11:20:05",
                    "variant_title": "6oz"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "add_to_next_charge": {
                    "type": "boolean",
                    "description": "Boolean used to automatically add One Time Purchase to the next scheduled charge associated with the indicated address record."
                  },
                  "next_charge_scheduled_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": "This will set the charge date of a new One Time Purchase (cannot be used with add_to_next_charge )."
                  },
                  "price": {
                    "type": "integer",
                    "description": "The price of the product."
                  },
                  "product_title": {
                    "type": "string",
                    "description": "The name of the product."
                  },
                  "properties": {
                    "type": "string",
                    "description": "List of properties."
                  },
                  "quantity": {
                    "type": "integer",
                    "description": "The quantity of the product."
                  },
                  "shopify_product_id": {
                    "type": "integer",
                    "description": "Unique numeric identifier of the product in Shopify."
                  },
                  "shopify_variant_id": {
                    "type": "integer",
                    "description": "Unique numeric identifier of the product variant in Shopify."
                  }
                },
                "required": [
                  "next_charge_scheduled_at",
                  "quantity",
                  "shopify_product_id",
                  "shopify_variant_id"
                ]
              },
              "example": {
                "next_charge_scheduled_at": "2021-12-17",
                "price": 9,
                "product_title": "SuperKiwi ONETIME",
                "properties": [
                  {
                    "name": "grind",
                    "value": "drip"
                  },
                  {
                    "name": "size",
                    "value": "medium"
                  }
                ],
                "quantity": 1,
                "shopify_variant_id": 3844892483
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_subscriptions"
        ]
      }
    },
    "/onetimes/{id}": {
      "get": {
        "operationId": "onetimes_retrieve",
        "summary": "Retrieve a onetime",
        "description": "Retrieve a Onetime.",
        "tags": [
          "Onetimes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "onetime": {
                    "id": 16909886,
                    "address_id": 21317826,
                    "created_at": "2018-11-14T11:20:05",
                    "customer_id": 18819267,
                    "next_charge_scheduled_at": "2021-12-17T00:00:00",
                    "price": null,
                    "product_title": "SuperKiwi ONETIME",
                    "properties": [
                      {
                        "name": "grind",
                        "value": "drip"
                      },
                      {
                        "name": "size",
                        "value": "medium"
                      }
                    ],
                    "quantity": 1,
                    "recharge_product_id": 518676,
                    "shopify_product_id": 1255175363,
                    "shopify_variant_id": 3844892483,
                    "sku": null,
                    "status": "ONETIME",
                    "updated_at": "2018-11-14T11:20:05",
                    "variant_title": "6oz"
                  }
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "read_subscriptions"
        ]
      },
      "put": {
        "operationId": "onetimes_update",
        "summary": "Update a onetime",
        "description": "Update an existing One Time Product.",
        "tags": [
          "Onetimes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "onetime": {
                    "id": 16909886,
                    "address_id": 21317826,
                    "created_at": "2018-11-14T11:20:05",
                    "customer_id": 18819267,
                    "next_charge_scheduled_at": "2021-12-17T00:00:00",
                    "price": null,
                    "product_title": "SuperKiwi ONETIME",
                    "properties": [
                      {
                        "name": "grind",
                        "value": "drip"
                      },
                      {
                        "name": "size",
                        "value": "medium"
                      }
                    ],
                    "quantity": 1,
                    "recharge_product_id": 518676,
                    "shopify_product_id": 1255175363,
                    "shopify_variant_id": 3844892483,
                    "sku": null,
                    "status": "ONETIME",
                    "updated_at": "2018-11-14T11:20:05",
                    "variant_title": "6oz"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "next_charge_scheduled_at": {
                    "type": "boolean",
                    "description": "This will set the charge date of a new One Time Purchase (cannot be used with add_to_next_charge )."
                  },
                  "price": {
                    "type": "integer",
                    "description": "The price of the product."
                  },
                  "product_title": {
                    "type": "string",
                    "description": "The name of the product."
                  },
                  "properties": {
                    "type": "string",
                    "description": "List of properties."
                  },
                  "quantity": {
                    "type": "integer",
                    "description": "The quantity of the product."
                  },
                  "shopify_variant_id": {
                    "type": "integer",
                    "description": "Unique numeric identifier of the product variant in Shopify."
                  },
                  "sku": {
                    "type": "string",
                    "description": "A unique alphanumeric identifier of the item in the fulfillment."
                  },
                  "variant_title": {
                    "type": "string",
                    "description": "The name of the product variant."
                  }
                }
              },
              "example": {
                "quantity": 1
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_subscriptions"
        ]
      },
      "delete": {
        "operationId": "onetimes_delete",
        "summary": "Delete a onetime",
        "description": "Delete a Onetime.",
        "tags": [
          "Onetimes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {}
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_subscriptions"
        ]
      }
    },
    "/onetimes": {
      "get": {
        "operationId": "onetimes_list",
        "summary": "List onetimes",
        "description": "Returns a list of all One Time products from store.",
        "tags": [
          "Onetimes"
        ],
        "parameters": [
          {
            "name": "address_id",
            "in": "query",
            "required": false,
            "description": "Return the onetimes linked to the given address_id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at_max",
            "in": "query",
            "required": false,
            "description": "Return the onetimes created before the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at_min",
            "in": "query",
            "required": false,
            "description": "Return the onetimes created after the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "query",
            "required": false,
            "description": "Return the onetimes linked to the given Recharge customer id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "The number of results. Default is 50, maximum is 250.",
            "schema": {
              "type": "string",
              "default": 50
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "The page to show. Default is 1.",
            "schema": {
              "type": "string",
              "deprecated": true,
              "default": 1
            }
          },
          {
            "name": "shopify_customer_id",
            "in": "query",
            "required": false,
            "description": "Return the onetimes linked to the given Shopify customer id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_max",
            "in": "query",
            "required": false,
            "description": "Return the onetimes updated before the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_min",
            "in": "query",
            "required": false,
            "description": "Return the onetimes updated after the given date.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "onetimes": [
                    {
                      "id": 16909886,
                      "address_id": 21317826,
                      "created_at": "2018-11-14T11:20:05",
                      "customer_id": 18819267,
                      "next_charge_scheduled_at": "2018-12-17T00:00:00",
                      "price": null,
                      "product_title": "SuperKiwi ONETIME",
                      "properties": [
                        {
                          "name": "grind",
                          "value": "drip"
                        },
                        {
                          "name": "size",
                          "value": "medium"
                        }
                      ],
                      "quantity": 1,
                      "recharge_product_id": 518676,
                      "shopify_product_id": 1255175363,
                      "shopify_variant_id": 3844892483,
                      "sku": null,
                      "status": "ONETIME",
                      "updated_at": "2018-11-14T11:20:05",
                      "variant_title": "6oz"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "read_subscriptions"
        ]
      }
    },
    "/orders/{id}": {
      "get": {
        "operationId": "orders_retrieve",
        "summary": "Retrieve an order",
        "description": "Retrieve one order using the Recharge order id.",
        "tags": [
          "Orders"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "order": {
                    "id": 70071255,
                    "address_id": 4029306,
                    "address_is_active": 1,
                    "billing_address": {
                      "address1": "1933 Manning",
                      "address2": "204",
                      "city": "los angeles",
                      "company": "bootstrap",
                      "country": "United States",
                      "first_name": "mike",
                      "last_name": "flynn",
                      "phone": "3103103101",
                      "province": "California",
                      "zip": "90025"
                    },
                    "charge_id": 97376832,
                    "charge_status": "SUCCESS",
                    "created_at": "2018-11-08T08:08:09",
                    "currency": "USD",
                    "customer": {
                      "accepts_marketing": true,
                      "email": "examlpe@email.com",
                      "first_name": "mike",
                      "last_name": "flynn",
                      "phone": null,
                      "send_email_welcome": false,
                      "verified_email": true
                    },
                    "customer_id": 4203912,
                    "discount_codes": [],
                    "email": "examlpe@email.com",
                    "error": "",
                    "first_name": "mike",
                    "hash": "42039120ee0e6cfa5c97805",
                    "is_prepaid": 1,
                    "last_name": "flynn",
                    "line_items": [
                      {
                        "images": {
                          "large": "https://cdn.shopify.com/s/files/1/0683/1951/products/milk2_large.jpeg",
                          "medium": "https://cdn.shopify.com/s/files/1/0683/1951/products/milk2_medium.jpeg",
                          "original": "https://cdn.shopify.com/s/files/1/0683/1951/products/milk2.jpeg",
                          "small": "https://cdn.shopify.com/s/files/1/0683/1951/products/milk2_small.jpeg"
                        },
                        "original_price": "17.00",
                        "price": "17.00",
                        "properties": [
                          {
                            "name": "grind",
                            "value": "drip"
                          },
                          {
                            "name": "size",
                            "value": "medium"
                          }
                        ],
                        "quantity": 4,
                        "shopify_product_id": 1255183683,
                        "shopify_variant_id": 3844924611,
                        "sku": "MILK-1",
                        "subscription_id": 26375706,
                        "variant_title": "Milk - a / b"
                      }
                    ],
                    "note": "shopifyCartToken_littledata:45af6dbe140d8dc1a9b7821ae256cfff GAClientId:1215763073.1492751771 -  next order #3   - Subscription Recurring Order",
                    "note_attributes": [],
                    "payment_processor": "stripe",
                    "processed_at": null,
                    "scheduled_at": "2022-11-16T00:00:00",
                    "shipped_date": null,
                    "shipping_address": {
                      "address1": "1933 Manning",
                      "address2": "204",
                      "city": "los angeles",
                      "company": "bootstrap",
                      "country": "United States",
                      "first_name": "mike",
                      "last_name": "flynn",
                      "phone": "3103103101",
                      "province": "California",
                      "zip": "90025"
                    },
                    "shipping_date": "2022-11-16T00:00:00",
                    "shipping_lines": [
                      {
                        "code": "Standard Shipping",
                        "price": 0,
                        "title": "Standard Shipping"
                      }
                    ],
                    "shopify_cart_token": "45af6dbe140d8dc1a9b7821ae256cfff",
                    "shopify_customer_id": "6454896021",
                    "shopify_id": null,
                    "shopify_order_id": null,
                    "shopify_order_number": null,
                    "status": "CANCELLED",
                    "subtotal_price": 0,
                    "tags": "Prepaid, Subscription, Subscription Recurring Order",
                    "tax_lines": [
                      {
                        "price": "0.950",
                        "rate": 0.0725,
                        "title": "CA State Tax"
                      },
                      {
                        "price": "0.335",
                        "rate": 0.0225,
                        "title": "Los Angeles  County Tax"
                      }
                    ],
                    "total_discounts": 0,
                    "total_duties": 0,
                    "total_line_items_price": 0,
                    "total_price": 0,
                    "total_refunds": null,
                    "total_tax": 0,
                    "total_weight": 18144,
                    "transaction_id": "ch_1DUDEtJ2zqHvZRd1EQHjapRD",
                    "type": "RECURRING",
                    "updated_at": "2018-12-20T13:25:52"
                  }
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "read_orders"
        ]
      },
      "put": {
        "operationId": "orders_update",
        "summary": "Update an order",
        "description": "Updating existing order is now available for pre-paid subscriptions.",
        "tags": [
          "Orders"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "order": {
                    "id": 70071255,
                    "address_id": 4029306,
                    "address_is_active": 1,
                    "billing_address": {
                      "address1": "1933 Manning",
                      "address2": "204",
                      "city": "los angeles",
                      "company": "bootstrap",
                      "country": "United States",
                      "first_name": "mike",
                      "last_name": "flynn",
                      "phone": "3103103101",
                      "province": "California",
                      "zip": "90025"
                    },
                    "charge_id": 97376832,
                    "charge_status": "SUCCESS",
                    "created_at": "2018-11-08T08:08:09",
                    "currency": "USD",
                    "customer": {
                      "accepts_marketing": true,
                      "email": "examlpe@email.com",
                      "first_name": "mike",
                      "last_name": "flynn",
                      "phone": null,
                      "send_email_welcome": false,
                      "verified_email": true
                    },
                    "customer_id": 4203912,
                    "discount_codes": [],
                    "email": "examlpe@email.com",
                    "error": "",
                    "first_name": "mike",
                    "hash": "42039120ee0e6cfa5c97805",
                    "is_prepaid": 1,
                    "last_name": "flynn",
                    "line_items": [
                      {
                        "external_inventory_policy": "decrement_obeying_policy",
                        "images": {
                          "large": "https://cdn.shopify.com/s/files/1/0683/1951/products/milk2_large.jpeg",
                          "medium": "https://cdn.shopify.com/s/files/1/0683/1951/products/milk2_medium.jpeg",
                          "original": "https://cdn.shopify.com/s/files/1/0683/1951/products/milk2.jpeg",
                          "small": "https://cdn.shopify.com/s/files/1/0683/1951/products/milk2_small.jpeg"
                        },
                        "original_price": "17.00",
                        "price": "17.00",
                        "product_title": "Milk",
                        "properties": [
                          {
                            "name": "grind",
                            "value": "drip"
                          },
                          {
                            "name": "size",
                            "value": "medium"
                          }
                        ],
                        "quantity": 4,
                        "shopify_product_id": 1255183683,
                        "shopify_variant_id": 3844924611,
                        "sku": "MILK-1",
                        "subscription_id": 26375706,
                        "tax_lines": [
                          {
                            "price": "0.950",
                            "rate": 0.0725,
                            "title": "CA State Tax"
                          },
                          {
                            "price": "0.335",
                            "rate": 0.0225,
                            "title": "Los Angeles  County Tax"
                          }
                        ],
                        "title": "Milk",
                        "variant_title": "Milk - a / b"
                      }
                    ],
                    "note": "shopifyCartToken_littledata:45af6dbe140d8dc1a9b7821ae256cfff GAClientId:1215763073.1492751771 -  next order #3   - Subscription Recurring Order",
                    "note_attributes": [],
                    "payment_processor": "stripe",
                    "processed_at": null,
                    "scheduled_at": "2022-11-16T00:00:00",
                    "shipped_date": null,
                    "shipping_address": {
                      "address1": "1933 Manning",
                      "address2": "204",
                      "city": "los angeles",
                      "company": "bootstrap",
                      "country": "United States",
                      "first_name": "mike",
                      "last_name": "flynn",
                      "phone": "3103103101",
                      "province": "California",
                      "zip": "90025"
                    },
                    "shipping_date": "2022-11-16T00:00:00",
                    "shipping_lines": [
                      {
                        "code": "Standard Shipping",
                        "price": 0,
                        "title": "Standard Shipping"
                      }
                    ],
                    "shopify_cart_token": "45af6dbe140d8dc1a9b7821ae256cfff",
                    "shopify_customer_id": "6454896021",
                    "shopify_id": null,
                    "shopify_order_id": null,
                    "shopify_order_number": null,
                    "status": "CANCELLED",
                    "subtotal_price": 0,
                    "tags": "Prepaid, Subscription, Subscription Recurring Order",
                    "tax_lines": [
                      {
                        "price": "0.950",
                        "rate": 0.0725,
                        "title": "CA State Tax"
                      },
                      {
                        "price": "0.335",
                        "rate": 0.0225,
                        "title": "Los Angeles  County Tax"
                      }
                    ],
                    "total_discounts": 0,
                    "total_duties": 0,
                    "total_line_items_price": 0,
                    "total_price": 0,
                    "total_refunds": null,
                    "total_tax": 0,
                    "total_weight": 18144,
                    "transaction_id": "ch_1DUDEtJ2zqHvZRd1EQHjapRD",
                    "type": "RECURRING",
                    "updated_at": "2018-12-20T13:25:52"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "billing_address": {
                    "type": "object",
                    "description": "The key values you would like to update: address1 optional province required address2 optional city optional company optional country optional first_name optional last_name optional phone optional zip optional"
                  },
                  "shipping_address": {
                    "type": "object",
                    "description": "The key values you would like to update: address1 optional province required address2 optional city optional company optional country optional first_name optional last_name optional phone optional zip optional"
                  },
                  "customer": {
                    "type": "object",
                    "description": "The key values related with customer you would like to update: first_name optional last_name required email optional"
                  }
                }
              },
              "example": {
                "billing_address": {
                  "city": "Los Angeles",
                  "first_name": "mike",
                  "last_name": "flynn",
                  "zip": "90025"
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_orders"
        ]
      },
      "delete": {
        "operationId": "orders_delete",
        "summary": "Delete an order",
        "description": "You can delete a scheduled order.",
        "tags": [
          "Orders"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {}
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_orders"
        ]
      }
    },
    "/orders": {
      "get": {
        "operationId": "orders_list",
        "summary": "List orders",
        "description": "Returns a list of orders. ## HTTP request examples GET /orders GET /orders?customer_id=123 GET /orders?address_id=4587216 GET /orders?charge_id=45678542 GET /orders?created_at_min=2016-05-18&created_at_max=2016-06-18",
        "tags": [
          "Orders"
        ],
        "parameters": [
          {
            "name": "address_id",
            "in": "query",
            "required": false,
            "description": "Filter orders by address. GET /orders/?address_id=123 will return all orders for the given address_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "charge_id",
            "in": "query",
            "required": false,
            "description": "Filter orders by charge. GET /orders/?charge_id=123 will return all orders for the given charge_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at_max",
            "in": "query",
            "required": false,
            "description": "Show orders created before the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at_min",
            "in": "query",
            "required": false,
            "description": "Show orders created after the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "query",
            "required": false,
            "description": "Filter orders by customer. GET /orders/?customer_id=123 will return all orders for the given customer_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "required": false,
            "description": "Filter orders by id. If passing multiple values, must be comma separated. Non-integer values will result in a 422 error",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "The number of results. Default is 50, maximum is 250.",
            "schema": {
              "type": "string",
              "default": 50
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "The page to show. Default is 1.",
            "schema": {
              "type": "string",
              "deprecated": true,
              "default": 1
            }
          },
          {
            "name": "scheduled_at_max",
            "in": "query",
            "required": false,
            "description": "Show orders scheduled before the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "scheduled_at_min",
            "in": "query",
            "required": false,
            "description": "Show orders scheduled after the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "shipping_date",
            "in": "query",
            "required": false,
            "description": "The date when the order will be processed and sent to Shopify. Deprecated, use scheduled_at instead.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "shopify_order_id",
            "in": "query",
            "required": false,
            "description": "Filter orders by shopify_order_id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "has_external_order",
            "in": "query",
            "required": false,
            "description": "Filter orders with/without shopify_order_id (external_order_id). Default value is null",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Filter orders by status. Available status: “SUCCESS”, “QUEUED”, “ERROR”, “REFUNDED”, “SKIPPED”.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscription_id",
            "in": "query",
            "required": false,
            "description": "Filter orders by subscriptions. GET /orders/?subscription_id=123 will return all orders for the given subscription_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_max",
            "in": "query",
            "required": false,
            "description": "Show orders updated before the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_min",
            "in": "query",
            "required": false,
            "description": "Show orders updated after the given date.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "orders": [
                    {
                      "id": 70071255,
                      "address_id": 4029306,
                      "address_is_active": 1,
                      "billing_address": {
                        "address1": "1933 Manning",
                        "address2": "204",
                        "city": "los angeles",
                        "company": "bootstrap",
                        "country": "United States",
                        "first_name": "mike",
                        "last_name": "flynn",
                        "phone": "3103103101",
                        "province": "California",
                        "zip": "90025"
                      },
                      "charge_id": 97376832,
                      "charge_status": "SUCCESS",
                      "created_at": "2018-11-08T08:08:09",
                      "currency": "USD",
                      "customer": {
                        "accepts_marketing": true,
                        "email": "examlpe@email.com",
                        "first_name": "mike",
                        "last_name": "flynn",
                        "phone": null,
                        "send_email_welcome": false,
                        "verified_email": true
                      },
                      "customer_id": 4203912,
                      "discount_codes": [],
                      "email": "examlpe@email.com",
                      "first_name": "mike",
                      "hash": "42039120ee0e6cfa5c97805",
                      "is_prepaid": 1,
                      "last_name": "flynn",
                      "line_items": [
                        {
                          "grams": 0,
                          "images": {
                            "large": "https://cdn.shopify.com/.../Sumatra_Coffee_large.png",
                            "medium": "https://cdn.shopify.com/.../Sumatra_Coffee__medium.png",
                            "original": "https://cdn.shopify.com/.../Sumatra_Coffee_.png",
                            "small": "https://cdn.shopify.com/.../Sumatra_Coffee__small.png"
                          },
                          "original_price": "0.00",
                          "price": "0.00",
                          "product_title": "Sumatra Coffee Dark",
                          "properties": [
                            {
                              "name": "grind",
                              "value": "drip"
                            }
                          ],
                          "quantity": 4,
                          "shopify_product_id": 1255183683,
                          "shopify_variant_id": 32720763846,
                          "sku": "MILK-1",
                          "subscription_id": 26375706,
                          "title": "Sumatra Coffee Dark",
                          "variant_title": "Milk - a / b"
                        }
                      ],
                      "note": "shopifyCartToken_littledata:45af6dbe140d8dc1a9b7821ae256cfff GAClientId:1215763073.1492751771 -  next order #3   - Subscription Recurring Order",
                      "note_attributes": null,
                      "payment_processor": "stripe",
                      "processed_at": null,
                      "scheduled_at": "2022-11-16T00:00:00",
                      "shipped_date": null,
                      "shipping_address": {
                        "address1": "1933 Manning",
                        "address2": "204",
                        "city": "los angeles",
                        "company": "bootstrap",
                        "country": "United States",
                        "first_name": "mike",
                        "last_name": "flynn",
                        "phone": "3103103101",
                        "province": "California",
                        "zip": "90025"
                      },
                      "shipping_date": "2022-11-16T00:00:00",
                      "shipping_lines": [],
                      "shopify_cart_token": "45af6dbe140d8dc1a9b7821ae256cfff",
                      "shopify_customer_id": "6454896021",
                      "shopify_id": null,
                      "shopify_order_id": null,
                      "shopify_order_number": null,
                      "status": "QUEUED",
                      "subtotal_price": 0,
                      "tags": "Prepaid, Subscription, Subscription Recurring Order",
                      "tax_lines": [
                        {
                          "price": "0.950",
                          "rate": 0.0725,
                          "title": "CA State Tax"
                        },
                        {
                          "price": "0.335",
                          "rate": 0.0225,
                          "title": "Los Angeles  County Tax"
                        }
                      ],
                      "total_discounts": 0,
                      "total_duties": 0,
                      "total_line_items_price": 0,
                      "total_price": 0,
                      "total_refunds": null,
                      "total_tax": 0,
                      "total_weight": 0,
                      "transaction_id": "ch_1DUDEtJ2zqHvZRd1EQHjapRD",
                      "type": "RECURRING",
                      "updated_at": "2018-11-09T10:07:52"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "read_orders"
        ]
      }
    },
    "/orders/count": {
      "get": {
        "operationId": "orders_count",
        "summary": "Count orders",
        "description": "Retrieve a count of all orders. ## HTTP request examples GET /orders/count GET /orders/count GET /orders/count?address_id=123123 GET /orders/count?charge_id=123123 GET /orders/count?created_at_min=2015-01-01&created_at_max=2019-02-02 GET /orders/count?customer_id=123123 GET /orders/count?scheduled_at_min=2016-01-01&scheduled_at_max=2019-02-02 GET /orders/count?shopify_customer_id=123123123 GET /orders/count?subscription_id=123123 GET /orders/count?status=queued",
        "tags": [
          "Orders"
        ],
        "parameters": [
          {
            "name": "address_id",
            "in": "query",
            "required": false,
            "description": "Filter orders by address. GET /orders/?address_id=123 will return all orders for the given address_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "charge_id",
            "in": "query",
            "required": false,
            "description": "Filter orders by charge. GET /orders/?charge_id=123 will return all orders for the given charge_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at_max",
            "in": "query",
            "required": false,
            "description": "Show orders created before the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at_min",
            "in": "query",
            "required": false,
            "description": "Show orders created after the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "query",
            "required": false,
            "description": "Filter orders by customer. GET /orders/?customer_id=123 will return all orders for the given customer_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "scheduled_at_max",
            "in": "query",
            "required": false,
            "description": "Show orders scheduled before the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "scheduled_at_min",
            "in": "query",
            "required": false,
            "description": "Show orders scheduled after the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "shopify_customer_id",
            "in": "query",
            "required": false,
            "description": "Return the count of orders by shopify_customer_id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Filter orders by status. Available status: “SUCCESS”, “QUEUED”, “ERROR”, “REFUNDED”, “SKIPPED”.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscription_id",
            "in": "query",
            "required": false,
            "description": "Filter orders by subscriptions. GET /orders/?subscription_id=123 will return all orders for the given subscription_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_max",
            "in": "query",
            "required": false,
            "description": "Show orders updated before the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_min",
            "in": "query",
            "required": false,
            "description": "Show orders updated after the given date.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "count": 38667
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "read_orders"
        ]
      }
    },
    "/orders/{id}/change_date": {
      "post": {
        "operationId": "orders_change_date",
        "summary": "Change an order date",
        "description": "Modify the shipping date of the order.",
        "tags": [
          "Orders"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "order": {
                    "id": 70071255,
                    "address_id": 4029306,
                    "address_is_active": 1,
                    "billing_address": {
                      "address1": "1933 Manning",
                      "address2": "204",
                      "city": "los angeles",
                      "company": "bootstrap",
                      "country": "United States",
                      "first_name": "mike",
                      "last_name": "flynn",
                      "phone": "3103103101",
                      "province": "California",
                      "zip": "90025"
                    },
                    "charge_id": 97376832,
                    "charge_status": "SUCCESS",
                    "currency": "USD",
                    "customer": {
                      "accepts_marketing": true,
                      "email": "examlpe@email.com",
                      "first_name": "mike",
                      "last_name": "flynn",
                      "phone": null,
                      "send_email_welcome": false,
                      "verified_email": true
                    },
                    "created_at": "2018-11-08T08:08:09",
                    "customer_id": 4203912,
                    "discount_codes": [],
                    "email": "examlpe@email.com",
                    "first_name": "mike",
                    "hash": "42039120ee0e6cfa5c97805",
                    "is_prepaid": 1,
                    "last_name": "flynn",
                    "line_items": [
                      {
                        "grams": 0,
                        "images": {
                          "large": "https://cdn.shopify.com/.../Sumatra_Coffee_large.png",
                          "medium": "https://cdn.shopify.com/.../Sumatra_Coffee__medium.png",
                          "original": "https://cdn.shopify.com/.../Sumatra_Coffee_.png",
                          "small": "https://cdn.shopify.com/.../Sumatra_Coffee__small.png"
                        },
                        "original_price": "0.00",
                        "price": "0.00",
                        "product_title": "Sumatra Coffee Dark",
                        "properties": [
                          {
                            "name": "grind",
                            "value": "drip"
                          }
                        ],
                        "quantity": 4,
                        "shopify_product_id": 1255183683,
                        "shopify_variant_id": 3844924611,
                        "sku": "MILK-1",
                        "subscription_id": 26375706,
                        "title": "Sumatra Coffee Dark",
                        "variant_title": "Milk - a / b"
                      }
                    ],
                    "note": "next order #3",
                    "note_attributes": null,
                    "payment_processor": "stripe",
                    "processed_at": null,
                    "scheduled_at": "2018-07-01T00:00:00",
                    "shipped_date": null,
                    "shipping_address": {
                      "address1": "1933 Manning",
                      "address2": "204",
                      "city": "los angeles",
                      "company": "bootstrap",
                      "country": "United States",
                      "first_name": "mike",
                      "last_name": "flynn",
                      "phone": "3103103101",
                      "province": "California",
                      "zip": "90025"
                    },
                    "shipping_date": "2022-11-16T00:00:00",
                    "shipping_lines": [],
                    "shopify_cart_token": "45af6dbe140d8dc1a9b7821ae256cfff",
                    "shopify_customer_id": "6454896021",
                    "shopify_id": null,
                    "shopify_order_id": null,
                    "shopify_order_number": null,
                    "status": "QUEUED",
                    "subtotal_price": 0,
                    "tags": "Prepaid, Subscription, Subscription Recurring Order",
                    "tax_lines": [
                      {
                        "price": "0.950",
                        "rate": 0.0725,
                        "title": "CA State Tax"
                      },
                      {
                        "price": "0.335",
                        "rate": 0.0225,
                        "title": "Los Angeles  County Tax"
                      }
                    ],
                    "total_discounts": 0,
                    "total_duties": 0,
                    "total_line_items_price": 0,
                    "total_price": 0,
                    "total_refunds": null,
                    "total_tax": 0,
                    "total_weight": 0,
                    "transaction_id": "ch_1DUDEtJ2zqHvZRd1EQHjapRD",
                    "type": "RECURRING",
                    "updated_at": "2018-06-09T10:07:52"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "scheduled_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": "New shipping date in ISO 8601 format."
                  }
                },
                "required": [
                  "scheduled_at"
                ]
              },
              "example": {
                "scheduled_at": "2018-07-01T00:00:00"
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_orders"
        ]
      }
    },
    "/orders/{id}/update_shopify_variant/{remote_variant_id}": {
      "put": {
        "operationId": "orders_change_variant",
        "summary": "Change an order variant",
        "description": "Modify the shopify product variant of the order.",
        "tags": [
          "Orders"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "remote_variant_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "order": {
                    "id": 70071255,
                    "address_id": 4029306,
                    "address_is_active": 1,
                    "billing_address": {
                      "address1": "1933 Manning",
                      "address2": "204",
                      "city": "los angeles",
                      "company": "bootstrap",
                      "country": "United States",
                      "first_name": "mike",
                      "last_name": "flynn",
                      "phone": "3103103101",
                      "province": "California",
                      "zip": "90025"
                    },
                    "charge_id": 97376832,
                    "charge_status": "SUCCESS",
                    "currency": "USD",
                    "customer": {
                      "accepts_marketing": true,
                      "email": "examlpe@email.com",
                      "first_name": "mike",
                      "last_name": "flynn",
                      "phone": null,
                      "send_email_welcome": false,
                      "verified_email": true
                    },
                    "created_at": "2018-11-08T08:08:09",
                    "customer_id": 4203912,
                    "discount_codes": [],
                    "email": "examlpe@email.com",
                    "first_name": "mike",
                    "hash": "42039120ee0e6cfa5c97805",
                    "is_prepaid": 1,
                    "last_name": "flynn",
                    "line_items": [
                      {
                        "grams": 0,
                        "images": {
                          "large": "https://cdn.shopify.com/.../Sumatra_Coffee_large.png",
                          "medium": "https://cdn.shopify.com/.../Sumatra_Coffee__medium.png",
                          "original": "https://cdn.shopify.com/.../Sumatra_Coffee_.png",
                          "small": "https://cdn.shopify.com/.../Sumatra_Coffee__small.png"
                        },
                        "original_price": "0.00",
                        "price": "0.00",
                        "product_title": "Sumatra Coffee Dark",
                        "properties": [
                          {
                            "name": "grind",
                            "value": "drip"
                          }
                        ],
                        "quantity": 4,
                        "shopify_product_id": 1255183683,
                        "shopify_variant_id": 3844924611,
                        "sku": "MILK-1",
                        "subscription_id": 26375706,
                        "title": "Sumatra Coffee Dark",
                        "variant_title": "Milk - a / b"
                      }
                    ],
                    "note": "next order #3",
                    "note_attributes": null,
                    "payment_processor": "stripe",
                    "processed_at": null,
                    "scheduled_at": "2018-07-01T00:00:00",
                    "shipped_date": null,
                    "shipping_address": {
                      "address1": "1933 Manning",
                      "address2": "204",
                      "city": "los angeles",
                      "company": "bootstrap",
                      "country": "United States",
                      "first_name": "mike",
                      "last_name": "flynn",
                      "phone": "3103103101",
                      "province": "California",
                      "zip": "90025"
                    },
                    "shipping_date": "2022-11-16T00:00:00",
                    "shipping_lines": [],
                    "shopify_cart_token": "45af6dbe140d8dc1a9b7821ae256cfff",
                    "shopify_customer_id": "6454896021",
                    "shopify_id": null,
                    "shopify_order_id": null,
                    "shopify_order_number": null,
                    "status": "QUEUED",
                    "subtotal_price": 0,
                    "tags": "Prepaid, Subscription, Subscription Recurring Order",
                    "tax_lines": [
                      {
                        "price": "0.950",
                        "rate": 0.0725,
                        "title": "CA State Tax"
                      },
                      {
                        "price": "0.335",
                        "rate": 0.0225,
                        "title": "Los Angeles  County Tax"
                      }
                    ],
                    "total_discounts": 0,
                    "total_duties": 0,
                    "total_line_items_price": 0,
                    "total_price": 0,
                    "total_refunds": null,
                    "total_tax": 0,
                    "total_weight": 0,
                    "transaction_id": "ch_1DUDEtJ2zqHvZRd1EQHjapRD",
                    "type": "RECURRING",
                    "updated_at": "2018-06-09T10:07:52"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "new_shopify_variant_id": {
                    "type": "integer",
                    "description": "Unique numeric identifier of new shopify product variant."
                  },
                  "shopify_variant_id": {
                    "type": "string",
                    "description": "Unique numeric identifier of existing shopify product variant."
                  }
                },
                "required": [
                  "new_shopify_variant_id",
                  "shopify_variant_id"
                ]
              },
              "example": {
                "new_shopify_variant_id": "32720763846"
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_orders"
        ]
      }
    },
    "/orders/clone_order_on_success_charge/{order_id}/charge/{charge_id}": {
      "post": {
        "operationId": "orders_clone",
        "summary": "Clone an order",
        "description": "You may add additional Orders onto a success Charge if it has existing prepaid Orders by cloning an existing Order.",
        "tags": [
          "Orders"
        ],
        "parameters": [
          {
            "name": "order_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "charge_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "order": {
                    "id": 70071255,
                    "address_id": 4029306,
                    "address_is_active": 1,
                    "billing_address": {
                      "address1": "1933 Manning",
                      "address2": "204",
                      "city": "los angeles",
                      "company": "bootstrap",
                      "country": "United States",
                      "first_name": "mike",
                      "last_name": "flynn",
                      "phone": "3103103101",
                      "province": "California",
                      "zip": "90025"
                    },
                    "charge_id": 97376832,
                    "charge_status": "SUCCESS",
                    "currency": "USD",
                    "customer": {
                      "accepts_marketing": true,
                      "email": "examlpe@email.com",
                      "first_name": "mike",
                      "last_name": "flynn",
                      "phone": null,
                      "send_email_welcome": false,
                      "verified_email": true
                    },
                    "created_at": "2018-11-08T08:08:09",
                    "customer_id": 4203912,
                    "discount_codes": [],
                    "email": "examlpe@email.com",
                    "first_name": "mike",
                    "hash": "42039120ee0e6cfa5c97805",
                    "is_prepaid": 1,
                    "last_name": "flynn",
                    "line_items": [
                      {
                        "grams": 0,
                        "images": {
                          "large": "https://cdn.shopify.com/.../Sumatra_Coffee_large.png",
                          "medium": "https://cdn.shopify.com/.../Sumatra_Coffee__medium.png",
                          "original": "https://cdn.shopify.com/.../Sumatra_Coffee_.png",
                          "small": "https://cdn.shopify.com/.../Sumatra_Coffee__small.png"
                        },
                        "original_price": "0.00",
                        "price": "0.00",
                        "product_title": "Sumatra Coffee Dark",
                        "properties": [
                          {
                            "name": "grind",
                            "value": "drip"
                          }
                        ],
                        "quantity": 4,
                        "shopify_product_id": 1255183683,
                        "shopify_variant_id": 3844924611,
                        "sku": "MILK-1",
                        "subscription_id": 26375706,
                        "title": "Sumatra Coffee Dark",
                        "variant_title": "Milk - a / b"
                      }
                    ],
                    "note": "next order #3",
                    "note_attributes": null,
                    "payment_processor": "stripe",
                    "processed_at": null,
                    "scheduled_at": "2018-07-01T00:00:00",
                    "shipped_date": null,
                    "shipping_address": {
                      "address1": "1933 Manning",
                      "address2": "204",
                      "city": "los angeles",
                      "company": "bootstrap",
                      "country": "United States",
                      "first_name": "mike",
                      "last_name": "flynn",
                      "phone": "3103103101",
                      "province": "California",
                      "zip": "90025"
                    },
                    "shipping_date": "2022-11-16T00:00:00",
                    "shipping_lines": [],
                    "shopify_cart_token": "45af6dbe140d8dc1a9b7821ae256cfff",
                    "shopify_customer_id": "6454896021",
                    "shopify_id": null,
                    "shopify_order_id": null,
                    "shopify_order_number": null,
                    "status": "QUEUED",
                    "subtotal_price": 0,
                    "tags": "Prepaid, Subscription, Subscription Recurring Order",
                    "tax_lines": [
                      {
                        "price": "0.950",
                        "rate": 0.0725,
                        "title": "CA State Tax"
                      },
                      {
                        "price": "0.335",
                        "rate": 0.0225,
                        "title": "Los Angeles  County Tax"
                      }
                    ],
                    "total_discounts": 0,
                    "total_duties": 0,
                    "total_line_items_price": 0,
                    "total_price": 0,
                    "total_refunds": null,
                    "total_tax": 0,
                    "total_weight": 0,
                    "transaction_id": "ch_1DUDEtJ2zqHvZRd1EQHjapRD",
                    "type": "RECURRING",
                    "updated_at": "2018-06-09T10:07:52"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "scheduled_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date in future when this order will be sent."
                  }
                },
                "required": [
                  "scheduled_at"
                ]
              },
              "example": {
                "scheduled_at": "2022-11-16"
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_orders"
        ]
      }
    },
    "/orders/{id}/delay": {
      "post": {
        "operationId": "orders_delay",
        "summary": "Delay an order",
        "description": "Delay a prepaid Order by one interval",
        "tags": [
          "Orders"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "order": {
                    "id": 70071255,
                    "address_id": 4029306,
                    "address_is_active": 1,
                    "billing_address": {
                      "address1": "1933 Manning",
                      "address2": "204",
                      "city": "los angeles",
                      "company": "bootstrap",
                      "country": "United States",
                      "first_name": "mike",
                      "last_name": "flynn",
                      "phone": "3103103101",
                      "province": "California",
                      "zip": "90025"
                    },
                    "charge_id": 97376832,
                    "charge_status": "QUEUED",
                    "created_at": "2022-02-04T18:19:52",
                    "currency": "USD",
                    "customer": {
                      "accepts_marketing": true,
                      "email": "examlpe@email.com",
                      "first_name": "mike",
                      "last_name": "flynn",
                      "phone": null,
                      "send_email_welcome": false,
                      "verified_email": true
                    },
                    "customer_id": 4203912,
                    "discount_codes": [],
                    "email": "examlpe@email.com",
                    "first_name": "mike",
                    "hash": "42039120ee0e6cfa5c97805",
                    "is_prepaid": 1,
                    "last_name": "flynn",
                    "line_items": [
                      {
                        "grams": 0,
                        "images": {
                          "large": "https://cdn.shopify.com/.../Sumatra_Coffee_large.png",
                          "medium": "https://cdn.shopify.com/.../Sumatra_Coffee__medium.png",
                          "original": "https://cdn.shopify.com/.../Sumatra_Coffee_.png",
                          "small": "https://cdn.shopify.com/.../Sumatra_Coffee__small.png"
                        },
                        "original_price": "0.00",
                        "price": "0.00",
                        "product_title": "Sumatra Coffee Dark",
                        "properties": [
                          {
                            "name": "grind",
                            "value": "drip"
                          }
                        ],
                        "quantity": 4,
                        "shopify_product_id": 1255183683,
                        "shopify_variant_id": 3844924611,
                        "sku": "MILK-1",
                        "subscription_id": 26375706,
                        "title": "Sumatra Coffee Dark",
                        "variant_title": "Milk - a / b"
                      }
                    ],
                    "note": "next order #3",
                    "note_attributes": null,
                    "payment_processor": "stripe",
                    "processed_at": null,
                    "scheduled_at": "2023-03-07T00:00:00",
                    "shipped_date": null,
                    "shipping_address": {
                      "address1": "1933 Manning",
                      "address2": "204",
                      "city": "los angeles",
                      "company": "bootstrap",
                      "country": "United States",
                      "first_name": "mike",
                      "last_name": "flynn",
                      "phone": "3103103101",
                      "province": "California",
                      "zip": "90025"
                    },
                    "shipping_date": "2023-03-07T00:00:00",
                    "shipping_lines": [],
                    "shopify_cart_token": "45af6dbe140d8dc1a9b7821ae256cfff",
                    "shopify_customer_id": "6454896021",
                    "shopify_id": null,
                    "shopify_order_id": null,
                    "shopify_order_number": null,
                    "status": "QUEUED",
                    "subtotal_price": 0,
                    "tags": "Prepaid, Subscription, Subscription Recurring Order",
                    "tax_lines": [
                      {
                        "price": "0.950",
                        "rate": 0.0725,
                        "title": "CA State Tax"
                      },
                      {
                        "price": "0.335",
                        "rate": 0.0225,
                        "title": "Los Angeles  County Tax"
                      }
                    ],
                    "total_discounts": 0,
                    "total_duties": 0,
                    "total_line_items_price": 0,
                    "total_price": 0,
                    "total_refunds": null,
                    "total_tax": 0,
                    "total_weight": 0,
                    "transaction_id": "ch_1DUDEtJ2zqHvZRd1EQHjapRD",
                    "type": "RECURRING",
                    "updated_at": "2023-01-17T11:36:08"
                  }
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_orders"
        ]
      }
    },
    "/shop": {
      "get": {
        "operationId": "shop_retrieve",
        "summary": "Retrieve a shop",
        "description": "Retrieve store using the Recharge API. Shop properties .",
        "tags": [
          "Shop"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "description": "Unique number identifier of the store.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "created_at",
            "in": "query",
            "required": false,
            "description": "Date and time when the store is created.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "description": "Currency of the store.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domain",
            "in": "query",
            "required": false,
            "description": "Global domain name of the store.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email",
            "in": "query",
            "required": false,
            "description": "Store-owner e-mail Will be deprecated, use shop_email instead.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "iana_timezone",
            "in": "query",
            "required": false,
            "description": "Iana database timezone format.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "my_shopify_domain",
            "in": "query",
            "required": false,
            "description": "Store domain name in Shopify.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "description": "Name of the store.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "shop_phone",
            "in": "query",
            "required": false,
            "description": "Phone number of the store owner.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "shop_email",
            "in": "query",
            "required": false,
            "description": "E-mail address of the store owner.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "timezone",
            "in": "query",
            "required": false,
            "description": "Timezone of the store.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at",
            "in": "query",
            "required": false,
            "description": "Date and time when the store was updated.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "shop": {
                    "checkout_logo_url": ""
                  },
                  "store": {
                    "id": 1100010523,
                    "checkout_platform": "recharge",
                    "created_at": "Thu, 10 Jan 2018 08:40:45 GMT",
                    "currency": "USD",
                    "domain": "example-store.com",
                    "email": "example@gmail.com",
                    "enabled_presentment_currencies": [
                      "USD"
                    ],
                    "enabled_presentment_currencies_symbols": [
                      {
                        "currency": "USD",
                        "location": "before",
                        "suffix": "",
                        "symbol": "$"
                      }
                    ],
                    "disabled_currencies_historical": [],
                    "iana_timezone": "America/New_York",
                    "my_shopify_domain": "example-store.myshopify.com",
                    "name": "Example Store",
                    "shop_email": "example@gmail.com",
                    "shop_phone": "9075553333",
                    "timezone": "(GMT-05:00) Eastern Time (US & Canada)",
                    "updated_at": "Wed, 10 Mar 2019 05:17:23 GMT"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/shop/shipping_countries": {
      "get": {
        "operationId": "shop_shipping_countries",
        "summary": "Shipping countries",
        "description": "Retrieve shipping countries where items can be shipped. ## HTTP request examples GET /shop/shipping_countries",
        "tags": [
          "Shop"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "description": "Unique identifier of country for store in Recharge.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "code",
            "in": "query",
            "required": false,
            "description": "It represents country code per ISO standards.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country_id",
            "in": "query",
            "required": false,
            "description": "Unique identifier of country.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "description": "Country name.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "shipping_countries": [
                    {
                      "id": 156172,
                      "code": "US",
                      "country_id": 227,
                      "name": "United States",
                      "provinces": [
                        {
                          "id": 2138,
                          "code": "AL",
                          "name": "Alabama"
                        },
                        {
                          "id": 2133,
                          "code": "AK",
                          "name": "Alaska"
                        },
                        {
                          "id": 2115,
                          "code": "AS",
                          "name": "American Samoa"
                        }
                      ]
                    },
                    {
                      "id": 172110,
                      "code": "CA",
                      "country_id": 37,
                      "name": "Canada",
                      "provinces": [
                        {
                          "id": 1947,
                          "code": "AB",
                          "name": "Alberta"
                        },
                        {
                          "id": 1941,
                          "code": "BC",
                          "name": "British Columbia"
                        },
                        {
                          "id": 1948,
                          "code": "MB",
                          "name": "Manitoba"
                        }
                      ]
                    },
                    {
                      "id": 156151,
                      "code": "IE",
                      "country_id": 103,
                      "name": "Ireland",
                      "provinces": []
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions": {
      "post": {
        "operationId": "subscriptions_create",
        "summary": "Create a subscription",
        "description": "",
        "tags": [
          "Subscriptions"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "subscription": {
                    "id": 89559201,
                    "address_id": 48563471,
                    "analytics_data": {
                      "utm_params": []
                    },
                    "cancellation_reason": null,
                    "cancellation_reason_comments": null,
                    "cancelled_at": null,
                    "charge_interval_frequency": "30",
                    "created_at": "2020-07-10T10:30:51",
                    "customer_id": 43845860,
                    "email": "example@email.com",
                    "expire_after_specific_number_of_charges": null,
                    "has_queued_charges": 1,
                    "is_prepaid": true,
                    "is_skippable": false,
                    "is_swappable": false,
                    "max_retries_reached": 0,
                    "next_charge_scheduled_at": "2020-07-15T00:00:00",
                    "order_day_of_month": null,
                    "order_day_of_week": null,
                    "order_interval_frequency": "15",
                    "order_interval_unit": "day",
                    "price": 5,
                    "product_title": "Powder Milk 50.00% Off Auto renew",
                    "properties": [
                      {
                        "name": "Colour",
                        "value": "White"
                      },
                      {
                        "name": "Package Material",
                        "value": "Paper"
                      }
                    ],
                    "quantity": 3,
                    "recharge_product_id": 1422079,
                    "shopify_product_id": 4546063663207,
                    "shopify_variant_id": 32165284380775,
                    "sku": null,
                    "sku_override": false,
                    "status": "ACTIVE",
                    "updated_at": "2020-07-10T10:30:51",
                    "variant_title": "1 / Powder"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "address_id": {
                    "type": "integer",
                    "description": "Unique numeric identifier of the customer’s address."
                  },
                  "charge_interval_frequency": {
                    "type": "integer",
                    "description": "The number of units, specified in order_interval_unit, between each charge."
                  },
                  "customer_id": {
                    "type": "string",
                    "description": "Unique numeric identifier of the customer."
                  },
                  "expire_after_specific_number_of_charges": {
                    "type": "string",
                    "description": "The number of charges until the subscription expires."
                  },
                  "next_charge_scheduled_at": {
                    "type": "string",
                    "description": "This will set the first charge date of a new subscription."
                  },
                  "order_day_of_month": {
                    "type": "string",
                    "description": "This is populated when order_interval_unit has value “month”. Default value is 0."
                  },
                  "order_day_of_week": {
                    "type": "string",
                    "description": "This is populated when order_interval_unit has value “week”."
                  },
                  "order_interval_frequency": {
                    "type": "string",
                    "description": "The number of units, specified in order_interval_unit, between each order."
                  },
                  "order_interval_unit": {
                    "type": "string",
                    "description": "The frequency which a subscription should have the order created with. Valid values are “day”, “week”, and “month”."
                  },
                  "price": {
                    "type": "string",
                    "description": "The price of the product."
                  },
                  "properties": {
                    "type": "string",
                    "description": "The list of line item objects."
                  },
                  "product_title": {
                    "type": "string",
                    "description": "The name of the product."
                  },
                  "quantity": {
                    "type": "string",
                    "description": "The quantity of the product"
                  },
                  "shopify_product_id": {
                    "type": "string",
                    "description": "Unique numeric identifier of the product id in Shopify."
                  },
                  "shopify_variant_id": {
                    "type": "string",
                    "description": "Unique numeric identifier of the product variant id in Shopify."
                  },
                  "status": {
                    "type": "string",
                    "description": "Default is set to \"ACTIVE\".",
                    "default": "ACTIVE"
                  }
                },
                "required": [
                  "address_id",
                  "charge_interval_frequency",
                  "next_charge_scheduled_at",
                  "order_interval_frequency",
                  "order_interval_unit",
                  "quantity",
                  "shopify_product_id",
                  "shopify_variant_id"
                ]
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_subscriptions"
        ]
      },
      "get": {
        "operationId": "subscriptions_list",
        "summary": "List subscriptions",
        "description": "Returns a list of all your subscriptions. ## HTTP request examples GET /subscriptions GET /subscriptions?created_at_min=2018-10-10&created_at_max=2019-10-16 GET /subscriptions?customer_id=<customer_id>",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "name": "address_id",
            "in": "query",
            "required": false,
            "description": "Return the subscriptions linked to the given address id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at_max",
            "in": "query",
            "required": false,
            "description": "Return the subscriptions created before the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at_min",
            "in": "query",
            "required": false,
            "description": "Return the subscriptions created after the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "query",
            "required": false,
            "description": "Return the subscriptions linked to the given Recharge customer id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "required": false,
            "description": "Comma-separated list of subscription ids to filter",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_onetimes",
            "in": "query",
            "required": false,
            "description": "(beta-feature) When set as true the response will contain onetimes and subscriptions that meet the given search criteria. Onetimes will be sent as an array with the key \"onetimes\" and subscriptions will be sent as an array with the key \"subscriptions\". If no onetimes or subscriptions meet the search criteria, the corresponding array will be empty. Requires one of the following search parameters: * address_id * customer_id * shopify_customer_id Note: this feature requires a beta flag that must be enabled by Recharge.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "The number of results. Default value is 50 and maximum is 250.",
            "schema": {
              "type": "string",
              "default": 50
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "The page to show. Default value is 1.",
            "schema": {
              "type": "string",
              "deprecated": true,
              "default": 1
            }
          },
          {
            "name": "shopify_customer_id",
            "in": "query",
            "required": false,
            "description": "Return the subscriptions linked to the given Shopify customer id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "shopify_variant_id",
            "in": "query",
            "required": false,
            "description": "Return the subscriptions linked to the given Shopify product variant id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Return the subscriptions with specified status. Status can have the following values: • ACTIVE - The subscription is active. • CANCELLED - The subscription has been cancelled. • EXPIRED - The subscription has expired. This occurs when the maximum number of charges for a product has been reached.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_max",
            "in": "query",
            "required": false,
            "description": "Return the subscriptions updated before the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_min",
            "in": "query",
            "required": false,
            "description": "Return the subscriptions updated after the given date.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "subscriptions": [
                    {
                      "id": 89560571,
                      "address_id": 48563471,
                      "analytics_data": {
                        "utm_params": []
                      },
                      "cancellation_reason": null,
                      "cancellation_reason_comments": null,
                      "cancelled_at": null,
                      "charge_interval_frequency": "30",
                      "created_at": "2020-07-10T10:39:01",
                      "customer_id": 43845860,
                      "email": "example@email.com",
                      "expire_after_specific_number_of_charges": null,
                      "has_queued_charges": 1,
                      "is_prepaid": false,
                      "is_skippable": true,
                      "is_swappable": false,
                      "max_retries_reached": 0,
                      "next_charge_scheduled_at": "2020-07-16T00:00:00",
                      "order_day_of_month": null,
                      "order_day_of_week": null,
                      "order_interval_frequency": "30",
                      "order_interval_unit": "day",
                      "price": 7,
                      "product_title": "Orange Juice Auto renew",
                      "properties": [],
                      "quantity": 2,
                      "recharge_product_id": 1463299,
                      "shopify_product_id": 4578081833063,
                      "shopify_variant_id": 32309455192167,
                      "sku": null,
                      "sku_override": false,
                      "status": "ACTIVE",
                      "updated_at": "2020-07-10T10:39:01",
                      "variant_title": "Squeezed"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "read_subscriptions"
        ]
      }
    },
    "/subscriptions/{id}": {
      "get": {
        "operationId": "subscriptions_retrieve",
        "summary": "Retrieve a subscription",
        "description": "Retrieve a subscription using the Recharge subscription id.",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "subscription": {
                    "id": 89559201,
                    "address_id": 48563471,
                    "analytics_data": {
                      "utm_params": []
                    },
                    "cancellation_reason": null,
                    "cancellation_reason_comments": null,
                    "cancelled_at": null,
                    "charge_interval_frequency": "30",
                    "created_at": "2020-07-10T10:30:51",
                    "customer_id": 43845860,
                    "email": "example@email.com",
                    "expire_after_specific_number_of_charges": null,
                    "has_queued_charges": 1,
                    "is_prepaid": true,
                    "is_skippable": false,
                    "is_swappable": false,
                    "max_retries_reached": 0,
                    "next_charge_scheduled_at": "2020-07-15T00:00:00",
                    "order_day_of_month": null,
                    "order_day_of_week": null,
                    "order_interval_frequency": "15",
                    "order_interval_unit": "day",
                    "price": 5,
                    "product_title": "Powder Milk 50.00% Off Auto renew",
                    "properties": [
                      {
                        "name": "Colour",
                        "value": "White"
                      },
                      {
                        "name": "Package Material",
                        "value": "Paper"
                      }
                    ],
                    "quantity": 3,
                    "recharge_product_id": 1422079,
                    "shopify_product_id": 4546063663207,
                    "shopify_variant_id": 32165284380775,
                    "sku": null,
                    "sku_override": false,
                    "status": "ACTIVE",
                    "updated_at": "2020-07-10T10:30:51",
                    "variant_title": "1 / Powder"
                  }
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "read_subscriptions"
        ]
      },
      "put": {
        "operationId": "subscriptions_update",
        "summary": "Update a subscription",
        "description": "Update an existing subscription. Updating parameters like frequency , charge_interval_frequency , order_interval_frequency , order_interval_unit will affect our algorithm to automatically recalculate the next charge date ( next_charge_scheduled_at ). If you want to change the next charge date ( next_charge_scheduled_at ) we recommend you to update these parameters first. When updating subscription “status” attribute from “CANCELLED” to “ACTIVE”, following attributes will be set to null: “cancelled_at”, “cancellation_reason” and “cancellation_reason_comments” When updating order_interval_unit OR order_interval_frequency OR charge_interval_frequency all three parameters are required",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "force_update",
            "in": "query",
            "required": false,
            "description": "If set to True , updates will also be applied to CANCELLED subscriptions. If null or False , only ACTIVE subscriptions will be updated.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "subscription": {
                    "id": 89559201,
                    "address_id": 48563471,
                    "analytics_data": {
                      "utm_params": []
                    },
                    "cancellation_reason": null,
                    "cancellation_reason_comments": null,
                    "cancelled_at": null,
                    "charge_interval_frequency": "30",
                    "created_at": "2020-07-10T10:30:51",
                    "customer_id": 43845860,
                    "email": "example@email.com",
                    "expire_after_specific_number_of_charges": null,
                    "has_queued_charges": 1,
                    "is_prepaid": true,
                    "is_skippable": false,
                    "is_swappable": false,
                    "max_retries_reached": 0,
                    "next_charge_scheduled_at": "2020-07-15T00:00:00",
                    "order_day_of_month": null,
                    "order_day_of_week": null,
                    "order_interval_frequency": "15",
                    "order_interval_unit": "day",
                    "price": 5,
                    "product_title": "Powder Milk 50.00% Off Auto renew",
                    "properties": [
                      {
                        "name": "Colour",
                        "value": "White"
                      },
                      {
                        "name": "Package Material",
                        "value": "Paper"
                      }
                    ],
                    "quantity": 3,
                    "recharge_product_id": 1422079,
                    "shopify_product_id": 4546063663207,
                    "shopify_variant_id": 32165284380775,
                    "sku": null,
                    "sku_override": false,
                    "status": "ACTIVE",
                    "updated_at": "2020-07-10T10:30:51",
                    "variant_title": "1 / Powder"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "charge_interval_frequency": {
                    "type": "string",
                    "description": "The number of units (specified in order_interval_unit) between each charge. Required when updating order_interval_unit. WARNING: This update will remove skipped and manually changed charges."
                  },
                  "commit_update": {
                    "type": "boolean",
                    "description": "Controls whether the QUEUED charges linked to the subscription should be regenerated upon subscription update. By default the flag is set to true which means the charges get regenerated for every PUT . Having the flag set to false will delay charge regeneration 5 seconds so you can run multiple calls to perform the changes and you’ll be able to receive responses much faster since your app won’t wait between requests and responses for every charge regeneration to complete."
                  },
                  "expire_after_specific_number_of_charges": {
                    "type": "string",
                    "description": "The number of charges until subscription expires."
                  },
                  "order_day_of_month": {
                    "type": "string",
                    "description": "The day of the month the order is created on. WARNING: this update will remove skips and manually changed charges."
                  },
                  "order_day_of_week": {
                    "type": "string",
                    "description": "The day of the week the order is created on. WARNING: this update will remove skips and manually changed charges."
                  },
                  "order_interval_frequency": {
                    "type": "string",
                    "description": "The number of units (specified in order_interval_unit) between each order. Required when updating order_interval_unit. WARNING: This update will remove skipped and manually changed charges."
                  },
                  "order_interval_unit": {
                    "type": "string",
                    "description": "The frequency which a subscription should have the order created with. Valid values are “day”, “week”, and “month”. WARNING: This update will remove skipped and manually changed charges."
                  },
                  "override": {
                    "type": "string",
                    "description": "Advanced usage only When used, this allows for updating a prepaid subscription variant, which otherwise is not allowed because of the complexity of results. Use with caution."
                  },
                  "price": {
                    "type": "string",
                    "description": "The price of the item before discounts, taxes, or shipping has been applied."
                  },
                  "product_title": {
                    "type": "string",
                    "description": "The name of the product."
                  },
                  "properties": {
                    "type": "string",
                    "description": "List of properties."
                  },
                  "quantity": {
                    "type": "string",
                    "description": "The number of items in the subscription."
                  },
                  "shopify_variant_id": {
                    "type": "string",
                    "description": "Unique number identifier of the product variant in Shopify."
                  },
                  "sku": {
                    "type": "string",
                    "description": "A unique identifier of the item in the fulfillment."
                  },
                  "sku_override": {
                    "type": "string",
                    "description": "Flag is automatically updated to true when SKU is passed on create or update. When sku_override is true, the sku on the subscription will be used to generate charges and orders. When sku_override is false, Recharge will dynamically fetch the sku from the corresponding shopify variant."
                  },
                  "use_shopify_variant_defaults": {
                    "type": "boolean",
                    "description": "Flag instructing to pull the price , sku , variant_title , and product_title from the provided Shopify variant."
                  },
                  "variant_title": {
                    "type": "string",
                    "description": "The name of the product variant."
                  }
                },
                "required": [
                  "charge_interval_frequency",
                  "order_interval_frequency",
                  "order_interval_unit"
                ]
              },
              "example": {
                "quantity": 4
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_subscriptions"
        ]
      },
      "delete": {
        "operationId": "subscriptions_delete",
        "summary": "Delete a subscription",
        "description": "We now have a feature for deleting a subscription.",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {}
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "send_email": {
                    "type": "boolean",
                    "description": "When your store setting indicates that cancellation emails should be sent, this value determines if the email should be sent for the specified subscription cancellation. If set to 1, cancellation emails will be sent for the specified subscription cancellations. If set to 0, cancellation emails will not be sent."
                  }
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_subscriptions"
        ]
      }
    },
    "/subscriptions/count": {
      "get": {
        "operationId": "subscriptions_count",
        "summary": "Count subscriptions",
        "description": "Returns the count of subscriptions. ## HTTP request examples GET /subscriptions/count GET /subscriptions/count?customer_id=123123123 GET /subscriptions/count?address_id=123123123 GET /subscriptions/count?status=ACTIVE GET /subscriptions/count?shopify_customer_id=123123123123 GET /subscriptions/count?shopify_variant_id=123123123123 GET /subscriptions/count?updated_at_min=2019-11-10-&updated_at_max=2019-11-11 GET /subscriptions/count?created_at_min=2019-11-10-&updated_at_max=2019-11-11",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "name": "address_id",
            "in": "query",
            "required": false,
            "description": "Return the count of subscriptions linked to the given address id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at_max",
            "in": "query",
            "required": false,
            "description": "Return the count of subscriptions created before the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_at_min",
            "in": "query",
            "required": false,
            "description": "Return the count of subscriptions created after the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "query",
            "required": false,
            "description": "Return the count of subscriptions linked to the given customer id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "shopify_customer_id",
            "in": "query",
            "required": false,
            "description": "Return the count of subscriptions linked to the given Shopify customer id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "shopify_variant_id",
            "in": "query",
            "required": false,
            "description": "Return the count of subscriptions that have the provided shopify_variant_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Return the count of subscriptions with specified status. Status can have the following values: • ACTIVE - The subscription is active. • CANCELLED - The subscription has been cancelled. • EXPIRED - The subscription has been expired. This occurs when the maximum number of charges for a product has been reached.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_max",
            "in": "query",
            "required": false,
            "description": "Return the count of subscriptions updated before the given date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_at_min",
            "in": "query",
            "required": false,
            "description": "Return the count of subscriptions updated after the given date.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "count": 120457
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "read_subscriptions"
        ]
      }
    },
    "/subscriptions/{id}/set_next_charge_date": {
      "post": {
        "operationId": "subscriptions_change_next_charge",
        "summary": "Change a subscription next charge date",
        "description": "Update an existing subscription’s next charge date. Note: if there are two active subscriptions with the same address_id , and you update their next_charge_date parameters to match, their charges will get merged into a new charge with a new id",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "subscription": {
                    "id": 89559201,
                    "address_id": 48563471,
                    "analytics_data": {
                      "utm_params": []
                    },
                    "cancellation_reason": null,
                    "cancellation_reason_comments": null,
                    "cancelled_at": null,
                    "charge_interval_frequency": "30",
                    "created_at": "2020-07-10T10:30:51",
                    "customer_id": 43845860,
                    "email": "example@email.com",
                    "expire_after_specific_number_of_charges": null,
                    "has_queued_charges": 1,
                    "is_prepaid": true,
                    "is_skippable": false,
                    "is_swappable": false,
                    "max_retries_reached": 0,
                    "next_charge_scheduled_at": "2020-07-15T00:00:00",
                    "order_day_of_month": null,
                    "order_day_of_week": null,
                    "order_interval_frequency": "15",
                    "order_interval_unit": "day",
                    "price": 5,
                    "product_title": "Powder Milk 50.00% Off Auto renew",
                    "properties": [
                      {
                        "name": "Colour",
                        "value": "White"
                      },
                      {
                        "name": "Package Material",
                        "value": "Paper"
                      }
                    ],
                    "quantity": 3,
                    "recharge_product_id": 1422079,
                    "shopify_product_id": 4546063663207,
                    "shopify_variant_id": 32165284380775,
                    "sku": null,
                    "sku_override": false,
                    "status": "ACTIVE",
                    "updated_at": "2020-07-10T10:30:51",
                    "variant_title": "1 / Powder"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "date": {
                    "type": "string",
                    "description": "The next charge date desired."
                  }
                },
                "required": [
                  "date"
                ]
              },
              "example": {
                "date": "2021-08-05"
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_subscriptions"
        ]
      }
    },
    "/subscriptions/{id}/change_address": {
      "post": {
        "operationId": "subscriptions_change_address",
        "summary": "Change a subscription address",
        "description": "Update an existing subscription’s address.",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "subscription": {
                    "id": 89559201,
                    "address_id": 48563471,
                    "analytics_data": {
                      "utm_params": []
                    },
                    "cancellation_reason": null,
                    "cancellation_reason_comments": null,
                    "cancelled_at": null,
                    "charge_interval_frequency": "30",
                    "created_at": "2020-07-10T10:30:51",
                    "customer_id": 43845860,
                    "email": "example@email.com",
                    "expire_after_specific_number_of_charges": null,
                    "has_queued_charges": 1,
                    "is_prepaid": true,
                    "is_skippable": false,
                    "is_swappable": false,
                    "max_retries_reached": 0,
                    "next_charge_scheduled_at": "2020-07-15T00:00:00",
                    "order_day_of_month": null,
                    "order_day_of_week": null,
                    "order_interval_frequency": "15",
                    "order_interval_unit": "day",
                    "price": 5,
                    "product_title": "Powder Milk 50.00% Off Auto renew",
                    "properties": [
                      {
                        "name": "Colour",
                        "value": "White"
                      },
                      {
                        "name": "Package Material",
                        "value": "Paper"
                      }
                    ],
                    "quantity": 3,
                    "recharge_product_id": 1422079,
                    "shopify_product_id": 4546063663207,
                    "shopify_variant_id": 32165284380775,
                    "sku": null,
                    "sku_override": false,
                    "status": "ACTIVE",
                    "updated_at": "2020-07-10T10:30:51",
                    "variant_title": "1 / Powder"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "address_id": {
                    "type": "string",
                    "description": "Unique id of the address that need to be associated with subscription."
                  },
                  "next_charge_scheduled_at": {
                    "type": "string",
                    "description": "Date and time when next charge need to be scheduled."
                  }
                },
                "required": [
                  "address_id"
                ]
              },
              "example": {
                "address_id": 23397943
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_subscriptions"
        ]
      }
    },
    "/subscriptions/{id}/cancel": {
      "post": {
        "operationId": "subscriptions_cancel",
        "summary": "Cancel a subscription",
        "description": "Cancel an active subscription.",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "subscription": {
                    "id": 89559201,
                    "address_id": 48563471,
                    "analytics_data": {
                      "utm_params": []
                    },
                    "cancellation_reason": null,
                    "cancellation_reason_comments": null,
                    "cancelled_at": null,
                    "charge_interval_frequency": "30",
                    "created_at": "2020-07-10T10:30:51",
                    "customer_id": 43845860,
                    "email": "example@email.com",
                    "expire_after_specific_number_of_charges": null,
                    "has_queued_charges": 1,
                    "is_prepaid": true,
                    "is_skippable": false,
                    "is_swappable": false,
                    "max_retries_reached": 0,
                    "next_charge_scheduled_at": "2020-07-15T00:00:00",
                    "order_day_of_month": null,
                    "order_day_of_week": null,
                    "order_interval_frequency": "15",
                    "order_interval_unit": "day",
                    "price": 5,
                    "product_title": "Powder Milk 50.00% Off Auto renew",
                    "properties": [
                      {
                        "name": "Colour",
                        "value": "White"
                      },
                      {
                        "name": "Package Material",
                        "value": "Paper"
                      }
                    ],
                    "quantity": 3,
                    "recharge_product_id": 1422079,
                    "shopify_product_id": 4546063663207,
                    "shopify_variant_id": 32165284380775,
                    "sku": null,
                    "sku_override": false,
                    "status": "ACTIVE",
                    "updated_at": "2020-07-10T10:30:51",
                    "variant_title": "1 / Powder"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "cancellation_reason": {
                    "type": "string",
                    "description": "Reason for subscription cancellation."
                  },
                  "cancellation_reason_comments": {
                    "type": "string",
                    "description": "Cancellation reason comment. Maximum length is 1024 characters."
                  },
                  "send_email": {
                    "type": "string",
                    "description": "If set to false , subscription cancelled email will not be sent to customer and store owner. Note: even if set to True, there are some conditions where an email will not be sent. They are: inactive subscription_cancellation email template, customer or subscription was created on the same day, subscription is for a membership, email already sent for this subscription in the last 24 hours, customer has other active subscriptions or onetimes"
                  }
                },
                "required": [
                  "cancellation_reason"
                ]
              },
              "example": {
                "cancellation_reason": "other reason"
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_subscriptions"
        ]
      }
    },
    "/subscriptions/{id}/activate": {
      "post": {
        "operationId": "subscriptions_activate",
        "summary": "Activate a subscription",
        "description": "Activate a cancelled subscription. When activating subscription, following attributes will be set to null: “cancelled_at”, “cancellation_reason” and “cancellation_reason_comments”",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "subscription": {
                    "id": 89559201,
                    "address_id": 48563471,
                    "analytics_data": {
                      "utm_params": []
                    },
                    "cancellation_reason": null,
                    "cancellation_reason_comments": null,
                    "cancelled_at": null,
                    "charge_interval_frequency": "30",
                    "created_at": "2020-07-10T10:30:51",
                    "customer_id": 43845860,
                    "email": "example@email.com",
                    "expire_after_specific_number_of_charges": null,
                    "has_queued_charges": 1,
                    "is_prepaid": true,
                    "is_skippable": false,
                    "is_swappable": false,
                    "max_retries_reached": 0,
                    "next_charge_scheduled_at": "2020-07-15T00:00:00",
                    "order_day_of_month": null,
                    "order_day_of_week": null,
                    "order_interval_frequency": "15",
                    "order_interval_unit": "day",
                    "price": 5,
                    "product_title": "Powder Milk 50.00% Off Auto renew",
                    "properties": [
                      {
                        "name": "Colour",
                        "value": "White"
                      },
                      {
                        "name": "Package Material",
                        "value": "Paper"
                      }
                    ],
                    "quantity": 3,
                    "recharge_product_id": 1422079,
                    "shopify_product_id": 4546063663207,
                    "shopify_variant_id": 32165284380775,
                    "sku": null,
                    "sku_override": false,
                    "status": "ACTIVE",
                    "updated_at": "2020-07-10T10:30:51",
                    "variant_title": "1 / Powder"
                  }
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_subscriptions"
        ]
      }
    },
    "/addresses/{id}/subscriptions-bulk": {
      "post": {
        "operationId": "subscriptions_bulk_create",
        "summary": "Bulk create subscriptions",
        "description": "Bulk create new subscriptions. There is a limit of 20 subscriptions per request.",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "subscriptions": [
                    {
                      "id": 89560571,
                      "address_id": 48563471,
                      "analytics_data": {
                        "utm_params": []
                      },
                      "cancellation_reason": null,
                      "cancellation_reason_comments": null,
                      "cancelled_at": null,
                      "charge_interval_frequency": "30",
                      "created_at": "2020-07-10T10:39:00",
                      "customer_id": 43845860,
                      "email": "example@email.com",
                      "expire_after_specific_number_of_charges": null,
                      "has_queued_charges": 1,
                      "max_retries_reached": 0,
                      "next_charge_scheduled_at": "2020-07-16T00:00:00",
                      "order_day_of_month": null,
                      "order_day_of_week": null,
                      "order_interval_frequency": "30",
                      "order_interval_unit": "day",
                      "price": 7,
                      "product_title": "Orange Juice Auto renew",
                      "properties": [],
                      "quantity": 2,
                      "recharge_product_id": 1463299,
                      "shopify_product_id": 4578081833063,
                      "shopify_variant_id": 32309455192167,
                      "sku": null,
                      "sku_override": false,
                      "status": "ACTIVE",
                      "updated_at": "2020-07-10T10:39:00",
                      "variant_title": "Squeezed"
                    },
                    {
                      "id": 89560572,
                      "address_id": 48563471,
                      "analytics_data": {
                        "utm_params": []
                      },
                      "cancellation_reason": null,
                      "cancellation_reason_comments": null,
                      "cancelled_at": null,
                      "charge_interval_frequency": "6",
                      "created_at": "2020-07-10T10:39:00",
                      "customer_id": 43845860,
                      "email": "example@email.com",
                      "expire_after_specific_number_of_charges": 4,
                      "has_queued_charges": 1,
                      "max_retries_reached": 0,
                      "next_charge_scheduled_at": "2020-07-13T00:00:00",
                      "order_day_of_month": null,
                      "order_day_of_week": null,
                      "order_interval_frequency": "1",
                      "order_interval_unit": "month",
                      "price": 7,
                      "product_title": "Orange Juice Auto renew",
                      "properties": [],
                      "quantity": 1,
                      "recharge_product_id": 1463299,
                      "shopify_product_id": 4578081833063,
                      "shopify_variant_id": 32309455224935,
                      "sku": null,
                      "sku_override": false,
                      "status": "ACTIVE",
                      "updated_at": "2020-07-10T10:39:00",
                      "variant_title": "Can"
                    },
                    {
                      "address_id": 48563471,
                      "analytics_data": {
                        "utm_params": []
                      },
                      "cancellation_reason": null,
                      "cancellation_reason_comments": null,
                      "cancelled_at": null,
                      "charge_interval_frequency": "4",
                      "created_at": "2020-07-10T10:39:00",
                      "customer_id": 43845860,
                      "email": "example@email.com",
                      "expire_after_specific_number_of_charges": null,
                      "has_queued_charges": 1,
                      "id": 89560574,
                      "max_retries_reached": 0,
                      "next_charge_scheduled_at": "2020-08-01T00:00:00",
                      "order_day_of_month": null,
                      "order_day_of_week": null,
                      "order_interval_frequency": "4",
                      "order_interval_unit": "week",
                      "price": 5,
                      "product_title": "Powder Milk 50.00% Off Auto renew",
                      "properties": [],
                      "quantity": 1,
                      "recharge_product_id": 1422079,
                      "shopify_product_id": 4546063663207,
                      "shopify_variant_id": 32165284479079,
                      "sku": null,
                      "sku_override": false,
                      "status": "ACTIVE",
                      "updated_at": "2020-07-10T10:39:00",
                      "variant_title": "1 / Powder"
                    }
                  ]
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "charge_interval_frequency": {
                    "type": "string",
                    "description": "The number of units, specified in order_interval_unit, between each charge."
                  },
                  "customer_id": {
                    "type": "string",
                    "description": "Unique numeric identifier of the customer."
                  },
                  "expire_after_specific_number_of_charges": {
                    "type": "string",
                    "description": "The number of charges until subscription expires."
                  },
                  "next_charge_scheduled_at": {
                    "type": "string",
                    "description": "This will set the first charge date of a new subscription."
                  },
                  "order_day_of_month": {
                    "type": "string",
                    "description": "This is populated when order_interval_unit has value “month”. Default value is 0."
                  },
                  "order_day_of_week": {
                    "type": "string",
                    "description": "This is populated when order_interval_unit has value “week”."
                  },
                  "order_interval_frequency": {
                    "type": "string",
                    "description": "The number of units, specified in order_interval_unit, between each order."
                  },
                  "order_interval_unit": {
                    "type": "string",
                    "description": "The frequency which a subscription should have the order created with. Valid values are “day”, “week”, and “month”."
                  },
                  "price": {
                    "type": "string",
                    "description": "The price of the product."
                  },
                  "product_title": {
                    "type": "string",
                    "description": "The name of the product."
                  },
                  "properties": {
                    "type": "string",
                    "description": "The list of line item objects."
                  },
                  "quantity": {
                    "type": "string",
                    "description": "The quantity of the product."
                  },
                  "shopify_variant_id": {
                    "type": "string",
                    "description": "Unique numeric identifier of the product variant in Shopify."
                  },
                  "status": {
                    "type": "string",
                    "description": "Default is set to \"ACTIVE\".",
                    "default": "ACTIVE"
                  }
                },
                "required": [
                  "charge_interval_frequency",
                  "next_charge_scheduled_at",
                  "order_interval_unit",
                  "quantity",
                  "shopify_variant_id"
                ]
              },
              "example": {
                "subscriptions": [
                  {
                    "charge_interval_frequency": "30",
                    "next_charge_scheduled_at": "2020-07-16",
                    "order_interval_frequency": "30",
                    "order_interval_unit": "day",
                    "quantity": 2,
                    "shopify_variant_id": 32309455192167
                  },
                  {
                    "charge_interval_frequency": "6",
                    "expire_after_specific_number_of_charges": 4,
                    "next_charge_scheduled_at": "2020-07-13",
                    "order_interval_frequency": "1",
                    "order_interval_unit": "month",
                    "quantity": 1,
                    "shopify_variant_id": 32309455224935
                  },
                  {
                    "charge_interval_frequency": "4",
                    "next_charge_scheduled_at": "2020-08-01",
                    "order_interval_frequency": "4",
                    "order_interval_unit": "week",
                    "quantity": 1,
                    "shopify_variant_id": 32165284479079
                  }
                ]
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_subscriptions"
        ]
      },
      "put": {
        "operationId": "subscriptions_bulk_update",
        "summary": "Bulk update subscriptions",
        "description": "Bulk update existing subscriptions There is a limit of 20 subscriptions per request. Updating parameters like frequency , charge_interval_frequency , order_interval_frequency , and order_interval_unit will affect our algorithm to automatically recalculate the next charge date ( next_charge_scheduled_at ). If you want to change the next charge date ( next_charge_scheduled_at ) we recommend you update these parameters first. When updating the subscription status attribute from CANCELLED to ACTIVE , the following attributes will be set to null : cancelled_at , cancellation_reason , and cancellation_reason_comments . When updating order_interval_unit OR order_interval_frequency OR charge_interval_frequency , all three parameters are required.",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "subscriptions": [
                    {
                      "id": 89560571,
                      "address_id": 48563471,
                      "analytics_data": {
                        "utm_params": []
                      },
                      "cancellation_reason": null,
                      "cancellation_reason_comments": null,
                      "cancelled_at": null,
                      "charge_interval_frequency": "30",
                      "created_at": "2020-07-10T10:39:00",
                      "customer_id": 43845860,
                      "email": "example@email.com",
                      "expire_after_specific_number_of_charges": null,
                      "has_queued_charges": 1,
                      "max_retries_reached": 0,
                      "next_charge_scheduled_at": "2020-07-16T00:00:00",
                      "order_day_of_month": null,
                      "order_day_of_week": null,
                      "order_interval_frequency": "30",
                      "order_interval_unit": "day",
                      "price": 7,
                      "product_title": "Orange Juice Auto renew",
                      "properties": [],
                      "quantity": 2,
                      "recharge_product_id": 1463299,
                      "shopify_product_id": 4578081833063,
                      "shopify_variant_id": 32309455192167,
                      "sku": null,
                      "sku_override": false,
                      "status": "ACTIVE",
                      "updated_at": "2020-07-10T10:39:00",
                      "variant_title": "Squeezed"
                    },
                    {
                      "id": 89560572,
                      "address_id": 48563471,
                      "analytics_data": {
                        "utm_params": []
                      },
                      "cancellation_reason": null,
                      "cancellation_reason_comments": null,
                      "cancelled_at": null,
                      "charge_interval_frequency": "6",
                      "created_at": "2020-07-10T10:39:00",
                      "customer_id": 43845860,
                      "email": "example@email.com",
                      "expire_after_specific_number_of_charges": 4,
                      "has_queued_charges": 1,
                      "max_retries_reached": 0,
                      "next_charge_scheduled_at": "2020-07-13T00:00:00",
                      "order_day_of_month": null,
                      "order_day_of_week": null,
                      "order_interval_frequency": "1",
                      "order_interval_unit": "month",
                      "price": 7,
                      "product_title": "Orange Juice Auto renew",
                      "properties": [],
                      "quantity": 1,
                      "recharge_product_id": 1463299,
                      "shopify_product_id": 4578081833063,
                      "shopify_variant_id": 32309455224935,
                      "sku": null,
                      "sku_override": false,
                      "status": "ACTIVE",
                      "updated_at": "2020-07-10T10:39:00",
                      "variant_title": "Can"
                    },
                    {
                      "address_id": 48563471,
                      "analytics_data": {
                        "utm_params": []
                      },
                      "cancellation_reason": null,
                      "cancellation_reason_comments": null,
                      "cancelled_at": null,
                      "charge_interval_frequency": "4",
                      "created_at": "2020-07-10T10:39:00",
                      "customer_id": 43845860,
                      "email": "example@email.com",
                      "expire_after_specific_number_of_charges": null,
                      "has_queued_charges": 1,
                      "id": 89560574,
                      "max_retries_reached": 0,
                      "next_charge_scheduled_at": "2020-08-01T00:00:00",
                      "order_day_of_month": null,
                      "order_day_of_week": null,
                      "order_interval_frequency": "4",
                      "order_interval_unit": "week",
                      "price": 5,
                      "product_title": "Powder Milk 50.00% Off Auto renew",
                      "properties": [],
                      "quantity": 1,
                      "recharge_product_id": 1422079,
                      "shopify_product_id": 4546063663207,
                      "shopify_variant_id": 32165284479079,
                      "sku": null,
                      "sku_override": false,
                      "status": "ACTIVE",
                      "updated_at": "2020-07-10T10:39:00",
                      "variant_title": "1 / Powder"
                    }
                  ]
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Unique identifier of subscription."
                  },
                  "address_id": {
                    "type": "string",
                    "description": "Can be used to change the address of the subscriptions."
                  },
                  "cancellation_reason": {
                    "type": "string",
                    "description": "Used to provide cancellation reason when cancelling subscriptions."
                  },
                  "cancellation_reason_comments": {
                    "type": "string",
                    "description": "If cancellation_reason is provided, this attribute can be used to provide additional cancellation reason comments. Maximum length is 1024 characters."
                  },
                  "charge_interval_frequency": {
                    "type": "string",
                    "description": "The number of units (specified in order_interval_unit) between each charge. Required when updating order_interval_unit. WARNING: This update will remove skipped and manually changed charges."
                  },
                  "expire_after_specific_number_of_charges": {
                    "type": "string",
                    "description": "The number of charges until the subscription expires."
                  },
                  "force_update": {
                    "type": "boolean",
                    "description": "If set to True , updates will also be applied to CANCELLED subscriptions. If null or False , only ACTIVE subscriptions will be updated."
                  },
                  "next_charge_scheduled_at": {
                    "type": "string",
                    "description": "Can be used to change the date of the next queued charge (must be current or future date)."
                  },
                  "order_day_of_month": {
                    "type": "string",
                    "description": "The day of the month order is created. WARNING: this update will remove skips and manually changed charges."
                  },
                  "order_day_of_week": {
                    "type": "string",
                    "description": "The day of the week order is created. WARNING: this update will remove skips and manually changed charges."
                  },
                  "order_interval_frequency": {
                    "type": "string",
                    "description": "The number of units (specified in order_interval_unit) between each order. Required when updating order_interval_unit. WARNING: This update will remove skipped and manually changed charges."
                  },
                  "order_interval_unit": {
                    "type": "string",
                    "description": "The frequency which a subscription should have the order created with. Valid values are “day”, “week”, and “month”. WARNING: This update will remove skipped and manually changed charges."
                  },
                  "price": {
                    "type": "string",
                    "description": "The price of the item before discounts, taxes, or shipping has been applied."
                  },
                  "product_title": {
                    "type": "string",
                    "description": "The name of the product."
                  },
                  "properties": {
                    "type": "string",
                    "description": "List of properties."
                  },
                  "quantity": {
                    "type": "string",
                    "description": "The number of items in subscription."
                  },
                  "send_email": {
                    "type": "string",
                    "description": "If set to false, subscription cancelled email will not be sent to customer and store owner."
                  },
                  "shopify_variant_id": {
                    "type": "string",
                    "description": "Unique number identifier of the product variant in Shopify."
                  },
                  "sku": {
                    "type": "string",
                    "description": "A unique identifier of the item in the fulfillment."
                  },
                  "sku_override": {
                    "type": "string",
                    "description": "Flag is automatically updated to true when SKU is passed on create or update. When sku_override is true, the sku on the subscription will be used to generate charges and orders. When sku_override is false, Recharge will dynamically fetch the sku from the corresponding shopify variant."
                  },
                  "use_shopify_variant_defaults": {
                    "type": "boolean",
                    "description": "Flag instructing to pull the price , sku , variant_title , and product_title from the provided Shopify variant."
                  },
                  "status": {
                    "type": "string",
                    "description": "Status of the subscription. Can be used to cancel subscriptions when set to CANCELLED or to re-activate subscriptions when set to ACTIVE."
                  },
                  "variant_title": {
                    "type": "string",
                    "description": "The name of the product variant."
                  }
                },
                "required": [
                  "id",
                  "charge_interval_frequency",
                  "next_charge_scheduled_at",
                  "order_interval_unit"
                ]
              },
              "example": {
                "subscriptions": [
                  {
                    "id": 64993717,
                    "price": 23,
                    "quantity": 3
                  },
                  {
                    "id": 64993718,
                    "price": 24,
                    "quantity": 4
                  },
                  {
                    "id": 64993719,
                    "price": 25,
                    "quantity": 5
                  }
                ]
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_subscriptions"
        ]
      },
      "delete": {
        "operationId": "subscriptions_bulk_delete",
        "summary": "Bulk delete subscriptions",
        "description": "Bulk delete subscriptions. There is a limit of 20 subscriptions per request.",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "subscriptions": []
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "description": "Unique identifier of subscription."
                  },
                  "send_email": {
                    "type": "boolean",
                    "description": "When your store setting indicates that cancellation emails should be sent, this value determines if subscription cancellation emails should be sent. If set to 1, cancellation emails will be sent for each of the specified subscriptions. If set to 0, cancellation emails will not be sent for any of the specified subscriptions."
                  }
                },
                "required": [
                  "id"
                ]
              },
              "example": {
                "subscriptions": [
                  {
                    "id": 64993717
                  },
                  {
                    "id": 64993718
                  },
                  {
                    "id": 64993719
                  }
                ],
                "send_email": 0
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_subscriptions"
        ]
      }
    },
    "/webhooks": {
      "post": {
        "operationId": "webhooks_create",
        "summary": "Create a webhook",
        "description": "Create a webhook. Currently, only the API can be used to create a webhook. To register a webhook endpoint for a specific object, you will need to have read permissions for that object on your Recharge API token. For example, if you want to register a webhook for subscription/created, you will need the read_subscriptions permissions. Each API token can register a maximum of 10 webhooks of the same topic.",
        "tags": [
          "Webhook endpoints"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "webhook": {
                    "id": 6,
                    "address": "https://request.in/foo",
                    "topic": "subscription/created",
                    "included_objects": [],
                    "version": "2021-01"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "address": {
                    "type": "integer",
                    "description": "The URI where the webhook should send the POST request when the event occurs."
                  },
                  "included_objects": {
                    "type": "array",
                    "items": {},
                    "description": "List of objects to enrich the webhook payload. cf. extending responses",
                    "enum": [
                      "addresses",
                      "collections",
                      "customer",
                      "metafields"
                    ]
                  },
                  "topic": {
                    "type": "integer",
                    "description": "The event that will trigger the webhook."
                  }
                },
                "required": [
                  "address",
                  "topic"
                ]
              },
              "example": {
                "address": "https://request.in/foo",
                "topic": "subscription/created"
              }
            }
          }
        }
      },
      "get": {
        "operationId": "webhooks_list",
        "summary": "List webhooks",
        "description": "Returns all the webhooks of the given store that are owned by the current requesting client (note that a a private token shows all of the store’s hooks, an integration token only shows that integration’s webhooks).",
        "tags": [
          "Webhook endpoints"
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "webhooks": [
                    {
                      "id": 19451,
                      "address": "https://request.in/foo",
                      "included_objects": [
                        "metafields"
                      ],
                      "topic": "subscription/created",
                      "version": "2021-01"
                    },
                    {
                      "id": 19452,
                      "address": "https://request.in/foo",
                      "included_objects": [],
                      "topic": "subscription/cancelled",
                      "version": "2021-11"
                    },
                    {
                      "id": 19453,
                      "address": "https://request.in/foo",
                      "included_objects": [],
                      "topic": "subscription/updated",
                      "version": "2021-01"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-recharge-scopes": [
          "read_orders"
        ]
      }
    },
    "/webhooks/{id}": {
      "get": {
        "operationId": "webhooks_retrieve",
        "summary": "Retrieve a webhook",
        "description": "Retrieve a webhook using the Recharge webhook id.",
        "tags": [
          "Webhook endpoints"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "webhook": {
                    "id": 6,
                    "address": "https://request.in/foo",
                    "included_objects": [],
                    "topic": "subscription/created",
                    "version": "2021-01"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "webhooks_update",
        "summary": "Update a webhook",
        "description": "Updates Webhook",
        "tags": [
          "Webhook endpoints"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "webhook": {
                    "id": 6,
                    "address": "https://request.in/foo",
                    "topic": "subscription/created",
                    "included_objects": [],
                    "version": "2021-01"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "address": {
                    "type": "string",
                    "description": "The URI where the webhook should send the POST request when the event occurs."
                  },
                  "topic": {
                    "type": "string",
                    "description": "The event that will trigger the webhook."
                  },
                  "included_objects": {
                    "type": "array",
                    "items": {},
                    "description": "List of objects to enrich the webhook payload. cf. extending responses",
                    "enum": [
                      "addresses",
                      "customer",
                      "collections",
                      "metafields"
                    ]
                  }
                }
              },
              "example": {
                "address": "https://request.in/foo"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "webhooks_delete",
        "summary": "Delete a webhook",
        "description": "Delete a Webhook",
        "tags": [
          "Webhook endpoints"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {}
              }
            }
          }
        }
      }
    },
    "/webhooks/{id}/test": {
      "post": {
        "operationId": "webhooks_test",
        "summary": "Test webhooks",
        "description": "In order to test webhook connectivity, you can trigger the dispatch of a test webhook with our webhook test endpoint. Sending a POST request to the webhook endpoint containing a webhook id will dispatch an empty webhook body to the specified webhook’s destination url.",
        "tags": [
          "Webhook endpoints"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {}
              }
            }
          }
        }
      }
    },
    "/async_batches": {
      "post": {
        "operationId": "async_batch_endpoints_create",
        "summary": "Create a batch",
        "description": "In order to create, retrieve, or process batches, the API token requires the write_batches permission. Additional permissions are required, dependent upon the indicated batch_type . For example, for a batch type of discount_create , the API token requires the write_discounts permission. Create a new batch, and indicate the desired outcome of the batch using batch_type . CAUTION - Async batches and their tasks will only be retained in Recharge for one month after batch creation. Available batch types The async_batches API supports many functions, each identified as a batch_type. Typically, the task body for a batch_type will be representative of a single request to our standard endpoints, however, some variations may be present. Related guides: Examples of Async Batches",
        "tags": [
          "Async batch endpoints"
        ],
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "async_batch": {
                    "id": 19,
                    "batch_type": "desired_batch_type",
                    "closed_at": null,
                    "created_at": "2020-06-05T08:52:10",
                    "deleted_at": null,
                    "fail_task_count": 0,
                    "status": "not_started",
                    "submitted_at": null,
                    "success_task_count": 0,
                    "total_task_count": 0,
                    "updated_at": "2020-06-05T08:52:10",
                    "expired_at": "2020-07-15T00:00:00",
                    "version": "2021-01"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "batch_type": {
                    "type": "string",
                    "description": "Desired batch type",
                    "enum": [
                      "address_discount_apply",
                      "address_discount_remove",
                      "change_next_charge_date",
                      "discount_create",
                      "discount_delete",
                      "discount_update",
                      "product_create",
                      "product_update",
                      "product_delete",
                      "onetime_create",
                      "onetime_delete",
                      "bulk_subscriptions_create",
                      "bulk_subscriptions_update",
                      "bulk_subscriptions_delete",
                      "subscription_cancel"
                    ]
                  }
                }
              },
              "example": {
                "batch_type": "desired_batch_type"
              }
            }
          }
        },
        "x-recharge-scopes": [
          "write_batches"
        ]
      },
      "get": {
        "operationId": "async_batch_endpoints_list",
        "summary": "List batches",
        "description": "Returns a list of all your async_batches.",
        "tags": [
          "Async batch endpoints"
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "async_batches": [
                    {
                      "id": 20,
                      "batch_type": "discount_delete",
                      "closed_at": null,
                      "created_at": "2020-06-05T09:21:37",
                      "deleted_at": null,
                      "fail_task_count": 0,
                      "status": "not_started",
                      "submitted_at": null,
                      "success_task_count": 0,
                      "total_task_count": 40,
                      "updated_at": "2020-06-05T09:21:37",
                      "version": "2021-01"
                    },
                    {
                      "id": 19,
                      "batch_type": "discount_create",
                      "closed_at": null,
                      "created_at": "2020-06-05T08:52:11",
                      "deleted_at": null,
                      "fail_task_count": 0,
                      "status": "not_started",
                      "submitted_at": null,
                      "success_task_count": 0,
                      "total_task_count": 0,
                      "updated_at": "2020-06-05T08:52:11",
                      "version": "2021-01"
                    },
                    {
                      "id": 16,
                      "batch_type": "discount_create",
                      "closed_at": "2020-05-29T09:23:07",
                      "created_at": "2020-05-29T09:14:45",
                      "deleted_at": null,
                      "fail_task_count": 0,
                      "status": "completed",
                      "submitted_at": "2020-05-29T09:21:33",
                      "success_task_count": 2000,
                      "total_task_count": 2000,
                      "updated_at": "2020-05-29T09:23:07",
                      "version": "2021-01"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/async_batches/{id}": {
      "get": {
        "operationId": "async_batch_endpoints_retrieve",
        "summary": "Retrieve a batch",
        "description": "Retrieve a batch using the Recharge batch id. A batch can be retrieved during processing to evaluate batch progress. ## HTTP request examples GET /async_batches/<batch_id>",
        "tags": [
          "Async batch endpoints"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "async_batch": {
                    "id": 19,
                    "batch_type": "desired_batch_type",
                    "closed_at": null,
                    "created_at": "2020-06-05T08:52:10",
                    "deleted_at": null,
                    "fail_task_count": 0,
                    "status": "not_started",
                    "submitted_at": null,
                    "success_task_count": 0,
                    "total_task_count": 0,
                    "updated_at": "2020-06-05T08:52:10",
                    "expired_at": "2020-07-15T00:00:00",
                    "version": "2021-01"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/async_batches/{batch_id}/process": {
      "post": {
        "operationId": "async_batch_endpoints_process",
        "summary": "Process a batch",
        "description": "Until a batch is submitted for processing, no tasks are attempted. Once you have ensured the tasks in a batch are ready for processing, you can submit for processing using this endpoint and the associated batch id. Webhooks - Batches process quickly, and may result in Recharge dispatching many webhooks at a high rate. Ensure any systems subscribed to resulting webhooks are capable of handling such load.",
        "tags": [
          "Async batch endpoints"
        ],
        "parameters": [
          {
            "name": "batch_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "async_batch": {
                    "id": 21,
                    "batch_type": "discount_create",
                    "closed_at": null,
                    "created_at": "2020-06-05T10:53:36",
                    "deleted_at": null,
                    "fail_task_count": 0,
                    "status": "processing",
                    "submitted_at": "2020-06-05T10:54:54",
                    "success_task_count": 0,
                    "total_task_count": 10,
                    "updated_at": "2020-06-05T10:54:54"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/async_batches/{batch_id}/tasks": {
      "post": {
        "operationId": "async_batch_tasks_create",
        "summary": "Create a batch task",
        "description": "A batch contains operations of similar type (indicated by batch_type), called tasks. A task is typically representative of a single API request, with a body parameter containing the standard request body for the associated batch_type. A single request to add tasks may contain up to 1,000 tasks, and a batch may contain up to 10,000 tasks. ##HTTP examples POST /async_batches/<batch_id>/tasks",
        "tags": [
          "Async batch tasks"
        ],
        "parameters": [
          {
            "name": "batch_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "count": 10
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "batch_id": {
                    "type": "integer",
                    "description": "Indicates the batch that the task is contained by"
                  },
                  "body": {
                    "type": "object",
                    "description": "This object contains the body of a standard API request. For example, when creating discounts with a discount_create batch, this parameter contains a standard body for POST /discounts"
                  },
                  "completed_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Indicates the date and time a task was completed"
                  },
                  "created_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Indicates the date and time that a task was created and added to the batch"
                  },
                  "deleted_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Indicates the date and time that a task was deleted from the batch"
                  },
                  "id": {
                    "type": "integer",
                    "description": "Unique identifier for the task within a batch"
                  },
                  "queued_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Indicates the date and time a task was queued for processing within batch processing"
                  },
                  "result": {
                    "type": "string",
                    "description": "Contains the individual response body for the task"
                  },
                  "started_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Indicates the date and time a task was processed"
                  },
                  "status": {
                    "type": "string",
                    "description": "Indicates the status of the task within a batch.",
                    "enum": [
                      "pending",
                      "processing",
                      "failed",
                      "success"
                    ]
                  },
                  "updated_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Indicates the date and time a task was most recently updated"
                  }
                }
              },
              "example": {
                "tasks": [
                  {
                    "body": {
                      "code": "indexing",
                      "discount_type": "shipping",
                      "duration": "forever",
                      "status": "enabled",
                      "value": 100
                    }
                  },
                  {
                    "body": {
                      "code": "maroon",
                      "discount_type": "shipping",
                      "duration": "forever",
                      "status": "enabled",
                      "value": 100
                    }
                  },
                  {
                    "body": {
                      "code": "web services",
                      "value": 100,
                      "discount_type": "shipping",
                      "duration": "forever",
                      "status": "enabled"
                    }
                  },
                  {
                    "body": {
                      "code": "PCI",
                      "discount_type": "shipping",
                      "duration": "forever",
                      "status": "enabled",
                      "value": 100
                    }
                  },
                  {
                    "body": {
                      "code": "Cheese",
                      "discount_type": "shipping",
                      "duration": "forever",
                      "status": "enabled",
                      "value": 100
                    }
                  },
                  {
                    "body": {
                      "code": "overriding",
                      "discount_type": "shipping",
                      "duration": "forever",
                      "status": "enabled",
                      "value": 100
                    }
                  },
                  {
                    "body": {
                      "code": "bandwidth-monitored",
                      "value": 100,
                      "discount_type": "shipping",
                      "duration": "forever",
                      "status": "enabled"
                    }
                  },
                  {
                    "body": {
                      "code": "Falkland Islands (Malvinas)",
                      "discount_type": "shipping",
                      "duration": "forever",
                      "status": "enabled",
                      "value": 100
                    }
                  },
                  {
                    "body": {
                      "code": "Computer",
                      "discount_type": "shipping",
                      "duration": "forever",
                      "status": "enabled",
                      "value": 100
                    }
                  },
                  {
                    "body": {
                      "code": "digital",
                      "discount_type": "shipping",
                      "duration": "forever",
                      "status": "enabled",
                      "value": 100
                    }
                  }
                ]
              }
            }
          }
        }
      },
      "get": {
        "operationId": "async_batch_tasks_retrieve",
        "summary": "List batch tasks",
        "description": "Returns a list of all tasks in the indicated batch, using batch id. For batches with many tasks, pagination is supported when listing tasks. Use this function to evaluate the task-level results of a batch during, or after processing. Task results will be contained in the results object of each task.",
        "tags": [
          "Async batch tasks"
        ],
        "parameters": [
          {
            "name": "batch_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "required": false,
            "description": "Filter tasks by id. If passing multiple values, must be comma separated. Non-integer values will result in a 422 error",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "async_batch_tasks": [
                    {
                      "id": 22048,
                      "batch_id": 16,
                      "body": {
                        "code": "19476193",
                        "discount_type": "shipping",
                        "duration": "forever",
                        "status": "enabled",
                        "value": 100
                      },
                      "completed_at": "2020-05-29T09:23:07",
                      "created_at": "2020-05-29T09:19:38",
                      "deleted_at": null,
                      "queued_at": "2020-05-29T09:23:06",
                      "result": {
                        "output": {
                          "discount": {
                            "id": 28288390,
                            "applies_to": null,
                            "applies_to_id": null,
                            "applies_to_product_type": "ALL",
                            "applies_to_resource": null,
                            "channel_settings": {
                              "api": {
                                "can_apply": true
                              },
                              "checkout_page": {
                                "can_apply": true
                              },
                              "customer_portal": {
                                "can_apply": true
                              },
                              "merchant_portal": {
                                "can_apply": true
                              }
                            },
                            "code": "19476193",
                            "created_at": "2020-05-29T09:23:06",
                            "discount_type": "shipping",
                            "duration": "forever",
                            "duration_usage_limit": null,
                            "ends_at": null,
                            "first_time_customer_restriction": null,
                            "once_per_customer": false,
                            "prerequisite_subtotal_min": null,
                            "starts_at": null,
                            "status": "enabled",
                            "times_used": 0,
                            "updated_at": "2020-05-29T09:23:06",
                            "usage_limit": null,
                            "value": 100
                          }
                        },
                        "status_code": 200
                      },
                      "started_at": "2020-05-29T09:23:06",
                      "status": "success",
                      "updated_at": "2020-05-29T09:23:07"
                    },
                    {
                      "id": 22047,
                      "batch_id": 16,
                      "body": {
                        "code": "28831178",
                        "discount_type": "shipping",
                        "duration": "forever",
                        "status": "enabled",
                        "value": 100
                      },
                      "completed_at": "2020-05-29T09:23:07",
                      "created_at": "2020-05-29T09:19:38",
                      "deleted_at": null,
                      "queued_at": "2020-05-29T09:23:06",
                      "result": {
                        "output": {
                          "discount": {
                            "applies_to": null,
                            "applies_to_id": null,
                            "applies_to_product_type": "ALL",
                            "applies_to_resource": null,
                            "channel_settings": {
                              "api": {
                                "can_apply": true
                              },
                              "checkout_page": {
                                "can_apply": true
                              },
                              "customer_portal": {
                                "can_apply": true
                              },
                              "merchant_portal": {
                                "can_apply": true
                              }
                            },
                            "code": "28831178",
                            "created_at": "2020-05-29T09:23:06",
                            "discount_type": "shipping",
                            "duration": "forever",
                            "duration_usage_limit": null,
                            "ends_at": null,
                            "first_time_customer_restriction": null,
                            "id": 28288389,
                            "once_per_customer": false,
                            "prerequisite_subtotal_min": null,
                            "starts_at": null,
                            "status": "enabled",
                            "times_used": 0,
                            "updated_at": "2020-05-29T09:23:06",
                            "usage_limit": null,
                            "value": 100
                          }
                        },
                        "status_code": 200
                      },
                      "started_at": "2020-05-29T09:23:06",
                      "status": "success",
                      "updated_at": "2020-05-29T09:23:07"
                    },
                    {}
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/token_information": {
      "get": {
        "operationId": "token_information_retrieve",
        "summary": "Retrieve token information",
        "description": "Retrieve token details.",
        "tags": [
          "Token information"
        ],
        "responses": {
          "200": {
            "description": "successful response",
            "content": {
              "application/json": {
                "example": {
                  "token_information": {
                    "name": "token name",
                    "client": {
                      "name": "PARTNER",
                      "contact_email": "ed@partner.com"
                    },
                    "contact_email": "jbluhm@example.com",
                    "scopes": [
                      "read_shop",
                      "write_payments"
                    ]
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "apiToken": {
        "type": "apiKey",
        "in": "header",
        "name": "X-Recharge-Access-Token"
      }
    },
    "schemas": {
      "address_object": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier for the Address ."
          },
          "address1": {
            "type": "string",
            "description": "The street associated with the Address ."
          },
          "address2": {
            "type": "string",
            "description": "Any additional information associated with the shipping address."
          },
          "cart_note": {
            "type": "string",
            "description": "The note that that will be passed to the note field of Orders made within the Address ."
          },
          "city": {
            "type": "string",
            "description": "The city associated with the shipping address."
          },
          "company": {
            "type": "string",
            "description": "The company associated with the shipping address."
          },
          "country": {
            "type": "string",
            "description": "The country associated with the shipping address."
          },
          "country_code": {
            "type": "string",
            "description": "The 2-letter country code."
          },
          "customer_id": {
            "type": "integer",
            "description": "Unique numeric identifier for the Customer associated with the Address ."
          },
          "discount_id": {
            "type": "integer",
            "description": "Unique numeric identifier of Discount that is applied on the Address ."
          },
          "first_name": {
            "type": "string",
            "description": "The customer’s first name associated with the address."
          },
          "last_name": {
            "type": "string",
            "description": "The customer’s last name associated with the address."
          },
          "note_attributes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The name for the note_attribute ."
                },
                "value": {
                  "type": "string",
                  "description": "The value for the associated note_attribute ."
                }
              }
            },
            "description": "Extra information that is added to the order."
          },
          "phone": {
            "type": "string",
            "description": "The phone number associated with the address."
          },
          "presentment_currency": {
            "type": "string",
            "description": "Presentment currency is the currency used to display prices to the associated on a storefront and at checkout."
          },
          "province": {
            "type": "string",
            "description": "The state or province associated with the address."
          },
          "shipping_lines_override": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "The code of the associated shipping line."
                },
                "price": {
                  "type": "string",
                  "description": "The price (in store’s currency) of the associated shipping line."
                },
                "title": {
                  "type": "string",
                  "description": "The title of the associated shipping line."
                }
              }
            },
            "description": "Used when shipping rates need to be overridden. If this parameter has value null , rates will be fetched when a related Charge is created or regenerated"
          },
          "zip": {
            "type": "string",
            "description": "The zip or postal code associated with the address."
          },
          "cart_attributes": {
            "type": "array",
            "items": {},
            "description": "Additional information added to an initial order."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the address was created."
          },
          "original_shipping_lines": {
            "description": "Shipping line details."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the Address was last updated."
          }
        }
      },
      "charge_object": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique numeric identifier for the charge."
          },
          "address_id": {
            "type": "integer",
            "description": "The customer shipping address the charge is tied to."
          },
          "analytics_data": {
            "type": "object",
            "properties": {
              "utm_params": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "utm_campaign": {
                      "type": "string",
                      "description": "The utm campaign details."
                    },
                    "utm_content": {
                      "type": "string",
                      "description": "The utm content."
                    },
                    "utm_data_source": {
                      "type": "string",
                      "description": "The source of the campaign parameter."
                    },
                    "utm_source": {
                      "type": "string",
                      "description": "The utm source."
                    },
                    "utm_medium": {
                      "type": "string",
                      "description": "The utm medium."
                    },
                    "utm_term": {
                      "type": "string",
                      "description": "The utm term."
                    },
                    "utm_timestamp": {
                      "type": "string",
                      "description": "The utm timestamp."
                    }
                  }
                },
                "description": "An array containing utm_parameters which are commonly used to store the details of an acquisition campaign."
              }
            },
            "description": "An object containing analytics data associated with the charge."
          },
          "billing_address": {
            "type": "object",
            "properties": {
              "address1": {
                "type": "string",
                "description": "Line one of the billing address."
              },
              "address2": {
                "type": "string",
                "description": "Line two of the billing address."
              },
              "city": {
                "type": "string",
                "description": "The city of the billing address."
              },
              "company": {
                "type": "string",
                "description": "The company name of the billing address."
              },
              "country": {
                "type": "string",
                "description": "The country of the billing address."
              },
              "first_name": {
                "type": "string",
                "description": "The first name of the billing address."
              },
              "last_name": {
                "type": "string",
                "description": "The last name of the billing address."
              },
              "phone": {
                "type": "string",
                "description": "The phone number of the billing address."
              },
              "province": {
                "type": "string",
                "description": "The name of the province or state associated with the billing address."
              },
              "zip": {
                "type": "string",
                "description": "The zip code of the billing address."
              }
            },
            "description": "All the billing information related to the charge."
          },
          "client_details": {
            "type": "object",
            "properties": {
              "browser_ip": {
                "type": "string",
                "description": "The IP address of the buyer as detected in checkout."
              },
              "user_agent": {
                "type": "string",
                "description": "The user agent detected during checkout."
              }
            },
            "description": "Details of the access method used by the purchaser."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "When the Charge was created."
          },
          "customer_hash": {
            "type": "string",
            "description": "The hash of the Customer associated with the charge."
          },
          "customer_id": {
            "type": "string",
            "description": "The id of the Customer associated with the charge."
          },
          "discount_codes": {
            "type": "object",
            "properties": {
              "recharge_discount_id": {
                "type": "integer",
                "description": "The id of a discount associated with this charge."
              },
              "code": {
                "type": "string",
                "description": "The code of the discount applied on this charge."
              },
              "value": {
                "type": "number",
                "description": "The value of the discount applied to the charge."
              },
              "type": {
                "type": "string",
                "description": "The type of the value of the discount applied to the charge (percentage, fixed_amount)."
              }
            },
            "description": "An array of discounts associated with the charge."
          },
          "email": {
            "type": "string",
            "description": "The email address of the customer."
          },
          "first_name": {
            "type": "string",
            "description": "The first name of the customer."
          },
          "has_uncommited_changes": {
            "description": "Specifies whether the charge is scheduled for a regeneration (if the subscription related to the charge was updated in the last 5 seconds using “commit_update”:false)."
          },
          "last_name": {
            "type": "string",
            "description": "The last name of the customer."
          },
          "line_items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "gram": {
                  "type": "integer",
                  "description": "Weight in gram of the item."
                },
                "images": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "description": "The key for an image associated to the product.",
                      "enum": [
                        "large",
                        "medium",
                        "original",
                        "small"
                      ]
                    },
                    "value": {
                      "type": "string",
                      "description": "The value of the property"
                    }
                  },
                  "description": "Weight in gram of the item."
                },
                "original_price": {
                  "type": "string",
                  "description": "The original price of the item without discounts or taxes."
                },
                "price": {
                  "type": "string",
                  "description": "The price of the item."
                },
                "properties": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "description": "The name of the property."
                      },
                      "value": {
                        "type": "string",
                        "description": "The url reference for the image (CDN or other)."
                      }
                    }
                  },
                  "description": "An array of Property object containing customer information for an item."
                },
                "quantity": {
                  "type": "integer",
                  "description": "The number of products that were purchased."
                },
                "shopify_product_id": {
                  "type": "integer",
                  "description": "The unique numeric identifier for the Shopify product in the fulfillment."
                },
                "shopify_variant_id": {
                  "type": "integer",
                  "description": "The id of the Shopify product variant."
                },
                "sku": {
                  "type": "string",
                  "description": "A unique identifier of the item in the fulfillment."
                },
                "title": {
                  "type": "string",
                  "description": "The title of the product."
                },
                "variant_title": {
                  "type": "string",
                  "description": "The title of the product variant."
                },
                "subscription_id": {
                  "type": "integer",
                  "description": "The id of the corresponding Subscription ."
                }
              }
            },
            "description": "A list of line_item objects, each one containing information about an item in the charge. One line_item per subscription."
          },
          "note": {
            "type": "string",
            "description": "Shows the next order in sequence."
          },
          "note_attributes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The name for the note_attribute ."
                },
                "value": {
                  "type": "string",
                  "description": "The value for the associated note_attribute ."
                }
              }
            },
            "description": "note attributes."
          },
          "processor_name": {
            "type": "string",
            "description": "The payment processor used on the charge."
          },
          "processed_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the transaction was processed."
          },
          "scheduled_at": {
            "type": "string",
            "format": "date-time",
            "description": "When the charge processing will next be attempted."
          },
          "shipments_count": {
            "type": "integer",
            "description": "The number of successfully processed child orders on the charge."
          },
          "shipping_address": {
            "type": "object",
            "properties": {
              "address1": {
                "type": "string",
                "description": "Line one of the billing address."
              },
              "address2": {
                "type": "string",
                "description": "Line two of the billing address."
              },
              "city": {
                "type": "string",
                "description": "The city of the billing address."
              },
              "company": {
                "type": "string",
                "description": "The company name of the billing address."
              },
              "country": {
                "type": "string",
                "description": "The country of the billing address."
              },
              "first_name": {
                "type": "string",
                "description": "The first name of the billing address."
              },
              "last_name": {
                "type": "string",
                "description": "The last name of the billing address."
              },
              "phone": {
                "type": "string",
                "description": "The phone number of the billing address."
              },
              "province": {
                "type": "string",
                "description": "The name of the province or state associated with the billing address."
              },
              "zip": {
                "type": "string",
                "description": "The zip code of the billing address."
              }
            },
            "description": "The shipping address of the shipping address."
          },
          "shipping_lines": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "The code associated with the shipping line of the charge."
                },
                "price": {
                  "type": "string",
                  "description": "The price of the shipping line."
                },
                "source": {
                  "type": "string",
                  "description": "The source of the shipping line."
                },
                "title": {
                  "type": "string",
                  "description": "The title of the shipping line."
                },
                "taxable": {
                  "type": "string",
                  "description": "A boolean indicating if the shipping line is taxable."
                }
              }
            },
            "description": "An array of shipping lines associated with the charge."
          },
          "shopify_order_id": {
            "type": "integer",
            "description": "The unique numeric identifier within Shopify for the charge"
          },
          "status": {
            "type": "string",
            "description": "The status of the charge.",
            "enum": [
              "SUCCESS",
              "ERROR",
              "QUEUED",
              "SKIPPED",
              "REFUNDED",
              "PARTIALLY_REFUNDED"
            ]
          },
          "sub_total": {
            "description": "The item price without taxes and discounts. Use subtotal_price instead."
          },
          "subtotal_price": {
            "type": "string",
            "description": "The item price without taxes and shipping."
          },
          "tags": {
            "type": "array",
            "items": {},
            "description": "Array of strings used to distinguish specific charges."
          },
          "tax_lines": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "The code associated with the shipping line of the charge."
                },
                "price": {
                  "type": "string",
                  "description": "The price of the shipping line."
                },
                "source": {
                  "type": "string",
                  "description": "The source of the shipping line."
                },
                "title": {
                  "type": "string",
                  "description": "The title of the shipping line."
                },
                "taxable": {
                  "type": "string",
                  "description": "A boolean indicating if the shipping line is taxable."
                }
              }
            },
            "description": "Array of strings used to distinguish specific charges."
          },
          "total_discounts": {
            "type": "string",
            "description": "The sum of the discounts applied to the Charge ."
          },
          "total_line_items_price": {
            "type": "string",
            "description": "The sum of all the prices of all the items in the charge."
          },
          "total_price": {
            "type": "string",
            "description": "The sum of all the prices of all the items in the charge, taxes and discounts included (must be positive)."
          },
          "total_refunds": {
            "type": "string",
            "description": "The sum of all refunds that were made on specific charge."
          },
          "total_weight": {
            "type": "string",
            "description": "The sum of all refunds that were made on specific charge."
          },
          "transaction_id": {
            "type": "string",
            "description": "The unique alphanumeric identifier of the transaction."
          },
          "type": {
            "type": "string",
            "description": "The type of the charge.",
            "enum": [
              "CHECKOUT",
              "RECURRING"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the Charge was last updated."
          },
          "error": {
            "type": "string",
            "description": "Error reason as sentence text (typically returned direct from the payment processor). e.g. \"Customer needs to update credit card\""
          },
          "error_type": {
            "type": "string",
            "description": "Structured reason why the charge failed such as CUSTOMER_NEEDS_TO_UPDATE_CARD"
          },
          "last_charge_attempt_date": {
            "type": "string",
            "format": "date-time",
            "description": "The date when a charge was last attempted."
          },
          "number_times_tried": {
            "type": "integer",
            "description": "Shows how many times an attempt to charge was placed."
          },
          "retry_date": {
            "type": "string",
            "format": "date",
            "description": "The date when the next attempt will be placed."
          },
          "shopify_variant_id_not_found": {
            "type": "integer",
            "description": "Indicates if Recharge was able to find the shopify_variant_id from the charge."
          }
        }
      },
      "checkout_object": {
        "type": "object",
        "properties": {
          "analytics_data": {
            "type": "object",
            "properties": {
              "utm_params": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "utm_campaign": {
                      "type": "string",
                      "description": "The utm campaign details."
                    },
                    "utm_content": {
                      "type": "string",
                      "description": "The utm content."
                    },
                    "utm_data_source": {
                      "type": "string",
                      "description": "The source of the campaign parameter."
                    },
                    "utm_source": {
                      "type": "string",
                      "description": "The utm source."
                    },
                    "utm_medium": {
                      "type": "string",
                      "description": "The utm medium."
                    },
                    "utm_term": {
                      "type": "string",
                      "description": "The utm term."
                    },
                    "utm_timestamp": {
                      "type": "string",
                      "description": "The utm timestamp."
                    }
                  }
                },
                "description": "An array containing utm_parameters which are commonly used to store the details of an acquisition campaign."
              }
            },
            "description": "Analytics data containing amongst other things the utm_params"
          },
          "applied_discount": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "string",
                "description": "The standardised financial value of the discount."
              },
              "applicable": {
                "type": "boolean",
                "description": "Whether the discount is valid for the checkout."
              },
              "non_applicable_reason": {
                "type": "string",
                "description": "If applicable is false provides more details on the reason for rejection."
              },
              "value": {
                "type": "string",
                "description": "The value of the discount."
              },
              "value_type": {
                "type": "string",
                "description": "The type of discount to be applied.",
                "enum": [
                  "fixed_amount",
                  "percentage"
                ]
              }
            },
            "description": "Details of the discount code applied to the checkout."
          },
          "billing_address": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "description": "Unique numeric identifier for the Address ."
              },
              "address1": {
                "type": "string",
                "description": "The street associated with the Address ."
              },
              "address2": {
                "type": "string",
                "description": "Any additional information associated with the shipping address."
              },
              "cart_note": {
                "type": "string",
                "description": "The note that that will be passed to the note field of Orders made within the Address ."
              },
              "city": {
                "type": "string",
                "description": "The city associated with the shipping address."
              },
              "company": {
                "type": "string",
                "description": "The company associated with the shipping address."
              },
              "country": {
                "type": "string",
                "description": "The country associated with the shipping address."
              },
              "country_code": {
                "type": "string",
                "description": "The 2-letter country code."
              },
              "customer_id": {
                "type": "integer",
                "description": "Unique numeric identifier for the Customer associated with the Address ."
              },
              "discount_id": {
                "type": "integer",
                "description": "Unique numeric identifier of Discount that is applied on the Address ."
              },
              "first_name": {
                "type": "string",
                "description": "The customer’s first name associated with the address."
              },
              "last_name": {
                "type": "string",
                "description": "The customer’s last name associated with the address."
              },
              "note_attributes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The name for the note_attribute ."
                    },
                    "value": {
                      "type": "string",
                      "description": "The value for the associated note_attribute ."
                    }
                  }
                },
                "description": "Extra information that is added to the order."
              },
              "phone": {
                "type": "string",
                "description": "The phone number associated with the address."
              },
              "presentment_currency": {
                "type": "string",
                "description": "Presentment currency is the currency used to display prices to the associated on a storefront and at checkout."
              },
              "province": {
                "type": "string",
                "description": "The state or province associated with the address."
              },
              "shipping_lines_override": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "The code of the associated shipping line."
                    },
                    "price": {
                      "type": "string",
                      "description": "The price (in store’s currency) of the associated shipping line."
                    },
                    "title": {
                      "type": "string",
                      "description": "The title of the associated shipping line."
                    }
                  }
                },
                "description": "Used when shipping rates need to be overridden. If this parameter has value null , rates will be fetched when a related Charge is created or regenerated"
              },
              "zip": {
                "type": "string",
                "description": "The zip or postal code associated with the address."
              },
              "cart_attributes": {
                "type": "array",
                "items": {},
                "description": "Additional information added to an initial order."
              },
              "created_at": {
                "type": "string",
                "format": "date-time",
                "description": "The date and time when the address was created."
              },
              "original_shipping_lines": {
                "description": "Shipping line details."
              },
              "updated_at": {
                "type": "string",
                "format": "date-time",
                "description": "The date and time when the Address was last updated."
              }
            },
            "description": "Billing address for the checkout."
          },
          "buyer_accepts_marketing": {
            "type": "boolean",
            "description": "Serves as the audit trail for a buyer email marketing's communication opt-in"
          },
          "charge_id": {
            "type": "integer",
            "description": "The id associated to the Charge generated as a by-product of a Checkout being processed."
          },
          "completed_at": {
            "description": "The timestamp at which the Checkout was processed."
          },
          "created_at": {
            "description": "The timestamp at which the Checkout was created."
          },
          "currency": {
            "type": "string",
            "description": "The presentment currency of the Checkout ."
          },
          "discount_code": {
            "type": "string",
            "description": "Discount code to be used on the checkout, e.g. “DISCOUNT20”."
          },
          "email": {
            "type": "string",
            "description": "Email address for the customer."
          },
          "external_checkout_id": {
            "type": "string",
            "description": "Field which will hold the value of the corresponding external checkout or cart if the checkout was branched from another platform."
          },
          "external_checkout_source": {
            "type": "string",
            "description": "Source of the creation of the checkout.",
            "enum": [
              "big_commerce",
              "headless",
              "shopify"
            ]
          },
          "external_customer_id": {
            "type": "string",
            "description": "Customer identifier in the source platform issuing the checkout."
          },
          "line_items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "charge_interval_frequency": {
                  "type": "integer",
                  "description": "frequency at which the user will pay for his subscription on the item."
                },
                "cutoff_day_of_month": {
                  "type": "integer",
                  "description": "Day of the month a customer should be charged. Used only if the user is to be charged on a specific day."
                },
                "cutoff_day_of_week": {
                  "type": "integer",
                  "description": "Day of the week a customer should be charged. Used only if the user is to be charged on a specific day."
                },
                "expire_after_specific_number_of_charges": {
                  "type": "integer",
                  "description": "Number of charges to be processed for the resulting subscription until it expires."
                },
                "first_recurring_charge_delay": {
                  "type": "integer",
                  "description": "Add a delay (in days) to the first recurring transaction on the subscription."
                },
                "fulfillment_service": {
                  "type": "string",
                  "description": "Name of fulfillment service."
                },
                "grams": {
                  "type": "integer",
                  "description": "Weight in grams of the item."
                },
                "image": {
                  "type": "string",
                  "description": "Image link of the item which shows on the checkout."
                },
                "line_price": {
                  "type": "string",
                  "description": "The price of the item."
                },
                "order_day_of_month": {
                  "type": "integer",
                  "description": "Specify if the order should be processed on a specific day of the month."
                },
                "order_day_of_week": {
                  "type": "integer",
                  "description": "Specify if the order should be processed on a specific day of the week."
                },
                "order_interval_frequency": {
                  "type": "integer",
                  "description": "Frequency at which the user will receive orders for the subscription."
                },
                "order_interval_unit": {
                  "type": "string",
                  "description": "Unit scale for the frequency of orders and charges.",
                  "enum": [
                    "day",
                    "week",
                    "month"
                  ]
                },
                "original_price": {
                  "type": "string",
                  "description": "Original price of the item."
                },
                "price": {
                  "type": "string",
                  "description": "Price charged for the item at checkout."
                },
                "product_id": {
                  "type": "integer",
                  "description": "Product identifier."
                },
                "product_type": {
                  "type": "string",
                  "description": "Category of the product defined in PIM."
                },
                "properties": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "description": "The name of the property."
                      },
                      "value": {
                        "type": "string",
                        "description": "The url reference for the image (CDN or other)."
                      }
                    }
                  },
                  "description": "An array of Property object containing customer information for an item that has been added to the checkout."
                },
                "quantity": {
                  "type": "integer",
                  "description": "The number of units of the product that is purchased."
                },
                "recurring_price": {
                  "type": "integer",
                  "description": "Recurring price of the subscription."
                },
                "requires_shipping": {
                  "type": "boolean",
                  "description": "Marks if an item needs to be packed and delivered."
                },
                "sku": {
                  "type": "string",
                  "description": "A unique identifier of the item in the fulfillment. Stands for Stock Keeping Unit."
                },
                "tax_code": {
                  "type": "string",
                  "description": "Tax category of the product."
                },
                "taxable": {
                  "type": "boolean",
                  "description": "Whether tax applies to the product."
                },
                "title": {
                  "type": "string",
                  "description": "The title of the product."
                },
                "type": {
                  "type": "string",
                  "description": "The type of the item.",
                  "enum": [
                    "SUBSCRIPTION",
                    "ONETIME"
                  ]
                },
                "variant_id": {
                  "type": "integer",
                  "description": "Id of the product variant."
                },
                "variant_title": {
                  "type": "string",
                  "description": "The title of the product variant."
                },
                "vendor": {
                  "type": "string",
                  "description": "The vendor name."
                }
              }
            },
            "description": "The details of the different items being purchased by the user."
          },
          "note": {
            "type": "string",
            "description": "Note used to store free text notes."
          },
          "note_attributes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The name for the note_attribute ."
                },
                "value": {
                  "type": "string",
                  "description": "The value for the associated note_attribute ."
                }
              }
            },
            "description": "Structured note attributes."
          },
          "payment_processor": {
            "type": "string",
            "description": "Name of the payment processor selected for the checkout."
          },
          "payment_processor_customer_id": {
            "type": "string",
            "description": "Identifier for the customer on the payment processor platform."
          },
          "payment_processor_transaction_id": {
            "type": "string",
            "description": "Identifier for the transaction on the payment processor platform."
          },
          "phone": {
            "type": "string",
            "description": "Customer phone number."
          },
          "requires_shipping": {
            "type": "boolean",
            "description": "Signals if the Order resulting from the processing of the checkout will need to be shipped aka packed and delivered."
          },
          "shipping_address": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "description": "Unique numeric identifier for the Address ."
              },
              "address1": {
                "type": "string",
                "description": "The street associated with the Address ."
              },
              "address2": {
                "type": "string",
                "description": "Any additional information associated with the shipping address."
              },
              "cart_note": {
                "type": "string",
                "description": "The note that that will be passed to the note field of Orders made within the Address ."
              },
              "city": {
                "type": "string",
                "description": "The city associated with the shipping address."
              },
              "company": {
                "type": "string",
                "description": "The company associated with the shipping address."
              },
              "country": {
                "type": "string",
                "description": "The country associated with the shipping address."
              },
              "country_code": {
                "type": "string",
                "description": "The 2-letter country code."
              },
              "customer_id": {
                "type": "integer",
                "description": "Unique numeric identifier for the Customer associated with the Address ."
              },
              "discount_id": {
                "type": "integer",
                "description": "Unique numeric identifier of Discount that is applied on the Address ."
              },
              "first_name": {
                "type": "string",
                "description": "The customer’s first name associated with the address."
              },
              "last_name": {
                "type": "string",
                "description": "The customer’s last name associated with the address."
              },
              "note_attributes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The name for the note_attribute ."
                    },
                    "value": {
                      "type": "string",
                      "description": "The value for the associated note_attribute ."
                    }
                  }
                },
                "description": "Extra information that is added to the order."
              },
              "phone": {
                "type": "string",
                "description": "The phone number associated with the address."
              },
              "presentment_currency": {
                "type": "string",
                "description": "Presentment currency is the currency used to display prices to the associated on a storefront and at checkout."
              },
              "province": {
                "type": "string",
                "description": "The state or province associated with the address."
              },
              "shipping_lines_override": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "The code of the associated shipping line."
                    },
                    "price": {
                      "type": "string",
                      "description": "The price (in store’s currency) of the associated shipping line."
                    },
                    "title": {
                      "type": "string",
                      "description": "The title of the associated shipping line."
                    }
                  }
                },
                "description": "Used when shipping rates need to be overridden. If this parameter has value null , rates will be fetched when a related Charge is created or regenerated"
              },
              "zip": {
                "type": "string",
                "description": "The zip or postal code associated with the address."
              },
              "cart_attributes": {
                "type": "array",
                "items": {},
                "description": "Additional information added to an initial order."
              },
              "created_at": {
                "type": "string",
                "format": "date-time",
                "description": "The date and time when the address was created."
              },
              "original_shipping_lines": {
                "description": "Shipping line details."
              },
              "updated_at": {
                "type": "string",
                "format": "date-time",
                "description": "The date and time when the Address was last updated."
              }
            },
            "description": "Shipping address for the checkout."
          },
          "shipping_address_validations": {
            "type": "object",
            "properties": {
              "country_is_supported": {
                "type": "boolean",
                "description": "checks if country is in the list of shipping countries."
              },
              "ups": {
                "type": "boolean",
                "description": "ups supported."
              }
            },
            "description": "Results of the shipping address validation."
          },
          "shipping_line": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "The code associated with the shipping line of the charge."
                },
                "price": {
                  "type": "string",
                  "description": "The price of the shipping line."
                },
                "source": {
                  "type": "string",
                  "description": "The source of the shipping line."
                },
                "title": {
                  "type": "string",
                  "description": "The title of the shipping line."
                },
                "taxable": {
                  "type": "string",
                  "description": "A boolean indicating if the shipping line is taxable."
                }
              }
            },
            "description": "Shipping lines."
          },
          "shipping_rate": {
            "type": "string",
            "description": "The name of the shipping rate applied."
          },
          "tax_lines": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "price": {
                  "type": "string",
                  "description": "The total tax associated with the listed jurisdiction."
                },
                "rate": {
                  "type": "string",
                  "description": "The tax rate associated with the listed jurisdiction."
                },
                "title": {
                  "type": "string",
                  "description": "The title/name of the taxing jurisdiction."
                },
                "unit_price": {
                  "type": "string",
                  "description": "The tax associated with a single unit attributed to the listed jurisdiction."
                }
              }
            },
            "description": "Tax details."
          },
          "taxes_included": {
            "type": "boolean",
            "description": "Whether taxes are included in the price of the line_items"
          },
          "token": {
            "type": "string",
            "description": "Unique identifier of the checkout. Used by the update and processing and update endpoints."
          },
          "total_price": {
            "type": "string",
            "description": "Total amount for the full checkout transaction"
          },
          "total_tax": {
            "type": "string",
            "description": "Total amount of tax for the full checkout transaction"
          },
          "updated_at": {
            "description": "The timestamp at which the Checkout was last updated."
          }
        }
      },
      "customers_object": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier for the customer."
          },
          "accepts_marketing": {
            "type": "boolean",
            "description": "Indicates whether the Customer gives consent for marketing communications."
          },
          "billing_address1": {
            "type": "string",
            "description": "The customer’s billing address."
          },
          "billing_address2": {
            "type": "string",
            "description": "An additional field for the customer’s billing address."
          },
          "billing_city": {
            "type": "string",
            "description": "The customer’s billing city."
          },
          "billing_company": {
            "type": "string",
            "description": "The customer’s billing company."
          },
          "billing_country": {
            "type": "string",
            "description": "The customer’s billing country."
          },
          "billing_first_name": {
            "type": "string",
            "description": "The customer’s billing first name. Required when creating a customer."
          },
          "billing_last_name": {
            "type": "string",
            "description": "The customer’s billing last name. Required when creating a customer."
          },
          "billing_phone": {
            "type": "string",
            "description": "The customer’s billing phone number."
          },
          "billing_province": {
            "type": "string",
            "description": "The customer’s billing province or state name."
          },
          "billing_zip": {
            "type": "string",
            "description": "The customer’s billing zip or postal code."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the customer was created."
          },
          "email": {
            "type": "string",
            "description": "The email address of the customer."
          },
          "first_charge_processed_at": {
            "type": "string",
            "description": "Date when first charge was processed for the customer."
          },
          "first_name": {
            "type": "string",
            "description": "The customer’s first name."
          },
          "has_card_error_in_dunning": {
            "type": "boolean",
            "description": "Does have a credit card in dunning, can be true and false ."
          },
          "has_valid_payment_method": {
            "type": "boolean",
            "description": "Is the payment method valid or not, can be true and false ."
          },
          "hash": {
            "type": "string",
            "description": "The unique string identifier used in a customers portal link."
          },
          "last_name": {
            "type": "string",
            "description": "The customer’s last name."
          },
          "number_active_subscriptions": {
            "type": "integer",
            "description": "The number of active subscriptions for the customer."
          },
          "number_subscriptions": {
            "type": "integer",
            "description": "The number of subscriptions for the customer."
          },
          "phone": {
            "type": "string",
            "description": "The customer's phone number."
          },
          "processor_type": {
            "type": "string",
            "description": "What the merchant processor customer is stored on."
          },
          "reason_payment_method_not_valid": {
            "type": "string",
            "description": "Why payment method is not valid."
          },
          "shopify_customer_id": {
            "type": "string",
            "description": "Shopify’s unique identifier for the customer."
          },
          "status": {
            "type": "string",
            "description": "Customer’s status, can be ACTIVE and INACTIVE ."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the customer was last updated."
          }
        }
      },
      "discounts_object": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier for the customer."
          },
          "applies_to_id": {
            "type": "integer",
            "description": "Applied to id of the product or collection where the id is the id of the shopify product or the shopify custom collection id."
          },
          "applies_to_product_type": {
            "type": "string",
            "description": "Sets the specific product type the discount applies to.",
            "enum": [
              "ALL",
              "ONETIME",
              "SUBSCRIPTION"
            ]
          },
          "applies_to_resource": {
            "type": "string",
            "description": "Applied to a specific product or collection.",
            "enum": [
              "shopify_product",
              "shopify_collection_id"
            ]
          },
          "channel_settings": {
            "type": "object",
            "description": "A list of channel objects containing information regarding discount behaviors for each. * can_apply: a boolean to indicate if the discount may be applied using the associated channel (defaults to true for all channels). If you're on the SCI Platform, checkout channel will not apply during Shopify checkouts."
          },
          "code": {
            "type": "string",
            "description": "The name of the discount."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the discount was created."
          },
          "discount_type": {
            "type": "string",
            "description": "The type of discount. Either percentage or fixed_amount ."
          },
          "duration": {
            "type": "string",
            "description": "Number of times a discount will be automatically re-applied to a new queued charge after its first usage on a successful charge. Values can be: forever will re-apply unlimited times usage_limit number of times will be set in duration_usage_limit single_use it will not re-apply."
          },
          "duration_usage_limit": {
            "type": "integer",
            "description": "Specific number of times a discount will be automatically re-applied to a new queued charge after its first usage on a successful charge. *Only used, and is required, when “duration” is set to “usage_limit”."
          },
          "ends_at": {
            "type": "string",
            "format": "date-time",
            "description": "The expiration timestamp of the discount. Past this time the Discount can no longer be redeemed. After ends_at the status of the Discount will go from active to disabled ."
          },
          "first_time_customer_restriction": {
            "type": "string",
            "description": "Discount can be used on checkout for customer that still don’t exist in Recharge database. Default value is null."
          },
          "once_per_customer": {
            "type": "boolean",
            "description": "The discount can only be used once for a given customer checkout or manually applied once on the customer portal (irrespective of which address). Once applied, it will continue being re-applied to each new charge on the address, unless the discount_duration attribute specifies otherwise."
          },
          "prerequisite_subtotal_min": {
            "type": "integer",
            "description": "The minimum cart subtotal needed for the discount to be applicable."
          },
          "starts_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date when the discount becomes active."
          },
          "status": {
            "type": "string",
            "description": "The status of the discount. Value can be: * enabled discount is active to be applied * disabled discount can’t be applied on new purchases. Discount will remain on existing charges to which it has already been applied. * fully_disabled discount can no longer be applied. In addition, Discount is removed from every queued charge."
          },
          "times_used": {
            "type": "integer",
            "description": "Number of times a discount was used by customers at checkout."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the discount was last updated."
          },
          "usage_limit": {
            "type": "integer",
            "description": "Sets the limit on the number of times a discount can be used by all customers."
          },
          "value": {
            "type": "string",
            "description": "The discounted value to be applied."
          }
        }
      },
      "metafields_object": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier for the metafield."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the metafield was created."
          },
          "description": {
            "type": "string",
            "description": "Description of the metafield."
          },
          "key": {
            "type": "string",
            "description": "The name of the metafield."
          },
          "namespace": {
            "type": "string",
            "description": "A category or container that differentiates your metadata from other metafields."
          },
          "owner_id": {
            "type": "string",
            "description": "Unique numeric identifier of the owner resource."
          },
          "owner_resource": {
            "type": "string",
            "description": "The owner of the resource can be one of the following values: address , store , customer , subscription , order , charge . There may be more objects added in the future."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the metafield was last updated."
          },
          "value": {
            "type": "string",
            "description": "The content of the metafield."
          },
          "value_type": {
            "type": "string",
            "description": "The type of the value parameter."
          }
        }
      },
      "onetimes_object": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "One Time subscription id."
          },
          "address_id": {
            "type": "integer",
            "description": "Unique numeric identifier for the address the One Time Purchase is associated with (cannot be used with next_charge_scheduled_at )"
          },
          "add_to_next_charge": {
            "type": "boolean",
            "description": "Boolean used to automatically add One Time Purchase to the next scheduled charge associated with the indicated address record."
          },
          "created_at": {
            "type": "string",
            "description": "The time the One Time Product was first created."
          },
          "customer_id": {
            "type": "integer",
            "description": "Unique numeric identifier for the customer the One Time Purchase is tied to."
          },
          "next_charge_scheduled_at": {
            "type": "string",
            "description": "Date of the One Time Purchase execution."
          },
          "price": {
            "type": "integer",
            "description": "The price of the item before discounts, taxes, or shipping have been applied."
          },
          "product_title": {
            "type": "string",
            "description": "The name of the product in a shop’s catalog."
          },
          "properties": {
            "type": "array",
            "items": {},
            "description": "The list of line item objects."
          },
          "quantity": {
            "type": "integer",
            "description": "The number of items on the subscription."
          },
          "recharge_product_id": {
            "type": "integer",
            "description": "Unique number identifier of the product in Recharge."
          },
          "shopify_product_id": {
            "type": "integer",
            "description": "Unique number identifier of the product in Shopify."
          },
          "shopify_variant_id": {
            "type": "integer",
            "description": "Unique number identifier of the product variant in Shopify."
          },
          "sku": {
            "type": "string",
            "description": "A unique identifier of the item in the fulfillment."
          },
          "status": {
            "type": "string",
            "description": "The status of the One Time Purchase."
          },
          "updated_at": {
            "type": "string",
            "description": "The time the One Time Purchase was last updated."
          },
          "variant_title": {
            "type": "string",
            "description": "The name of the variant in a shop’s catalog."
          }
        }
      },
      "orders_object": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique numeric identifier for the order."
          },
          "billing_address": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "description": "Unique numeric identifier for the Address ."
              },
              "address1": {
                "type": "string",
                "description": "The street associated with the Address ."
              },
              "address2": {
                "type": "string",
                "description": "Any additional information associated with the shipping address."
              },
              "cart_note": {
                "type": "string",
                "description": "The note that that will be passed to the note field of Orders made within the Address ."
              },
              "city": {
                "type": "string",
                "description": "The city associated with the shipping address."
              },
              "company": {
                "type": "string",
                "description": "The company associated with the shipping address."
              },
              "country": {
                "type": "string",
                "description": "The country associated with the shipping address."
              },
              "country_code": {
                "type": "string",
                "description": "The 2-letter country code."
              },
              "customer_id": {
                "type": "integer",
                "description": "Unique numeric identifier for the Customer associated with the Address ."
              },
              "discount_id": {
                "type": "integer",
                "description": "Unique numeric identifier of Discount that is applied on the Address ."
              },
              "first_name": {
                "type": "string",
                "description": "The customer’s first name associated with the address."
              },
              "last_name": {
                "type": "string",
                "description": "The customer’s last name associated with the address."
              },
              "note_attributes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The name for the note_attribute ."
                    },
                    "value": {
                      "type": "string",
                      "description": "The value for the associated note_attribute ."
                    }
                  }
                },
                "description": "Extra information that is added to the order."
              },
              "phone": {
                "type": "string",
                "description": "The phone number associated with the address."
              },
              "presentment_currency": {
                "type": "string",
                "description": "Presentment currency is the currency used to display prices to the associated on a storefront and at checkout."
              },
              "province": {
                "type": "string",
                "description": "The state or province associated with the address."
              },
              "shipping_lines_override": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "The code of the associated shipping line."
                    },
                    "price": {
                      "type": "string",
                      "description": "The price (in store’s currency) of the associated shipping line."
                    },
                    "title": {
                      "type": "string",
                      "description": "The title of the associated shipping line."
                    }
                  }
                },
                "description": "Used when shipping rates need to be overridden. If this parameter has value null , rates will be fetched when a related Charge is created or regenerated"
              },
              "zip": {
                "type": "string",
                "description": "The zip or postal code associated with the address."
              },
              "cart_attributes": {
                "type": "array",
                "items": {},
                "description": "Additional information added to an initial order."
              },
              "created_at": {
                "type": "string",
                "format": "date-time",
                "description": "The date and time when the address was created."
              },
              "original_shipping_lines": {
                "description": "Shipping line details."
              },
              "updated_at": {
                "type": "string",
                "format": "date-time",
                "description": "The date and time when the Address was last updated."
              }
            },
            "description": "The billing address at the time the order was created. See addresses for detailed address information."
          },
          "currency": {
            "type": "string",
            "description": "The currency of the payment used to create the order."
          },
          "customer": {
            "type": "object",
            "properties": {
              "accepts_marketing": {
                "type": "boolean",
                "description": "Indicates whether the Customer gives consent for marketing communications."
              },
              "email": {
                "type": "string",
                "description": "The email address of the customer."
              },
              "first_name": {
                "type": "string",
                "description": "The customer’s first name."
              },
              "last_name": {
                "type": "string",
                "description": "The customer’s last name."
              },
              "send_email_welcome": {
                "type": "boolean",
                "description": "Whether the customer should receive a Welcome email notification."
              }
            },
            "description": "Object that contains information about the customer."
          },
          "email": {
            "type": "string",
            "description": "The email address of the customer."
          },
          "error": {
            "type": "string",
            "description": "String describing the reason for the error state."
          },
          "first_name": {
            "type": "string",
            "description": "The first name of the customer."
          },
          "is_prepaid": {
            "type": "boolean",
            "description": "The order that has been paid for a pre-determined number of months. 0=No, 1=Yes."
          },
          "last_name": {
            "type": "string",
            "description": "The last name of the customer."
          },
          "line_items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "external_inventory_policy": {
                  "type": "string",
                  "description": "The inventory behavior policy, according to the store-level setting within Recharge. This parameter is read-only and cannot be changed, other than at the store settings level."
                },
                "gram": {
                  "type": "integer",
                  "description": "Weight in grams of the item."
                },
                "images": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "description": "The key for an image associated to the product.",
                      "enum": [
                        "large",
                        "medium",
                        "original",
                        "small"
                      ]
                    },
                    "value": {
                      "type": "string",
                      "description": "The value of the property"
                    }
                  },
                  "description": "Images of the product."
                },
                "original_price": {
                  "type": "string",
                  "description": "The original price of the item without discounts or taxes."
                },
                "price": {
                  "type": "string",
                  "description": "The price of the item."
                },
                "product_title": {
                  "type": "string",
                  "description": "The title of the product."
                },
                "quantity": {
                  "type": "integer",
                  "description": "The number of products that were purchased."
                },
                "shopify_product_id": {
                  "type": "integer",
                  "description": "The unique numeric identifier for the Shopify product in the fulfillment."
                },
                "shopify_variant_id": {
                  "type": "integer",
                  "description": "The id of the Shopify product variant."
                },
                "tax_lines": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "price": {
                        "type": "string",
                        "description": "The total tax associated with the listed jurisdiction."
                      },
                      "rate": {
                        "type": "string",
                        "description": "The tax rate associated with the listed jurisdiction."
                      },
                      "title": {
                        "type": "string",
                        "description": "The title/name of the taxing jurisdiction."
                      },
                      "unit_price": {
                        "type": "string",
                        "description": "The tax associated with a single unit attributed to the listed jurisdiction."
                      }
                    }
                  },
                  "description": "An array of tax lines that apply to the LineItem ."
                },
                "title": {
                  "type": "string",
                  "description": "The title of the product."
                },
                "variant_title": {
                  "type": "string",
                  "description": "The title of the product variant."
                },
                "sku": {
                  "type": "string",
                  "description": "A unique identifier of the item in the fulfillment."
                },
                "properties": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "description": "The name of the property."
                      },
                      "value": {
                        "type": "string",
                        "description": "The url reference for the image (CDN or other)."
                      }
                    }
                  },
                  "description": "An array of Property objects containing customer information for an item that has been added to the checkout."
                }
              }
            },
            "description": "A list of line item objects, each one containing information about an item in the order."
          },
          "payment_processor": {
            "type": "string",
            "description": "The type of payment the processor has chosen."
          },
          "processed_at": {
            "type": "string",
            "description": "The date when the order was submitted."
          },
          "scheduled_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date when the order will be shipped."
          },
          "shipping_address": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "description": "Unique numeric identifier for the Address ."
              },
              "address1": {
                "type": "string",
                "description": "The street associated with the Address ."
              },
              "address2": {
                "type": "string",
                "description": "Any additional information associated with the shipping address."
              },
              "cart_note": {
                "type": "string",
                "description": "The note that that will be passed to the note field of Orders made within the Address ."
              },
              "city": {
                "type": "string",
                "description": "The city associated with the shipping address."
              },
              "company": {
                "type": "string",
                "description": "The company associated with the shipping address."
              },
              "country": {
                "type": "string",
                "description": "The country associated with the shipping address."
              },
              "country_code": {
                "type": "string",
                "description": "The 2-letter country code."
              },
              "customer_id": {
                "type": "integer",
                "description": "Unique numeric identifier for the Customer associated with the Address ."
              },
              "discount_id": {
                "type": "integer",
                "description": "Unique numeric identifier of Discount that is applied on the Address ."
              },
              "first_name": {
                "type": "string",
                "description": "The customer’s first name associated with the address."
              },
              "last_name": {
                "type": "string",
                "description": "The customer’s last name associated with the address."
              },
              "note_attributes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The name for the note_attribute ."
                    },
                    "value": {
                      "type": "string",
                      "description": "The value for the associated note_attribute ."
                    }
                  }
                },
                "description": "Extra information that is added to the order."
              },
              "phone": {
                "type": "string",
                "description": "The phone number associated with the address."
              },
              "presentment_currency": {
                "type": "string",
                "description": "Presentment currency is the currency used to display prices to the associated on a storefront and at checkout."
              },
              "province": {
                "type": "string",
                "description": "The state or province associated with the address."
              },
              "shipping_lines_override": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "The code of the associated shipping line."
                    },
                    "price": {
                      "type": "string",
                      "description": "The price (in store’s currency) of the associated shipping line."
                    },
                    "title": {
                      "type": "string",
                      "description": "The title of the associated shipping line."
                    }
                  }
                },
                "description": "Used when shipping rates need to be overridden. If this parameter has value null , rates will be fetched when a related Charge is created or regenerated"
              },
              "zip": {
                "type": "string",
                "description": "The zip or postal code associated with the address."
              },
              "cart_attributes": {
                "type": "array",
                "items": {},
                "description": "Additional information added to an initial order."
              },
              "created_at": {
                "type": "string",
                "format": "date-time",
                "description": "The date and time when the address was created."
              },
              "original_shipping_lines": {
                "description": "Shipping line details."
              },
              "updated_at": {
                "type": "string",
                "format": "date-time",
                "description": "The date and time when the Address was last updated."
              }
            },
            "description": "The shipping address where the order will be shipped. See [addresses](/addresses) for detailed address information."
          },
          "shopify_cart_token": {
            "type": "string",
            "description": "Unique cart token generated by Shopify when an item is added to the cart."
          },
          "shopify_customer_id": {
            "type": "integer",
            "description": "Unique numeric identifier within Shopify for the customer."
          },
          "shopify_order_id": {
            "type": "integer",
            "description": "Unique numeric identifier within Shopify for the order."
          },
          "shopify_order_number": {
            "type": "integer",
            "description": "The unique order number within Shopify."
          },
          "status": {
            "type": "string",
            "description": "The status of creating the order within Shopify."
          },
          "transaction_id": {
            "type": "string",
            "description": "The unique alphanumeric identifier of the transaction."
          },
          "total_price": {
            "type": "integer",
            "description": "The sum of all of the prices of the items in the order with taxes and discounts included (must be positive)."
          },
          "total_duties": {
            "type": "string",
            "description": "The total cost of duties for the order."
          },
          "type": {
            "type": "string",
            "description": "Shows if order was made thorough checkout or if it’s a recurring charge. Inputs: “CHECKOUT” or “RECURRING”."
          },
          "address_id": {
            "type": "integer",
            "description": "The id of the customer shipping address that this order is tied to."
          },
          "address_is_active": {
            "type": "boolean",
            "description": "Tells if address is currently active. 0=No, 1=Yes. Deprecated. Not an applicable field."
          },
          "charge_id": {
            "type": "integer",
            "description": "The unique numeric identifier of the charge."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date when the order was created."
          },
          "customer_id": {
            "type": "integer",
            "description": "The unique numeric identifier of the customer."
          },
          "shipping_date": {
            "type": "string",
            "format": "date-time",
            "description": "The date when the order will be processed. Use scheduled_at instead."
          },
          "shopify_id": {
            "type": "string",
            "description": "Unique numeric identifier within Shopify for the order. Deprecated, use shopify_order_id instead."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date when the order was last updated."
          }
        }
      },
      "subscriptions_object": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier for the subscription."
          },
          "address_id": {
            "type": "integer",
            "description": "Unique numeric identifier for the address the subscription is associated with."
          },
          "cancellation_reason": {
            "type": "string",
            "description": "Reason provided for cancellation."
          },
          "cancellation_reason_comment": {
            "type": "string",
            "description": "Additional comment for cancellation."
          },
          "cancelled_at": {
            "type": "string",
            "description": "The time the subscription was cancelled."
          },
          "charge_interval_frequency": {
            "type": "string",
            "description": "The number of units (specified in order_interval_unit) between each charge. For example, order_interval_unit=month and charge_interval_frequency=3, indicate charge every 3 months. Charges must use the same unit types as orders. Max value: 1000"
          },
          "created_at": {
            "type": "string",
            "description": "The time the subscription was created."
          },
          "customer_id": {
            "type": "integer",
            "description": "Unique numeric identifier for the customer the subscription is tied to."
          },
          "email": {
            "type": "string",
            "description": "The email address of the customer."
          },
          "expire_after_specific_number_of_charges": {
            "type": "integer",
            "description": "Set the number of charges until subscription expires."
          },
          "has_queued_charges": {
            "type": "boolean",
            "description": "Retrieves 1 if there is queued charge. Otherwise, retrieves 0."
          },
          "is_prepaid": {
            "type": "boolean",
            "description": "Value is set to True if it is a prepaid item."
          },
          "is_skippable": {
            "type": "boolean",
            "description": "Value is set to True if it is not a prepaid item"
          },
          "is_swappable": {
            "type": "boolean",
            "description": "Value is set to True if it is not a prepaid item and if in Customer portal settings swap is allowed for customers."
          },
          "max_retries_reached": {
            "type": "boolean",
            "description": "Retrieves 1 if charge has an error max retries reached. Otherwise, retrieves 0."
          },
          "next_charge_scheduled_at": {
            "type": "string",
            "description": "Date of the next charge for the subscription."
          },
          "order_day_of_month": {
            "type": "integer",
            "description": "The set day of the month order is created. Default is that there isn’t a strict day of the month when the order is created. This is only applicable to subscriptions with order_interval_unit = “month”."
          },
          "order_day_of_week": {
            "type": "integer",
            "description": "The set day of the week order is created. Default is that there isn’t a strict day of the week order is created. This is only applicable to subscriptions with order_interval_unit = “week”. Value of 0 equals to Monday, 1 to Tuesday etc."
          },
          "order_interval_frequency": {
            "type": "string",
            "description": "The number of units (specified in order_interval_unit) between each order. For example, order_interval_unit=month and order_interval_frequency=3, indicate order every 3 months. Max value: 1000"
          },
          "order_interval_unit": {
            "type": "string",
            "description": "The frequency which a subscription should have the order created with. Valid values are “day”, “week”, and “month”."
          },
          "price": {
            "type": "integer",
            "description": "The price of the item before discounts, taxes, or shipping have been applied."
          },
          "product_title": {
            "type": "string",
            "description": "The name of the product in a shop’s catalog."
          },
          "properties": {
            "type": "string",
            "description": "A list of line item objects, each one containing information about the subscription. Custom key-value pairs can be installed here, they will appear on the connected queued charge and after it is processed on the order itself."
          },
          "quantity": {
            "type": "integer",
            "description": "The number of items in the subscription."
          },
          "recharge_product_id": {
            "type": "integer",
            "description": "Unique number identifier of the product in Recharge."
          },
          "shopify_product_id": {
            "type": "integer",
            "description": "Unique number identifier of the product in Shopify."
          },
          "shopify_variant_id": {
            "type": "integer",
            "description": "Unique number identifier of the product variant in Shopify."
          },
          "sku": {
            "type": "string",
            "description": "A unique identifier of the item in the fulfillment. In cases where SKU is blank, it will be dynamically pulled whenever it is used."
          },
          "sku_override": {
            "type": "boolean",
            "description": "Flag that is automatically updated to true when SKU is passed on create or update. When sku_override is true, the sku on the subscription will be used to generate charges and orders. When sku_override is false, Recharge will dynamically fetch the SKU from the corresponding shopify variant."
          },
          "status": {
            "type": "string",
            "description": "The status of the subscription. Valid values: • ACTIVE - The subscription is active. • CANCELLED - The subscription has been cancelled. • EXPIRED - The subscription has expired. This occurs when the maximum number of charges for a product has been reached."
          },
          "variant_title": {
            "type": "string",
            "description": "The name of the variant in a shop’s catalog."
          }
        }
      },
      "webhooks_object": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier for the webhook."
          },
          "address": {
            "type": "string",
            "description": "The URI where the webhook should send the POST request when the event occurs."
          },
          "included_objects": {
            "type": "array",
            "items": {},
            "description": "List of objects set to enrich the webhook payload. cf. extending responses",
            "enum": [
              "addresses",
              "collections",
              "customer",
              "metafields"
            ]
          },
          "topic": {
            "type": "string",
            "description": "The event that will trigger the webhook."
          }
        }
      },
      "async_batch_endpoints_object": {
        "type": "object",
        "properties": {
          "batch_type": {
            "type": "string",
            "description": "Indicates the object type and operation required for all tasks in a batch",
            "enum": [
              "address_discount_apply",
              "address_discount_remove",
              "discount_create",
              "discount_delete",
              "discount_update",
              "product_create",
              "product_update",
              "product_delete",
              "onetime_create",
              "onetime_delete",
              "bulk_subscriptions_create",
              "bulk_subscriptions_update",
              "bulk_subscriptions_delete",
              "subscription_cancel"
            ]
          },
          "closed_at": {
            "type": "string",
            "description": "Indicates the date and time that processing was completed for a batch"
          },
          "created_at": {
            "type": "string",
            "description": "Indicates the date and time a batch was created"
          },
          "fail_task_count": {
            "type": "string",
            "description": "Indicates the number of failed tasks in a batch, during or after processing"
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the batch, used for adding tasks to a batch and to initiate batch processing"
          },
          "status": {
            "type": "string",
            "description": "Indicates the status of the batch. Available statuses are not_started, processing, completed, failed"
          },
          "submitted_at": {
            "type": "string",
            "description": "Indicates the date and time that a batch was triggered to process"
          },
          "success_task_count": {
            "type": "string",
            "description": "Indicates the number of successful tasks in a batch, during or after processing."
          },
          "total_task_count": {
            "type": "string",
            "description": "Indicates the total number of tasks in a batch"
          },
          "updated_at": {
            "type": "string",
            "description": "Indicates the date and time at which a batch was last updated"
          },
          "version": {
            "type": "string",
            "description": "Indicates the date and time at which a batch was last updated"
          }
        }
      },
      "async_batch_tasks_object": {
        "type": "object",
        "properties": {
          "batch_id": {
            "type": "integer",
            "description": "Indicates the batch that the task is contained by"
          },
          "body": {
            "type": "object",
            "description": "This object contains the body of a standard API request. For example, when creating discounts with a discount_create batch, this parameter contains a standard body for POST /discounts"
          },
          "completed_at": {
            "type": "string",
            "format": "date-time",
            "description": "Indicates the date and time a task was completed"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Indicates the date and time that a task was created and added to the batch"
          },
          "deleted_at": {
            "type": "string",
            "format": "date-time",
            "description": "Indicates the date and time that a task was deleted from the batch"
          },
          "id": {
            "type": "integer",
            "description": "Unique identifier for the task within a batch"
          },
          "queued_at": {
            "type": "string",
            "format": "date-time",
            "description": "Indicates the date and time a task was queued for processing within batch processing"
          },
          "result": {
            "type": "string",
            "description": "Contains the individual response body for the task"
          },
          "started_at": {
            "type": "string",
            "format": "date-time",
            "description": "Indicates the date and time a task was processed"
          },
          "status": {
            "type": "string",
            "description": "Indicates the status of the task within a batch.",
            "enum": [
              "pending",
              "processing",
              "failed",
              "success"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "Indicates the date and time a task was most recently updated"
          }
        }
      },
      "token_information_object": {
        "type": "object",
        "properties": {
          "client": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The client's name."
              },
              "email": {
                "type": "string",
                "description": "The client's email."
              }
            },
            "description": "Details of the client which generated the token."
          },
          "contact_email": {
            "type": "string",
            "description": "The email associated with the API Token record."
          },
          "name": {
            "type": "string",
            "description": "The name of the API Token as created by merchant."
          },
          "scopes": {
            "type": "array",
            "items": {},
            "description": "A list of scopes on the API Token."
          }
        }
      }
    }
  }
}