Stripe · Capability

Stripe Customers API — Customers

Stripe Customers API — Customers. 47 operations. Lead operation: Customers. Self-contained Naftiko capability covering one Stripe business surface.

Run with Naftiko StripeCustomers

What You Can Do

GET
Getcustomers

Returns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first.

/v1/v1/customers
POST
Postcustomers

Creates a new customer object.

/v1/v1/customers
GET
Getcustomerssearch

Search for customers you’ve previously created using Stripe’s Search Query Language.

/v1/v1/customers/search
DELETE
Deletecustomerscustomer

Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer.

/v1/v1/customers/{customer}
GET
Getcustomerscustomer

Retrieves a Customer object.

/v1/v1/customers/{customer}
POST
Postcustomerscustomer

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 customer’s active source

/v1/v1/customers/{customer}
GET
Getcustomerscustomerbalancetransactions

Returns a list of transactions that updated the customer’s balances.

/v1/v1/customers/{customer}/balance-transactions
POST
Postcustomerscustomerbalancetransactions

Creates an immutable transaction that updates the customer’s credit balance.

/v1/v1/customers/{customer}/balance-transactions
GET
Getcustomerscustomerbalancetransactionstransaction

Retrieves a specific customer balance transaction that updated the customer’s balances.

/v1/v1/customers/{customer}/balance-transactions/{transaction}
POST
Postcustomerscustomerbalancetransactionstransaction

Most credit balance transaction fields are immutable, but you may update its description and metadata.

/v1/v1/customers/{customer}/balance-transactions/{transaction}
GET
Getcustomerscustomerbankaccounts

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 API method and the limit

/v1/v1/customers/{customer}/bank-accounts
POST
Postcustomerscustomerbankaccounts

When you create a new credit card, you must specify a customer or recipient on which to create it.

/v1/v1/customers/{customer}/bank-accounts
DELETE
Deletecustomerscustomerbankaccountsid

Delete a specified source for a given customer.

/v1/v1/customers/{customer}/bank-accounts/{id}
GET
Getcustomerscustomerbankaccountsid

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.

/v1/v1/customers/{customer}/bank-accounts/{id}
POST
Postcustomerscustomerbankaccountsid

Update a specified source for a given customer.

/v1/v1/customers/{customer}/bank-accounts/{id}
POST
Postcustomerscustomerbankaccountsidverify

Verify a specified bank account for a given customer.

/v1/v1/customers/{customer}/bank-accounts/{id}/verify
GET
Getcustomerscustomercards

You can see a list of the cards belonging to a customer.

/v1/v1/customers/{customer}/cards
POST
Postcustomerscustomercards

When you create a new credit card, you must specify a customer or recipient on which to create it.

/v1/v1/customers/{customer}/cards
DELETE
Deletecustomerscustomercardsid

Delete a specified source for a given customer.

/v1/v1/customers/{customer}/cards/{id}
GET
Getcustomerscustomercardsid

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.

/v1/v1/customers/{customer}/cards/{id}
POST
Postcustomerscustomercardsid

Update a specified source for a given customer.

/v1/v1/customers/{customer}/cards/{id}
GET
Getcustomerscustomercashbalance

Retrieves a customer’s cash balance.

/v1/v1/customers/{customer}/cash-balance
POST
Postcustomerscustomercashbalance

Changes the settings on a customer’s cash balance.

/v1/v1/customers/{customer}/cash-balance
GET
Getcustomerscustomercashbalancetransactions

Returns a list of transactions that modified the customer’s cash balance.

/v1/v1/customers/{customer}/cash-balance-transactions
GET
Getcustomerscustomercashbalancetransactionstransaction

Retrieves a specific cash balance transaction, which updated the customer’s cash balance.

/v1/v1/customers/{customer}/cash-balance-transactions/{transaction}
DELETE
Deletecustomerscustomerdiscount

Removes the currently applied discount on a customer.

/v1/v1/customers/{customer}/discount
GET
Getcustomerscustomerdiscount — getcustomerscustomerdiscount
/v1/v1/customers/{customer}/discount
POST
Postcustomerscustomerfundinginstructions

Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new

/v1/v1/customers/{customer}/funding-instructions
GET
Getcustomerscustomerpaymentmethods

Returns a list of PaymentMethods for a given Customer

/v1/v1/customers/{customer}/payment-methods
GET
Getcustomerscustomerpaymentmethodspaymentmethod

Retrieves a PaymentMethod object for a given Customer.

/v1/v1/customers/{customer}/payment-methods/{payment-method}
GET
Getcustomerscustomersources

