How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Stripe Customers API

This object represents a customer of your business. Use it to create recurring charges and track payments that belong to the same customer.

Stripe Customers API is one of 159 APIs that Stripe publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Customers. The published artifact set on APIs.io includes API documentation, an API reference, and an OpenAPI specification.

This API exposes 47 operations across 25 paths, and defines 73 schemas. It is described by OpenAPI 3.2.0, at version 2023-10-16.

Requests are made against a single base URL, https://api.stripe.com/.

47 operations 25 paths 73 schemas 8 DELETE22 GET17 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
2023-10-16
Server
https://api.stripe.com/
Authentication
HTTP Basic, HTTP Bearer
Terms of Service
Resource Areas
1

Authentication & Security 2

Stripe Customers API declares 2 security schemes for authenticating requests. It accepts HTTP basic authentication (basicAuth). It accepts HTTP bearer tokens (auth-scheme) (bearerAuth). By default, every request must be authenticated.

  • basicAuth — Basic HTTP authentication. Allowed headers-- Authorization: Basic | Authorization: Basic
  • bearerAuth — Bearer HTTP authentication. Allowed headers-- Authorization: Bearer

Paths & Operations 47

Across 25 paths, the API surfaces 47 operations — 8 DELETE, 22 GET, 17 POST. Each is listed below with its method, path, parameters, and response codes.

