{
  "opencollection": "1.0.0",
  "info": {
    "name": "Stripe Subscription API",
    "version": "2023-10-16"
  },
  "request": {
    "auth": {
      "type": "basic",
      "username": "{{username}}",
      "password": "{{password}}"
    }
  },
  "items": [
    {
      "info": {
        "name": "Subscription Items",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "GetSubscriptionItems",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.stripe.com/v1/subscription_items",
            "params": [
              {
                "name": "ending_before",
                "value": "",
                "type": "query",
                "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list."
              },
              {
                "name": "expand",
                "value": "",
                "type": "query",
                "description": "Specifies which fields in the response should be expanded."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10."
              },
              {
                "name": "starting_after",
                "value": "",
                "type": "query",
                "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list."
              },
              {
                "name": "subscription",
                "value": "",
                "type": "query",
                "description": "The ID of the subscription whose items will be retrieved."
              }
            ],
            "body": {
              "type": "form-urlencoded",
              "data": []
            }
          },
          "docs": "<p>Returns a list of your subscription items for a given subscription.</p>"
        },
        {
          "info": {
            "name": "PostSubscriptionItems",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.stripe.com/v1/subscription_items",
            "body": {
              "type": "form-urlencoded",
              "data": []
            }
          },
          "docs": "<p>Adds a new item to an existing subscription. No existing items will be changed or replaced.</p>"
        },
        {
          "info": {
            "name": "GetSubscriptionItemsItem",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.stripe.com/v1/subscription_items/:item",
            "params": [
              {
                "name": "expand",
                "value": "",
                "type": "query",
                "description": "Specifies which fields in the response should be expanded."
              },
              {
                "name": "item",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "form-urlencoded",
              "data": []
            }
          },
          "docs": "<p>Retrieves the subscription item with the given ID.</p>"
        },
        {
          "info": {
            "name": "PostSubscriptionItemsItem",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.stripe.com/v1/subscription_items/:item",
            "params": [
              {
                "name": "item",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "form-urlencoded",
              "data": []
            }
          },
          "docs": "<p>Updates the plan or quantity of an item on a current subscription.</p>"
        },
        {
          "info": {
            "name": "DeleteSubscriptionItemsItem",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.stripe.com/v1/subscription_items/:item",
            "params": [
              {
                "name": "item",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "form-urlencoded",
              "data": []
            }
          },
          "docs": "<p>Deletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription.</p>"
        },
        {
          "info": {
            "name": "GetSubscriptionItemsSubscriptionItemUsageRecordSummaries",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.stripe.com/v1/subscription_items/:subscription_item/usage_record_summaries",
            "params": [
              {
                "name": "ending_before",
                "value": "",
                "type": "query",
                "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list."
              },
              {
                "name": "expand",
                "value": "",
                "type": "query",
                "description": "Specifies which fields in the response should be expanded."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10."
              },
              {
                "name": "starting_after",
                "value": "",
                "type": "query",
                "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list."
              },
              {
                "name": "subscription_item",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "form-urlencoded",
              "data": []
            }
          },
          "docs": "<p>For the specified subscription item, returns a list of summary objects. Each object in the list provides usage information that’s been summarized from multiple usage records and over a subscription billing period (e.g., 15 usage records in the month of September).</p>\n\n<p>The list is sorted in reverse-chronological order (newest first). The first list item represents the most current usage period that hasn’t ended yet. Since new usage records can still be added, the returned summary informati"
        },
        {
          "info": {
            "name": "PostSubscriptionItemsSubscriptionItemUsageRecords",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.stripe.com/v1/subscription_items/:subscription_item/usage_records",
            "params": [
              {
                "name": "subscription_item",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "form-urlencoded",
              "data": []
            }
          },
          "docs": "<p>Creates a usage record for a specified subscription item and date, and fills it with a quantity.</p>\n\n<p>Usage records provide <code>quantity</code> information that Stripe uses to track how much a customer is using your service. With usage information and the pricing model set up by the <a href=\"https://stripe.com/docs/billing/subscriptions/metered-billing\">metered billing</a> plan, Stripe helps you send accurate invoices to your customers.</p>\n\n<p>The default calculation for usage is to add"
        }
      ]
    },
    {
      "info": {
        "name": "Subscription Schedules",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "GetSubscriptionSchedules",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.stripe.com/v1/subscription_schedules",
            "params": [
              {
                "name": "canceled_at",
                "value": "",
                "type": "query",
                "description": "Only return subscription schedules that were created canceled the given date interval."
              },
              {
                "name": "completed_at",
                "value": "",
                "type": "query",
                "description": "Only return subscription schedules that completed during the given date interval."
              },
              {
                "name": "created",
                "value": "",
                "type": "query",
                "description": "Only return subscription schedules that were created during the given date interval."
              },
              {
                "name": "customer",
                "value": "",
                "type": "query",
                "description": "Only return subscription schedules for the given customer."
              },
              {
                "name": "ending_before",
                "value": "",
                "type": "query",
                "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list."
              },
              {
                "name": "expand",
                "value": "",
                "type": "query",
                "description": "Specifies which fields in the response should be expanded."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10."
              },
              {
                "name": "released_at",
                "value": "",
                "type": "query",
                "description": "Only return subscription schedules that were released during the given date interval."
              },
              {
                "name": "scheduled",
                "value": "",
                "type": "query",
                "description": "Only return subscription schedules that have not started yet."
              },
              {
                "name": "starting_after",
                "value": "",
                "type": "query",
                "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list."
              }
            ],
            "body": {
              "type": "form-urlencoded",
              "data": []
            }
          },
          "docs": "<p>Retrieves the list of your subscription schedules.</p>"
        },
        {
          "info": {
            "name": "PostSubscriptionSchedules",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.stripe.com/v1/subscription_schedules",
            "body": {
              "type": "form-urlencoded",
              "data": []
            }
          },
          "docs": "<p>Creates a new subscription schedule object. Each customer can have up to 500 active or scheduled subscriptions.</p>"
        },
        {
          "info": {
            "name": "GetSubscriptionSchedulesSchedule",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.stripe.com/v1/subscription_schedules/:schedule",
            "params": [
              {
                "name": "expand",
                "value": "",
                "type": "query",
                "description": "Specifies which fields in the response should be expanded."
              },
              {
                "name": "schedule",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "form-urlencoded",
              "data": []
            }
          },
          "docs": "<p>Retrieves the details of an existing subscription schedule. You only need to supply the unique subscription schedule identifier that was returned upon subscription schedule creation.</p>"
        },
        {
          "info": {
            "name": "PostSubscriptionSchedulesSchedule",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.stripe.com/v1/subscription_schedules/:schedule",
            "params": [
              {
                "name": "schedule",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "form-urlencoded",
              "data": []
            }
          },
          "docs": "<p>Updates an existing subscription schedule.</p>"
        },
        {
          "info": {
            "name": "PostSubscriptionSchedulesScheduleCancel",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.stripe.com/v1/subscription_schedules/:schedule/cancel",
            "params": [
              {
                "name": "schedule",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "form-urlencoded",
              "data": []
            }
          },
          "docs": "<p>Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is <code>not_started</code> or <code>active</code>.</p>"
        },
        {
          "info": {
            "name": "PostSubscriptionSchedulesScheduleRelease",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.stripe.com/v1/subscription_schedules/:schedule/release",
            "params": [
              {
                "name": "schedule",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "form-urlencoded",
              "data": []
            }
          },
          "docs": "<p>Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is <code>not_started</code> or <code>active</code>. If the subscription schedule is currently associated with a subscription, releasing it will remove its <code>subscription</code> property and set the subscription’s ID to the <code>released_subscription</code> property.</p>"
        }
      ]
    },
    {
      "info": {
        "name": "Subscriptions",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "GetSubscriptions",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.stripe.com/v1/subscriptions",
            "params": [
              {
                "name": "automatic_tax",
                "value": "",
                "type": "query",
                "description": "Filter subscriptions by their automatic tax settings."
              },
              {
                "name": "collection_method",
                "value": "",
                "type": "query",
                "description": "The collection method of the subscriptions to retrieve. Either `charge_automatically` or `send_invoice`."
              },
              {
                "name": "created",
                "value": "",
                "type": "query"
              },
              {
                "name": "current_period_end",
                "value": "",
                "type": "query"
              },
              {
                "name": "current_period_start",
                "value": "",
                "type": "query"
              },
              {
                "name": "customer",
                "value": "",
                "type": "query",
                "description": "The ID of the customer whose subscriptions will be retrieved."
              },
              {
                "name": "ending_before",
                "value": "",
                "type": "query",
                "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list."
              },
              {
                "name": "expand",
                "value": "",
                "type": "query",
                "description": "Specifies which fields in the response should be expanded."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10."
              },
              {
                "name": "price",
                "value": "",
                "type": "query",
                "description": "Filter for subscriptions that contain this recurring price ID."
              },
              {
                "name": "starting_after",
                "value": "",
                "type": "query",
                "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list."
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "The status of the subscriptions to retrieve. Passing in a value of `canceled` will return all canceled subscriptions, including those belonging to deleted customers. Pass `ended` to find subscriptions that are canceled and subscriptions that are expired due to [incomplete payment](https://stripe.com/docs/billing/subscriptions/overview#subscription-statuses). Passing in a value of `all` will return subscriptions of all statuses. If no value is supplied, all subscriptions that have not been canceled are returned."
              },
              {
                "name": "test_clock",
                "value": "",
                "type": "query",
                "description": "Filter for subscriptions that are associated with the specified test clock. The response will not include subscriptions with test clocks if this and the customer parameter is not set."
              }
            ],
            "body": {
              "type": "form-urlencoded",
              "data": []
            }
          },
          "docs": "<p>By default, returns a list of subscriptions that have not been canceled. In order to list canceled subscriptions, specify <code>status=canceled</code>.</p>"
        },
        {
          "info": {
            "name": "PostSubscriptions",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.stripe.com/v1/subscriptions",
            "body": {
              "type": "form-urlencoded",
              "data": []
            }
          },
          "docs": "<p>Creates a new subscription on an existing customer. Each customer can have up to 500 active or scheduled subscriptions.</p>\n\n<p>When you create a subscription with <code>collection_method=charge_automatically</code>, the first invoice is finalized as part of the request.\nThe <code>payment_behavior</code> parameter determines the exact behavior of the initial payment.</p>\n\n<p>To start subscriptions where the first invoice always begins in a <code>draft</code> status, use <a href=\"/docs/billing"
        },
        {
          "info": {
            "name": "GetSubscriptionsSearch",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.stripe.com/v1/subscriptions/search",
            "params": [
              {
                "name": "expand",
                "value": "",
                "type": "query",
                "description": "Specifies which fields in the response should be expanded."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10."
              },
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results."
              },
              {
                "name": "query",
                "value": "",
                "type": "query",
                "description": "The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for subscriptions](https://stripe.com/docs/search#query-fields-for-subscriptions)."
              }
            ],
            "body": {
              "type": "form-urlencoded",
              "data": []
            }
          },
          "docs": "<p>Search for subscriptions you’ve previously created using Stripe’s <a href=\"/docs/search#search-query-language\">Search Query Language</a>.\nDon’t use search in read-after-write flows where strict consistency is necessary. Under normal operating\nconditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up\nto an hour behind during outages. Search functionality is not available to merchants in India.</p>"
        },
        {
          "info": {
            "name": "GetSubscriptionsSubscriptionExposedId",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.stripe.com/v1/subscriptions/:subscription_exposed_id",
            "params": [
              {
                "name": "expand",
                "value": "",
                "type": "query",
                "description": "Specifies which fields in the response should be expanded."
              },
              {
                "name": "subscription_exposed_id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "form-urlencoded",
              "data": []
            }
          },
          "docs": "<p>Retrieves the subscription with the given ID.</p>"
        },
        {
          "info": {
            "name": "PostSubscriptionsSubscriptionExposedId",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.stripe.com/v1/subscriptions/:subscription_exposed_id",
            "params": [
              {
                "name": "subscription_exposed_id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "form-urlencoded",
              "data": []
            }
          },
          "docs": "<p>Updates an existing subscription to match the specified parameters.\nWhen changing prices or quantities, we optionally prorate the price we charge next month to make up for any price changes.\nTo preview how the proration is calculated, use the <a href=\"/docs/api/invoices/upcoming\">upcoming invoice</a> endpoint.</p>\n\n<p>By default, we prorate subscription changes. For example, if a customer signs up on May 1 for a <currency>100</currency> price, they’ll be billed <currency>100</currency> immedi"
        },
        {
          "info": {
            "name": "DeleteSubscriptionsSubscriptionExposedId",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.stripe.com/v1/subscriptions/:subscription_exposed_id",
            "params": [
              {
                "name": "subscription_exposed_id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "form-urlencoded",
              "data": []
            }
          },
          "docs": "<p>Cancels a customer’s subscription immediately. The customer will not be charged again for the subscription.</p>\n\n<p>Note, however, that any pending invoice items that you’ve created will still be charged for at the end of the period, unless manually <a href=\"#delete_invoiceitem\">deleted</a>. If you’ve set the subscription to cancel at the end of the period, any pending prorations will also be left in place and collected at the end of the period. But if the subscription is set to cancel immedi"
        },
        {
          "info": {
            "name": "DeleteSubscriptionsSubscriptionExposedIdDiscount",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.stripe.com/v1/subscriptions/:subscription_exposed_id/discount",
            "params": [
              {
                "name": "subscription_exposed_id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "form-urlencoded",
              "data": []
            }
          },
          "docs": "<p>Removes the currently applied discount on a subscription.</p>"
        },
        {
          "info": {
            "name": "PostSubscriptionsSubscriptionResume",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.stripe.com/v1/subscriptions/:subscription/resume",
            "params": [
              {
                "name": "subscription",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "form-urlencoded",
              "data": []
            }
          },
          "docs": "<p>Initiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. If a resumption invoice is generated, it must be paid or marked uncollectible before the subscription will be unpaused. If payment succeeds the subscription will become <code>active</code>, and if payment fails the subscription will be <code>past_due</code>. The resumption invoice will void automatically if not paid by the expiration date.</p>"
        }
      ]
    }
  ],
  "bundled": true
}