List sources for a specified customer.

/v1/v1/customers/{customer}/sources
POST
Postcustomerscustomersources

When you create a new credit card, you must specify a customer or recipient on which to create it.

/v1/v1/customers/{customer}/sources
DELETE
Deletecustomerscustomersourcesid

Delete a specified source for a given customer.

/v1/v1/customers/{customer}/sources/{id}
GET
Getcustomerscustomersourcesid

Retrieve a specified source for a given customer.

/v1/v1/customers/{customer}/sources/{id}
POST
Postcustomerscustomersourcesid

Update a specified source for a given customer.

/v1/v1/customers/{customer}/sources/{id}
POST
Postcustomerscustomersourcesidverify

Verify a specified bank account for a given customer.

/v1/v1/customers/{customer}/sources/{id}/verify
GET
Getcustomerscustomersubscriptions

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, you can use the limit and starting_after

/v1/v1/customers/{customer}/subscriptions
POST
Postcustomerscustomersubscriptions

Creates a new subscription on an existing customer.

/v1/v1/customers/{customer}/subscriptions
DELETE
Deletecustomerscustomersubscriptionssubscriptionexposedid

Cancels a customer’s subscription. If you set the at_period_end parameter to true, the subscription will remain active until the end of the period, at which point it will be canceled and not renewed. Otherwise,

/v1/v1/customers/{customer}/subscriptions/{subscription-exposed-id}
GET
Getcustomerscustomersubscriptionssubscriptionexposedid

Retrieves the subscription with the given ID.

/v1/v1/customers/{customer}/subscriptions/{subscription-exposed-id}
POST
Postcustomerscustomersubscriptionssubscriptionexposedid

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 changes. To preview how the proration

/v1/v1/customers/{customer}/subscriptions/{subscription-exposed-id}
DELETE
Deletecustomerscustomersubscriptionssubscriptionexposediddiscount

Removes the currently applied discount on a customer.

/v1/v1/customers/{customer}/subscriptions/{subscription-exposed-id}/discount
GET
Getcustomerscustomersubscriptionssubscriptionexposediddiscount — getcustomerscustomersubscriptionssubscriptionexposediddiscount
/v1/v1/customers/{customer}/subscriptions/{subscription-exposed-id}/discount
GET
Getcustomerscustomertaxids

Returns a list of tax IDs for a customer.

/v1/v1/customers/{customer}/tax-ids
POST
Postcustomerscustomertaxids

Creates a new tax_id object for a customer.

/v1/v1/customers/{customer}/tax-ids
DELETE
Deletecustomerscustomertaxidsid

Deletes an existing tax_id object.

/v1/v1/customers/{customer}/tax-ids/{id}
GET
Getcustomerscustomertaxidsid

Retrieves the tax_id object with the given identifier.

/v1/v1/customers/{customer}/tax-ids/{id}

MCP Tools

p-returns-list-your-customers-customers

Returns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first.

read-only idempotent
p-creates-new-customer-object-p

Creates a new customer object.

p-search-customers-you-ve-previously-created

Search for customers you’ve previously created using Stripe’s Search Query Language.

read-only idempotent
p-permanently-deletes-customer-it-cannot

Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer.

idempotent
p-retrieves-customer-object-p

Retrieves a Customer object.

read-only idempotent
p-updates-specified-customer-setting-values

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 customer’s active source

p-returns-list-transactions-that-updated

Returns a list of transactions that updated the customer’s balances.

read-only idempotent
p-creates-immutable-transaction-that-updates

Creates an immutable transaction that updates the customer’s credit balance.

p-retrieves-specific-customer-balance-transaction

Retrieves a specific customer balance transaction that updated the customer’s balances.

read-only idempotent
p-most-credit-balance-transaction-fields

Most credit balance transaction fields are immutable, but you may update its description and metadata.

p-you-can-see-list-bank

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 API method and the limit

read-only idempotent
p-when-you-create-new-credit

When you create a new credit card, you must specify a customer or recipient on which to create it.

p-delete-specified-source-given-customer

Delete a specified source for a given customer.

idempotent
p-by-default-you-can-see

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.

read-only idempotent
p-update-specified-source-given-customer

Update a specified source for a given customer.

p-verify-specified-bank-account-given

Verify a specified bank account for a given customer.

p-you-can-see-list-cards

You can see a list of the cards belonging to a customer.

read-only idempotent
p-when-you-create-new-credit-2

When you create a new credit card, you must specify a customer or recipient on which to create it.