Customers 47
GET
/v1/customers
Returns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first.
GetCustomers 7 params body → 200default
POST
/v1/customers
Creates a new customer object.
PostCustomers body → 200default
GET
/v1/customers/search
Search for customers you’ve previously created using Stripe’s Search Query Language . Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating conditio…
GetCustomersSearch 4 params body → 200default
DELETE
/v1/customers/{customer}
Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer.
DeleteCustomersCustomer 1 param body → 200default
GET
/v1/customers/{customer}
Retrieves a Customer object.
GetCustomersCustomer 2 params body → 200default
POST
/v1/customers/{customer}
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 the source parameter, that becomes the cust…
PostCustomersCustomer 1 param body → 200default
GET
/v1/customers/{customer}/balance_transactions
Returns a list of transactions that updated the customer’s balances .
GetCustomersCustomerBalanceTransactions 5 params body → 200default
POST
/v1/customers/{customer}/balance_transactions
Creates an immutable transaction that updates the customer’s credit balance .
PostCustomersCustomerBalanceTransactions 1 param body → 200default
GET
/v1/customers/{customer}/balance_transactions/{transaction}
Retrieves a specific customer balance transaction that updated the customer’s balances .
GetCustomersCustomerBalanceTransactionsTransaction 3 params body → 200default
POST
/v1/customers/{customer}/balance_transactions/{transaction}
Most credit balance transaction fields are immutable, but you may update its description and metadata .
PostCustomersCustomerBalanceTransactionsTransaction 2 params body → 200default
GET
/v1/customers/{customer}/bank_accountsdeprecated
You can see a list of the bank accounts belonging to a Customer. Note that the 10 most recent sources are always available by default on the Customer. If you need more than those 10, you can use this…
GetCustomersCustomerBankAccounts 5 params body → 200default
POST
/v1/customers/{customer}/bank_accounts
When you create a new credit card, you must specify a customer or recipient on which to create it. If the card’s owner has no default card, then the new card will become the default. However, if the…
PostCustomersCustomerBankAccounts 1 param body → 200default
DELETE
/v1/customers/{customer}/bank_accounts/{id}
Delete a specified source for a given customer.
DeleteCustomersCustomerBankAccountsId 2 params body → 200default
GET
/v1/customers/{customer}/bank_accounts/{id}deprecated
By default, you can see the 10 most recent sources stored on a Customer directly on the object, but you can also retrieve details about a specific bank account stored on the Stripe account.
GetCustomersCustomerBankAccountsId 3 params body → 200default
POST
/v1/customers/{customer}/bank_accounts/{id}
Update a specified source for a given customer.
PostCustomersCustomerBankAccountsId 2 params body → 200default
POST
/v1/customers/{customer}/bank_accounts/{id}/verify
Verify a specified bank account for a given customer.
PostCustomersCustomerBankAccountsIdVerify 2 params body → 200default
GET
/v1/customers/{customer}/cardsdeprecated
You can see a list of the cards belonging to a customer. Note that the 10 most recent sources are always available on the Customer object. If you need more than those 10, you can use this API method…
GetCustomersCustomerCards 5 params body → 200default
POST
/v1/customers/{customer}/cards
When you create a new credit card, you must specify a customer or recipient on which to create it. If the card’s owner has no default card, then the new card will become the default. However, if the…
PostCustomersCustomerCards 1 param body → 200default
DELETE
/v1/customers/{customer}/cards/{id}
Delete a specified source for a given customer.
DeleteCustomersCustomerCardsId 2 params body → 200default
GET
/v1/customers/{customer}/cards/{id}deprecated
You can always see the 10 most recent cards directly on a customer; this method lets you retrieve details about a specific card stored on the customer.
GetCustomersCustomerCardsId 3 params body → 200default
POST
/v1/customers/{customer}/cards/{id}
Update a specified source for a given customer.
PostCustomersCustomerCardsId 2 params body → 200default
GET
/v1/customers/{customer}/cash_balance
Retrieves a customer’s cash balance.
GetCustomersCustomerCashBalance 2 params body → 200default
POST
/v1/customers/{customer}/cash_balance
Changes the settings on a customer’s cash balance.
PostCustomersCustomerCashBalance 1 param body → 200default
GET
/v1/customers/{customer}/cash_balance_transactions
Returns a list of transactions that modified the customer’s cash balance .
GetCustomersCustomerCashBalanceTransactions 5 params body → 200default
GET
/v1/customers/{customer}/cash_balance_transactions/{transaction}
Retrieves a specific cash balance transaction, which updated the customer’s cash balance .
GetCustomersCustomerCashBalanceTransactionsTransaction 3 params body → 200default
DELETE
/v1/customers/{customer}/discount
Removes the currently applied discount on a customer.
DeleteCustomersCustomerDiscount 1 param body → 200default
GET
/v1/customers/{customer}/discount
GetCustomersCustomerDiscount 2 params body → 200default
POST
/v1/customers/{customer}/funding_instructions
Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new funding instructions will be created. If funding instructions have already be…
PostCustomersCustomerFundingInstructions 1 param body → 200default
GET
/v1/customers/{customer}/payment_methods
Returns a list of PaymentMethods for a given Customer
GetCustomersCustomerPaymentMethods 6 params body → 200default
GET
/v1/customers/{customer}/payment_methods/{payment_method}
Retrieves a PaymentMethod object for a given Customer.
GetCustomersCustomerPaymentMethodsPaymentMethod 3 params body → 200default
GET
/v1/customers/{customer}/sources
List sources for a specified customer.
GetCustomersCustomerSources 6 params body → 200default
POST
/v1/customers/{customer}/sources
When you create a new credit card, you must specify a customer or recipient on which to create it. If the card’s owner has no default card, then the new card will become the default. However, if the…
PostCustomersCustomerSources 1 param body → 200default
DELETE
/v1/customers/{customer}/sources/{id}
Delete a specified source for a given customer.
DeleteCustomersCustomerSourcesId 2 params body → 200default
GET
/v1/customers/{customer}/sources/{id}
Retrieve a specified source for a given customer.
GetCustomersCustomerSourcesId 3 params body → 200default
POST
/v1/customers/{customer}/sources/{id}
Update a specified source for a given customer.
PostCustomersCustomerSourcesId 2 params body → 200default
POST
/v1/customers/{customer}/sources/{id}/verify
Verify a specified bank account for a given customer.
PostCustomersCustomerSourcesIdVerify 2 params body → 200default
GET
/v1/customers/{customer}/subscriptions
You can see a list of the customer’s active subscriptions. Note that the 10 most recent active subscriptions are always available by default on the customer object. If you need more than those 10, yo…
GetCustomersCustomerSubscriptions 5 params body → 200default
POST
/v1/customers/{customer}/subscriptions
Creates a new subscription on an existing customer.
PostCustomersCustomerSubscriptions 1 param body → 200default
DELETE
/v1/customers/{customer}/subscriptions/{subscription_exposed_id}
Cancels a customer’s subscription. If you set the atperiodend parameter to true , the subscription will remain active until the end of the period, at which point it will be canceled and not renewed.…
DeleteCustomersCustomerSubscriptionsSubscriptionExposedId 2 params body → 200default
GET
/v1/customers/{customer}/subscriptions/{subscription_exposed_id}
Retrieves the subscription with the given ID.
GetCustomersCustomerSubscriptionsSubscriptionExposedId 3 params body → 200default
POST
/v1/customers/{customer}/subscriptions/{subscription_exposed_id}
Updates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price…
PostCustomersCustomerSubscriptionsSubscriptionExposedId 2 params body → 200default
DELETE
/v1/customers/{customer}/subscriptions/{subscription_exposed_id}/discount
Removes the currently applied discount on a customer.
DeleteCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount 2 params body → 200default
GET
/v1/customers/{customer}/subscriptions/{subscription_exposed_id}/discount
GetCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount 3 params body → 200default
GET
/v1/customers/{customer}/tax_ids
Returns a list of tax IDs for a customer.
GetCustomersCustomerTaxIds 5 params body → 200default
POST
/v1/customers/{customer}/tax_ids
Creates a new taxid object for a customer.
PostCustomersCustomerTaxIds 1 param body → 200default
DELETE
/v1/customers/{customer}/tax_ids/{id}
Deletes an existing taxid object.
DeleteCustomersCustomerTaxIdsId 2 params body → 200default
GET
/v1/customers/{customer}/tax_ids/{id}
Retrieves the taxid object with the given identifier.
GetCustomersCustomerTaxIdsId 3 params body → 200default

