Skip to content

Stripe API

by stripe.com

API keyHTTPSFinance
Open documentation ↗

Overview

Payment processing, subscriptions, and financial management

Stripe is a finance API from stripe.com. Requests are authenticated with an API key. It is served over HTTPS. Its OpenAPI description documents 446 endpoints.

At a glance

Authentication
API key
HTTPS
Yes
CORS
Unknown
Category
Finance
Base URL
https://api.stripe.com/
Version
2022-11-15
Endpoints
446
Spec updated
2023-03-06

Make a first request

Replace the placeholders; the documentation says exactly where credentials go.

cURL
curl -X GET "https://api.stripe.com/v1/account" \
  -H "Accept: application/json" \
  -H "X-API-Key: YOUR_API_KEY"
JavaScript
const response = await fetch("https://api.stripe.com/v1/account", {
  method: "GET",
  headers: {
    "Accept": "application/json",
    "X-API-Key": "YOUR_API_KEY",
  },
});
const data = await response.json();
console.log(data);
Python
import requests

response = requests.request(
    "GET",
    "https://api.stripe.com/v1/account",
    headers={
    "Accept": "application/json",
    "X-API-Key": "YOUR_API_KEY",
    },
    timeout=30,
)
print(response.json())

Endpoints

MethodPathWhat it does
GET/v1/account<p>Retrieves the details of an account.</p>
POST/v1/account_links<p>Creates an AccountLink object that includes a single-use Stripe URL that the platform can redirect their user to in order to take them through the Connect On
GET/v1/accounts<p>Returns a list of accounts connected to your platform via <a href="/docs/connect">Connect</a>. If you’re not a platform, the list is empty.</p>
POST/v1/accounts<p>With <a href="/docs/connect">Connect</a>, you can create Stripe accounts for your users.
GET/v1/accounts/{account}<p>Retrieves the details of an account.</p>
POST/v1/accounts/{account}<p>Updates a <a href="/docs/connect/accounts">connected account</a> by setting the values of the parameters passed. Any parameters not provided are
DELETE/v1/accounts/{account}<p>With <a href="/docs/connect">Connect</a>, you can delete accounts you manage.</p>
POST/v1/accounts/{account}/bank_accounts<p>Create an external account for a given account.</p>
GET/v1/accounts/{account}/bank_accounts/{id}<p>Retrieve a specified external account for a given account.</p>
POST/v1/accounts/{account}/bank_accounts/{id}<p>Updates the metadata, account holder name, account holder type of a bank account belonging to a <a href="/docs/connect/custom-accounts">Custom account</a>, a
DELETE/v1/accounts/{account}/bank_accounts/{id}<p>Delete a specified external account for a given account.</p>
GET/v1/accounts/{account}/capabilities<p>Returns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing
GET/v1/accounts/{account}/capabilities/{capability}<p>Retrieves information about the specified Account Capability.</p>
POST/v1/accounts/{account}/capabilities/{capability}<p>Updates an existing Account Capability.</p>
GET/v1/accounts/{account}/external_accounts<p>List external accounts for an account.</p>
POST/v1/accounts/{account}/external_accounts<p>Create an external account for a given account.</p>
GET/v1/accounts/{account}/external_accounts/{id}<p>Retrieve a specified external account for a given account.</p>
POST/v1/accounts/{account}/external_accounts/{id}<p>Updates the metadata, account holder name, account holder type of a bank account belonging to a <a href="/docs/connect/custom-accounts">Custom account</a>, a
DELETE/v1/accounts/{account}/external_accounts/{id}<p>Delete a specified external account for a given account.</p>
POST/v1/accounts/{account}/login_links<p>Creates a single-use login link for an Express account to access their Stripe dashboard.</p>
GET/v1/accounts/{account}/people<p>Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing f
POST/v1/accounts/{account}/people<p>Creates a new person.</p>
GET/v1/accounts/{account}/people/{person}<p>Retrieves an existing person.</p>
POST/v1/accounts/{account}/people/{person}<p>Updates an existing person.</p>
DELETE/v1/accounts/{account}/people/{person}<p>Deletes an existing person’s relationship to the account’s legal entity. Any person with a relationship for an account can be deleted through the API, except
GET/v1/accounts/{account}/persons<p>Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing f
POST/v1/accounts/{account}/persons<p>Creates a new person.</p>
GET/v1/accounts/{account}/persons/{person}<p>Retrieves an existing person.</p>
POST/v1/accounts/{account}/persons/{person}<p>Updates an existing person.</p>
DELETE/v1/accounts/{account}/persons/{person}<p>Deletes an existing person’s relationship to the account’s legal entity. Any person with a relationship for an account can be deleted through the API, except
POST/v1/accounts/{account}/reject<p>With <a href="/docs/connect">Connect</a>, you may flag accounts as suspicious.</p>
GET/v1/apple_pay/domains<p>List apple pay domains.</p>
POST/v1/apple_pay/domains<p>Create an apple pay domain.</p>
GET/v1/apple_pay/domains/{domain}<p>Retrieve an apple pay domain.</p>
DELETE/v1/apple_pay/domains/{domain}<p>Delete an apple pay domain.</p>
GET/v1/application_fees<p>Returns a list of application fees you’ve previously collected. The application fees are returned in sorted order, with the most recent fees appearing first.
GET/v1/application_fees/{fee}/refunds/{id}<p>By default, you can see the 10 most recent refunds stored directly on the application fee object, but you can also retrieve details about a specific refund s
POST/v1/application_fees/{fee}/refunds/{id}<p>Updates the specified application fee refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged.</p>
GET/v1/application_fees/{id}<p>Retrieves the details of an application fee that your account has collected. The same information is returned when refunding the application fee.</p>
POST/v1/application_fees/{id}/refundPostApplicationFeesIdRefund
GET/v1/application_fees/{id}/refunds<p>You can see a list of the refunds belonging to a specific application fee. Note that the 10 most recent refunds are always available by default on the applic
POST/v1/application_fees/{id}/refunds<p>Refunds an application fee that has previously been collected but not yet refunded.
GET/v1/apps/secrets<p>List all secrets stored on the given scope.</p>
POST/v1/apps/secrets<p>Create or replace a secret in the secret store.</p>
POST/v1/apps/secrets/delete<p>Deletes a secret from the secret store by name and scope.</p>
GET/v1/apps/secrets/find<p>Finds a secret in the secret store by name and scope.</p>
GET/v1/balance<p>Retrieves the current account balance, based on the authentication that was used to make the request.
GET/v1/balance/history<p>Returns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in
GET/v1/balance/history/{id}<p>Retrieves the balance transaction with the given ID.</p>
GET/v1/balance_transactions<p>Returns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in
GET/v1/balance_transactions/{id}<p>Retrieves the balance transaction with the given ID.</p>
GET/v1/billing_portal/configurations<p>Returns a list of configurations that describe the functionality of the customer portal.</p>
POST/v1/billing_portal/configurations<p>Creates a configuration that describes the functionality and behavior of a PortalSession</p>
GET/v1/billing_portal/configurations/{configuration}<p>Retrieves a configuration that describes the functionality of the customer portal.</p>
POST/v1/billing_portal/configurations/{configuration}<p>Updates a configuration that describes the functionality of the customer portal.</p>
POST/v1/billing_portal/sessions<p>Creates a session of the customer portal.</p>
GET/v1/charges<p>Returns a list of charges you’ve previously created. The charges are returned in sorted order, with the most recent charges appearing first.</p>
POST/v1/charges<p>To charge a credit card or other payment source, you create a <code>Charge</code> object. If your API key is in test mode, the supplied payment source (e.g.,
GET/v1/charges/search<p>Search for charges you’ve previously created using Stripe’s <a href="/docs/search#search-query-language">Search Query Language</a>.
GET/v1/charges/{charge}<p>Retrieves the details of a charge that has previously been created. Supply the unique charge ID that was returned from your previous request, and Stripe will
POST/v1/charges/{charge}<p>Updates the specified charge by setting the values of the parameters passed. Any parameters not provided will be left unchanged.</p>
POST/v1/charges/{charge}/capture<p>Capture the payment of an existing, uncaptured, charge. This is the second half of the two-step payment flow, where first you <a href="#create_charge">create
GET/v1/charges/{charge}/dispute<p>Retrieve a dispute for a specified charge.</p>
POST/v1/charges/{charge}/disputePostChargesChargeDispute
POST/v1/charges/{charge}/dispute/closePostChargesChargeDisputeClose
POST/v1/charges/{charge}/refund<p>When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it.</p>
GET/v1/charges/{charge}/refunds<p>You can see a list of the refunds belonging to a specific charge. Note that the 10 most recent refunds are always available by default on the charge object.
POST/v1/charges/{charge}/refunds<p>Create a refund.</p>
GET/v1/charges/{charge}/refunds/{refund}<p>Retrieves the details of an existing refund.</p>
POST/v1/charges/{charge}/refunds/{refund}<p>Update a specified refund.</p>
GET/v1/checkout/sessions<p>Returns a list of Checkout Sessions.</p>
POST/v1/checkout/sessions<p>Creates a Session object.</p>
GET/v1/checkout/sessions/{session}<p>Retrieves a Session object.</p>
POST/v1/checkout/sessions/{session}/expire<p>A Session can be expired when it is in one of these statuses: <code>open</code> </p>
GET/v1/checkout/sessions/{session}/line_items<p>When retrieving a Checkout Session, there is an includable <strong>line_items</strong> property containing the first handful of those items. There is also a
GET/v1/country_specs<p>Lists all Country Spec objects available in the API.</p>
GET/v1/country_specs/{country}<p>Returns a Country Spec for a given Country code.</p>
GET/v1/coupons<p>Returns a list of your coupons.</p>
POST/v1/coupons<p>You can create coupons easily via the <a href="https://dashboard.stripe.com/coupons">coupon management</a> page of the Stripe dashboard. Coupon creation is a
GET/v1/coupons/{coupon}<p>Retrieves the coupon with the given ID.</p>
POST/v1/coupons/{coupon}<p>Updates the metadata of a coupon. Other coupon details (currency, duration, amount_off) are, by design, not editable.</p>
DELETE/v1/coupons/{coupon}<p>You can delete coupons via the <a href="https://dashboard.stripe.com/coupons">coupon management</a> page of the Stripe dashboard. However, deleting a coupon
GET/v1/credit_notes<p>Returns a list of credit notes.</p>
POST/v1/credit_notes<p>Issue a credit note to adjust the amount of a finalized invoice. For a <code>status=open</code> invoice, a credit note reduces
GET/v1/credit_notes/preview<p>Get a preview of a credit note without creating it.</p>
GET/v1/credit_notes/preview/lines<p>When retrieving a credit note preview, you’ll get a <strong>lines</strong> property containing the first handful of those items. This URL you can retrieve th
GET/v1/credit_notes/{credit_note}/lines<p>When retrieving a credit note, you’ll get a <strong>lines</strong> property containing the the first handful of those items. There is also a URL where you ca
GET/v1/credit_notes/{id}<p>Retrieves the credit note object with the given identifier.</p>
POST/v1/credit_notes/{id}<p>Updates an existing credit note.</p>
POST/v1/credit_notes/{id}/void<p>Marks a credit note as void. Learn more about <a href="/docs/billing/invoices/credit-notes#voiding">voiding credit notes</a>.</p>
GET/v1/customers<p>Returns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first.</p>
POST/v1/customers<p>Creates a new customer object.</p>
GET/v1/customers/search<p>Search for customers you’ve previously created using Stripe’s <a href="/docs/search#search-query-language">Search Query Language</a>.
GET/v1/customers/{customer}<p>Retrieves a Customer object.</p>
POST/v1/customers/{customer}<p>Updates the specified customer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. For example, if you pass t
DELETE/v1/customers/{customer}<p>Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer.</p>
GET/v1/customers/{customer}/balance_transactions<p>Returns a list of transactions that updated the customer’s <a href="/docs/billing/customer/balance">balances</a>.</p>
POST/v1/customers/{customer}/balance_transactions<p>Creates an immutable transaction that updates the customer’s credit <a href="/docs/billing/customer/balance">balance</a>.</p>
GET/v1/customers/{customer}/balance_transactions/{transaction}<p>Retrieves a specific customer balance transaction that updated the customer’s <a href="/docs/billing/customer/balance">balances</a>.</p>
POST/v1/customers/{customer}/balance_transactions/{transaction}<p>Most credit balance transaction fields are immutable, but you may update its <code>description</code> and <code>metadata</code>.</p>

Showing the first 100 of 446 endpoints; the full list is in the documentation.

Questions

Does the Stripe API need an API key?

Yes. The Stripe API uses API key authentication; the documentation explains how to get credentials.

Does the Stripe API support HTTPS?

Yes, the Stripe API is served over HTTPS.

How many endpoints does the Stripe API have?

Its OpenAPI description lists 446 endpoints in version 2022-11-15. The first 100 are shown on this page.

What are alternatives to the Stripe API?

Other Finance APIs include SEC EDGAR Data, Plaid, Fed Treasury, Razorpay IFSC, Klarna.

Compare alternatives →

Listed from public-apis database (MIT), APIs.guru (CC0).