p-delete-specified-source-given-customer-2

Delete a specified source for a given customer.

idempotent
p-you-can-always-see-10

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.

read-only idempotent
p-update-specified-source-given-customer-2

Update a specified source for a given customer.

p-retrieves-customer-s-cash-balance-p

Retrieves a customer’s cash balance.

read-only idempotent
p-changes-settings-customer-s-cash-balance

Changes the settings on a customer’s cash balance.

p-returns-list-transactions-that-modified

Returns a list of transactions that modified the customer’s cash balance.

read-only idempotent
p-retrieves-specific-cash-balance-transaction

Retrieves a specific cash balance transaction, which updated the customer’s cash balance.

read-only idempotent
p-removes-currently-applied-discount-customer

Removes the currently applied discount on a customer.

idempotent
getcustomerscustomerdiscount

getcustomerscustomerdiscount

read-only idempotent
p-retrieve-funding-instructions-customer-cash

Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new

read-only
p-returns-list-paymentmethods-given-customer

Returns a list of PaymentMethods for a given Customer

read-only idempotent
p-retrieves-paymentmethod-object-given-customer

Retrieves a PaymentMethod object for a given Customer.

read-only idempotent
p-list-sources-specified-customer-p

List sources for a specified customer.

read-only idempotent
p-when-you-create-new-credit-3

When you create a new credit card, you must specify a customer or recipient on which to create it.

p-delete-specified-source-given-customer-3

Delete a specified source for a given customer.

idempotent
p-retrieve-specified-source-given-customer

Retrieve a specified source for a given customer.

read-only idempotent
p-update-specified-source-given-customer-3

Update a specified source for a given customer.

p-verify-specified-bank-account-given-2

Verify a specified bank account for a given customer.

p-you-can-see-list-customer-s

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, you can use the limit and starting_after

read-only idempotent
p-creates-new-subscription-existing-customer

Creates a new subscription on an existing customer.

p-cancels-customer-s-subscription-if-you

Cancels a customer’s subscription. If you set the at_period_end parameter to true, the subscription will remain active until the end of the period, at which point it will be canceled and not renewed. Otherwise,

idempotent
p-retrieves-subscription-given-id-p

Retrieves the subscription with the given ID.

read-only idempotent
p-updates-existing-subscription-customer-match

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 changes. To preview how the proration

p-removes-currently-applied-discount-customer-2

Removes the currently applied discount on a customer.

idempotent
getcustomerscustomersubscriptionssubscriptionexposediddiscount

getcustomerscustomersubscriptionssubscriptionexposediddiscount

read-only idempotent
p-returns-list-tax-ids-customer

Returns a list of tax IDs for a customer.

read-only idempotent
p-creates-new-code-tax-id-code

Creates a new tax_id object for a customer.

p-deletes-existing-code-tax-id-code

Deletes an existing tax_id object.

idempotent
p-retrieves-code-tax-id-code-object

Retrieves the tax_id object with the given identifier.

read-only idempotent

Capability Spec