Schemas 73

The contract defines 73 schemas that model the data the API accepts and returns. The most detailed are payment_method (43 properties), subscription (43 properties), PostCustomersCustomerSubscriptionsSubscriptionExposedIdRequest (29 properties), PostCustomersCustomerSubscriptionsRequest (29 properties). Each schema is shown below with its type and property counts.

customer
object
This object represents a customer of your business. Use it to create recurring charges and track payments that belong to the same customer. Related guide: [Sav…
28 properties 4 required
PostCustomersCustomerBankAccountsRequest
object
6 properties
SearchResult
object
6 properties 4 required
GetCustomersCustomerCardsIdRequest
object
GetCustomersCustomerBalanceTransactionsRequest
object
PostCustomersCustomerSourcesIdVerifyRequest
object
2 properties
CustomerCashBalanceTransactionList
object
4 properties 4 required
DeleteCustomersCustomerSourcesIdRequest
object
1 property
payment_method
object
PaymentMethod objects represent your customer's payment instruments. You can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) t…
43 properties 6 required
DeleteCustomersCustomerDiscountRequest
object
GetCustomersCustomerBankAccountsIdRequest
object
BankAccountList
object
4 properties 4 required
GetCustomersRequest
object
subscription
object
Subscriptions allow you to charge a customer on a recurring basis. Related guide: [Creating subscriptions](https://stripe.com/docs/billing/subscriptions/creati…
43 properties 16 required
PostCustomersCustomerBankAccountsIdVerifyRequest
object
2 properties
GetCustomersCustomerDiscountRequest
object
GetCustomersCustomerSubscriptionsRequest
object
PostCustomersCustomerFundingInstructionsRequest
object
4 properties 3 required
GetCustomersCustomerBankAccountsRequest
object
deleted_customer
object
3 properties 3 required
GetCustomersCustomerSourcesIdRequest
object
PostCustomersCustomerCardsRequest
object
6 properties
ApmsSourcesSourceList
object
4 properties 4 required
DeleteCustomersCustomerTaxIdsIdRequest
object
CustomerResourceCustomerList
object
4 properties 4 required
PostCustomersCustomerBalanceTransactionsRequest
object
5 properties 2 required
card
object
You can store multiple cards on a customer in order to charge the customer later. You can also store multiple debit cards on a recipient in order to transfer t…
28 properties 7 required
GetCustomersCustomerBalanceTransactionsTransactionRequest
object
GetCustomersCustomerRequest
object
GetCustomersCustomerCashBalanceTransactionsRequest
object
CardList
object
4 properties 4 required
GetCustomersCustomerSubscriptionsSubscriptionExposedIdRequest
object
tax_id
object
You can add one or multiple tax IDs to a [customer](https://stripe.com/docs/api/customers) or account. Customer and account tax IDs get displayed on related in…
9 properties 6 required
PostCustomersCustomerCashBalanceRequest
object
2 properties
CustomerBalanceTransactionList
object
4 properties 4 required
PostCustomersCustomerSubscriptionsRequest
object
29 properties
CustomerPaymentMethodResourceList
object
4 properties 4 required
DeleteCustomersCustomerRequest
object
GetCustomersCustomerSubscriptionsSubscriptionExposedIdDiscountRequest
object
PostCustomersCustomerCardsIdRequest
object
14 properties
GetCustomersCustomerPaymentMethodsRequest
object
GetCustomersCustomerPaymentMethodsPaymentMethodRequest
object
GetCustomersCustomerCashBalanceTransactionsTransactionRequest
object
GetCustomersCustomerTaxIdsIdRequest
object
DeleteCustomersCustomerSubscriptionsSubscriptionExposedIdRequest
object
3 properties
error
object
An error response from the Stripe API
1 property 1 required
customer_cash_balance_transaction
object
Customers with certain payments enabled have a cash balance, representing funds that were paid by the customer to a merchant, but have not yet been allocated t…
15 properties 9 required
bank_account
object
These bank accounts are payment methods on Customer objects. On the other hand [External Accounts](https://stripe.com/docs/apiexternalaccounts) are transfer de…
19 properties 6 required
funding_instructions
object
Each customer has a [balance](https://stripe.com/docs/api/customers/objectcustomerobject-balance) that is automatically applied to future invoices and payments…
5 properties 5 required
DeleteCustomersCustomerCardsIdRequest
object
1 property
DeleteCustomersCustomerBankAccountsIdRequest
object
1 property
SubscriptionList
object
4 properties 4 required
PostCustomersCustomerSourcesIdRequest
object
14 properties
DeleteCustomersCustomerSubscriptionsSubscriptionExposedIdDiscountRequest
object
GetCustomersSearchRequest
object
PostCustomersCustomerSourcesRequest
object
6 properties
deleted_discount
object
11 properties 5 required
customer_balance_transaction
object
Each customer has a [Balance](https://stripe.com/docs/api/customers/objectcustomerobject-balance) value, which denotes a debit or credit that's automatically a…
13 properties 9 required
TaxIDsList
object
4 properties 4 required
GetCustomersCustomerCashBalanceRequest
object
PostCustomersCustomerTaxIdsRequest
object
3 properties 2 required
PostCustomersRequest
object
22 properties
payment_source
PostCustomersCustomerBankAccountsIdRequest
object
14 properties
GetCustomersCustomerTaxIdsRequest
object
GetCustomersCustomerSourcesRequest
object
PostCustomersCustomerRequest
object
25 properties
PostCustomersCustomerBalanceTransactionsTransactionRequest
object
3 properties
deleted_tax_id
object
3 properties 3 required
discount
object
A discount represents the actual application of a [coupon](https://stripe.com/docs/apicoupons) or [promotion code](https://stripe.com/docs/apipromotioncodes).…
11 properties 4 required
cash_balance
object
A customer's Cash balance represents real funds. Customers can add funds to their cash balance by sending a bank transfer. These funds can be used for payment…
5 properties 4 required
GetCustomersCustomerCardsRequest
object
PostCustomersCustomerSubscriptionsSubscriptionExposedIdRequest
object
29 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

stripe-customers-api-openapi.yml Raw ↑

Other APIs Stripe publishes across the network.

Stripe Accounts API
Stripe Balance API
Stripe Billing API
Stripe Charges API
Stripe Checkout API
Stripe Climate API
Stripe Country API
Stripe Coupons API
Stripe Credit Notes API
Stripe Disputes API
Stripe Ephemeral Keys API
Stripe Events API
Where this information came from

This is an independent, third-party profile of Stripe Customers API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.