customers-customers.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Stripe Customers API — Customers
  description: 'Stripe Customers API — Customers. 47 operations. Lead operation: Customers. Self-contained Naftiko capability
    covering one Stripe business surface.'
  tags:
  - Stripe
  - Customers
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    STRIPE_API_KEY: STRIPE_API_KEY
capability:
  consumes:
  - type: http
    namespace: customers-customers
    baseUri: https://api.stripe.com
    description: Stripe Customers API — Customers business capability. Self-contained, no shared references.
    resources:
    - name: v1-customers
      path: /v1/customers
      operations:
      - name: getcustomers
        method: GET
        description: <p>Returns a list of your customers. The customers are returned sorted by creation date, with the most
          recent customers appearing first.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: created
          in: query
          type: string
        - name: email
          in: query
          type: string
          description: A case-sensitive filter on the list based on the customer's `email` field. The value must be a string.
        - name: ending_before
          in: query
          type: string
          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 ob
        - name: expand
          in: query
          type: array
          description: Specifies which fields in the response should be expanded.
        - name: limit
          in: query
          type: integer
          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
          in: query
          type: string
          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 o
        - name: test_clock
          in: query
          type: string
          description: Provides a list of customers that are associated with the specified test clock. The response will not
            include customers with test clocks if this parameter is no
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: postcustomers
        method: POST
        description: <p>Creates a new customer object.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-customers-search
      path: /v1/customers/search
      operations:
      - name: getcustomerssearch
        method: GET
        description: <p>Search for customers you’ve previously created using Stripe’s <a href="/docs/search#search-query-language">Search
          Query Language</a>.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: expand
          in: query
          type: array
          description: Specifies which fields in the response should be expanded.
        - name: limit
          in: query
          type: integer
          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
          in: query
          type: string
          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 respons
        - name: query
          in: query
          type: string
          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 customers
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-customers-customer
      path: /v1/customers/{customer}
      operations:
      - name: deletecustomerscustomer
        method: DELETE
        description: <p>Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions
          on the customer.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: getcustomerscustomer
        method: GET
        description: <p>Retrieves a Customer object.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: expand
          in: query
          type: array
          description: Specifies which fields in the response should be expanded.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: postcustomerscustomer
        method: POST
        description: '<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 the <strong>source</strong> parameter, that becomes the
          customer’s active source '
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-customers-customer-balance_transactions
      path: /v1/customers/{customer}/balance_transactions
      operations:
      - name: getcustomerscustomerbalancetransactions
        method: GET
        description: <p>Returns a list of transactions that updated the customer’s <a href="/docs/billing/customer/balance">balances</a>.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: ending_before
          in: query
          type: string
          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 ob
        - name: expand
          in: query
          type: array
          description: Specifies which fields in the response should be expanded.
        - name: limit
          in: query
          type: integer
          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
          in: query
          type: string
          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 o
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: postcustomerscustomerbalancetransactions
        method: POST
        description: <p>Creates an immutable transaction that updates the customer’s credit <a href="/docs/billing/customer/balance">balance</a>.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-customers-customer-balance_transactions-transaction
      path: /v1/customers/{customer}/balance_transactions/{transaction}
      operations:
      - name: getcustomerscustomerbalancetransactionstransaction
        method: GET
        description: <p>Retrieves a specific customer balance transaction that updated the customer’s <a href="/docs/billing/customer/balance">balances</a>.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: expand
          in: query
          type: array
          description: Specifies which fields in the response should be expanded.
        - name: transaction
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: postcustomerscustomerbalancetransactionstransaction
        method: POST
        description: <p>Most credit balance transaction fields are immutable, but you may update its <code>description</code>
          and <code>metadata</code>.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: transaction
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-customers-customer-bank_accounts
      path: /v1/customers/{customer}/bank_accounts
      operations:
      - name: getcustomerscustomerbankaccounts
        method: GET
        description: <p>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 API method and
          the <code>limit</code>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: ending_before
          in: query
          type: string
          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 ob
        - name: expand
          in: query
          type: array
          description: Specifies which fields in the response should be expanded.
        - name: limit
          in: query
          type: integer
          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
          in: query
          type: string
          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 o
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: postcustomerscustomerbankaccounts
        method: POST
        description: <p>When you create a new credit card, you must specify a customer or recipient on which to create it.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-customers-customer-bank_accounts-id
      path: /v1/customers/{customer}/bank_accounts/{id}
      operations:
      - name: deletecustomerscustomerbankaccountsid
        method: DELETE
        description: <p>Delete a specified source for a given customer.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: getcustomerscustomerbankaccountsid
        method: GET
        description: <p>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.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: expand
          in: query
          type: array
          description: Specifies which fields in the response should be expanded.
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: postcustomerscustomerbankaccountsid
        method: POST
        description: <p>Update a specified source for a given customer.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-customers-customer-bank_accounts-id-verify
      path: /v1/customers/{customer}/bank_accounts/{id}/verify
      operations:
      - name: postcustomerscustomerbankaccountsidverify
        method: POST
        description: <p>Verify a specified bank account for a given customer.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-customers-customer-cards
      path: /v1/customers/{customer}/cards
      operations:
      - name: getcustomerscustomercards
        method: GET
        description: <p>You can see a list of the cards belonging to a customer.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: ending_before
          in: query
          type: string
          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 ob
        - name: expand
          in: query
          type: array
          description: Specifies which fields in the response should be expanded.
        - name: limit
          in: query
          type: integer
          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
          in: query
          type: string
          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 o
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: postcustomerscustomercards
        method: POST
        description: <p>When you create a new credit card, you must specify a customer or recipient on which to create it.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-customers-customer-cards-id
      path: /v1/customers/{customer}/cards/{id}
      operations:
      - name: deletecustomerscustomercardsid
        method: DELETE
        description: <p>Delete a specified source for a given customer.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: getcustomerscustomercardsid
        method: GET
        description: <p>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.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: expand
          in: query
          type: array
          description: Specifies which fields in the response should be expanded.
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: postcustomerscustomercardsid
        method: POST
        description: <p>Update a specified source for a given customer.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-customers-customer-cash_balance
      path: /v1/customers/{customer}/cash_balance
      operations:
      - name: getcustomerscustomercashbalance
        method: GET
        description: <p>Retrieves a customer’s cash balance.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: expand
          in: query
          type: array
          description: Specifies which fields in the response should be expanded.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: postcustomerscustomercashbalance
        method: POST
        description: <p>Changes the settings on a customer’s cash balance.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-customers-customer-cash_balance_transactions
      path: /v1/customers/{customer}/cash_balance_transactions
      operations:
      - name: getcustomerscustomercashbalancetransactions
        method: GET
        description: <p>Returns a list of transactions that modified the customer’s <a href="/docs/payments/customer-balance">cash
          balance</a>.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: ending_before
          in: query
          type: string
          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 ob
        - name: expand
          in: query
          type: array
          description: Specifies which fields in the response should be expanded.
        - name: limit
          in: query
          type: integer
          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
          in: query
          type: string
          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 o
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-customers-customer-cash_balance_transactions-transaction
      path: /v1/customers/{customer}/cash_balance_transactions/{transaction}
      operations:
      - name: getcustomerscustomercashbalancetransactionstransaction
        method: GET
        description: <p>Retrieves a specific cash balance transaction, which updated the customer’s <a href="/docs/payments/customer-balance">cash
          balance</a>.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: expand
          in: query
          type: array
          description: Specifies which fields in the response should be expanded.
        - name: transaction
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-customers-customer-discount
      path: /v1/customers/{customer}/discount
      operations:
      - name: deletecustomerscustomerdiscount
        method: DELETE
        description: <p>Removes the currently applied discount on a customer.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: getcustomerscustomerdiscount
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: expand
          in: query
          type: array
          description: Specifies which fields in the response should be expanded.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-customers-customer-funding_instructions
      path: /v1/customers/{customer}/funding_instructions
      operations:
      - name: postcustomerscustomerfundinginstructions
        method: POST
        description: <p>Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist
          for the customer, new
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-customers-customer-payment_methods
      path: /v1/customers/{customer}/payment_methods
      operations:
      - name: getcustomerscustomerpaymentmethods
        method: GET
        description: <p>Returns a list of PaymentMethods for a given Customer</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: ending_before
          in: query
          type: string
          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 ob
        - name: expand
          in: query
          type: array
          description: Specifies which fields in the response should be expanded.
        - name: limit
          in: query
          type: integer
          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
          in: query
          type: string
          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 o
        - name: type
          in: query
          type: string
          description: An optional filter on the list, based on the object `type` field. Without the filter, the list includes
            all current and future payment method types. If your int
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-customers-customer-payment_methods-payment_method
      path: /v1/customers/{customer}/payment_methods/{payment_method}
      operations:
      - name: getcustomerscustomerpaymentmethodspaymentmethod
        method: GET
        description: <p>Retrieves a PaymentMethod object for a given Customer.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: expand
          in: query
          type: array
          description: Specifies which fields in the response should be expanded.
        - name: payment_method
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-customers-customer-sources
      path: /v1/customers/{customer}/sources
      operations:
      - name: getcustomerscustomersources
        method: GET
        description: <p>List sources for a specified customer.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: ending_before
          in: query
          type: string
          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 ob
        - name: expand
          in: query
          type: array
          description: Specifies which fields in the response should be expanded.
        - name: limit
          in: query
          type: integer
          description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default
            is 10.
        - name: object
          in: query
          type: string
          description: Filter sources according to a particular object type.
        - name: starting_after
          in: query
          type: string
          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 o
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: postcustomerscustomersources
        method: POST
        description: <p>When you create a new credit card, you must specify a customer or recipient on which to create it.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-customers-customer-sources-id
      path: /v1/customers/{customer}/sources/{id}
      operations:
      - name: deletecustomerscustomersourcesid
        method: DELETE
        description: <p>Delete a specified source for a given customer.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: getcustomerscustomersourcesid
        method: GET
        description: <p>Retrieve a specified source for a given customer.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: expand
          in: query
          type: array
          description: Specifies which fields in the response should be expanded.
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: postcustomerscustomersourcesid
        method: POST
        description: <p>Update a specified source for a given customer.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: customer
          in: path
          type: string
          required: true
        - name: id
          in:

# --- truncated at 32 KB (93 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/stripe/refs/heads/main/capabilities/customers-customers.yaml