openapi: 3.0.0
info:
title: Stripe Accounts Account Identifiers API
description: This is an object representing a Stripe account. You can retrieve it to see properties on the account like its current requirements or if the account is enabled to make live charges or receive payouts.
contact:
email: dev-platform@stripe.com
name: Stripe Dev Platform Team
url: https://stripe.com
termsOfService: https://stripe.com/us/terms/
version: '2023-10-16'
x-stripeSpecFilename: spec3
servers:
- url: https://api.stripe.com/
security:
- basicAuth: []
- bearerAuth: []
tags:
- name: Identifiers
paths:
/v1/balance/history/{id}:
get:
description: '
Retrieves the balance transaction with the given ID.
Note that this endpoint previously used the path /v1/balance/history/:id.
'
operationId: getBalanceHistoryId
parameters:
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- in: path
name: id
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetBalanceHistoryIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/balance_transaction'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Get Balance History Id
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
/v1/balance_transactions/{id}:
get:
description: 'Retrieves the balance transaction with the given ID.
Note that this endpoint previously used the path /v1/balance/history/:id.
'
operationId: getBalanceTransactionsId
parameters:
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- in: path
name: id
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetBalanceTransactionsIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/balance_transaction'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Get Balance Transactions Id
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
/v1/credit_notes/{id}:
get:
description: Retrieves the credit note object with the given identifier.
operationId: getCreditNotesId
parameters:
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- in: path
name: id
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetCreditNotesIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/credit_note'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Get Credit Notes Id
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
post:
description: Updates an existing credit note.
operationId: postCreditNotesId
parameters:
- in: path
name: id
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
expand:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostCreditNotesIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/credit_note'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Post Credit Notes Id
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
/v1/credit_notes/{id}/void:
post:
description: Marks a credit note as void. Learn more about voiding credit notes.
operationId: postCreditNotesIdVoid
parameters:
- in: path
name: id
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
expand:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostCreditNotesIdVoidRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/credit_note'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Post Credit Notes Id Void
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
/v1/customers/{customer}/bank_accounts/{id}:
delete:
description: Delete a specified source for a given customer.
operationId: deleteCustomersCustomerBankAccountsId
parameters:
- in: path
name: customer
required: true
schema:
maxLength: 5000
type: string
style: simple
- in: path
name: id
required: true
schema:
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
expand:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/DeleteCustomersCustomerBankAccountsIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/payment_source'
- $ref: '#/components/schemas/deleted_payment_source'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Delete Customers Customer Bank Accounts Id
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
get:
deprecated: true
description: 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.
operationId: getCustomersCustomerBankAccountsId
parameters:
- in: path
name: customer
required: true
schema:
maxLength: 5000
type: string
style: simple
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- in: path
name: id
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetCustomersCustomerBankAccountsIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/bank_account'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Get Customers Customer Bank Accounts Id
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
post:
description: Update a specified source for a given customer.
operationId: postCustomersCustomerBankAccountsId
parameters:
- in: path
name: customer
required: true
schema:
maxLength: 5000
type: string
style: simple
- in: path
name: id
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
expand:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
owner:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostCustomersCustomerBankAccountsIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/card'
- $ref: '#/components/schemas/bank_account'
- $ref: '#/components/schemas/source'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Post Customers Customer Bank Accounts Id
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
/v1/customers/{customer}/bank_accounts/{id}/verify:
post:
description: Verify a specified bank account for a given customer.
operationId: postCustomersCustomerBankAccountsIdVerify
parameters:
- in: path
name: customer
required: true
schema:
maxLength: 5000
type: string
style: simple
- in: path
name: id
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
amounts:
explode: true
style: deepObject
expand:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostCustomersCustomerBankAccountsIdVerifyRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/bank_account'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Post Customers Customer Bank Accounts Id Verify
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
/v1/customers/{customer}/cards/{id}:
delete:
description: Delete a specified source for a given customer.
operationId: deleteCustomersCustomerCardsId
parameters:
- in: path
name: customer
required: true
schema:
maxLength: 5000
type: string
style: simple
- in: path
name: id
required: true
schema:
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
expand:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/DeleteCustomersCustomerCardsIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/payment_source'
- $ref: '#/components/schemas/deleted_payment_source'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Delete Customers Customer Cards Id
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
get:
deprecated: true
description: 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.
operationId: getCustomersCustomerCardsId
parameters:
- in: path
name: customer
required: true
schema:
maxLength: 5000
type: string
style: simple
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- in: path
name: id
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetCustomersCustomerCardsIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/card'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Get Customers Customer Cards Id
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
post:
description: Update a specified source for a given customer.
operationId: postCustomersCustomerCardsId
parameters:
- in: path
name: customer
required: true
schema:
maxLength: 5000
type: string
style: simple
- in: path
name: id
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
expand:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
owner:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostCustomersCustomerCardsIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/card'
- $ref: '#/components/schemas/bank_account'
- $ref: '#/components/schemas/source'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Post Customers Customer Cards Id
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
/v1/customers/{customer}/sources/{id}:
delete:
description: Delete a specified source for a given customer.
operationId: deleteCustomersCustomerSourcesId
parameters:
- in: path
name: customer
required: true
schema:
maxLength: 5000
type: string
style: simple
- in: path
name: id
required: true
schema:
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
expand:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/DeleteCustomersCustomerSourcesIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/payment_source'
- $ref: '#/components/schemas/deleted_payment_source'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Delete Customers Customer Sources Id
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
get:
description: Retrieve a specified source for a given customer.
operationId: getCustomersCustomerSourcesId
parameters:
- in: path
name: customer
required: true
schema:
maxLength: 5000
type: string
style: simple
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- in: path
name: id
required: true
schema:
maxLength: 500
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetCustomersCustomerSourcesIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/payment_source'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Get Customers Customer Sources Id
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
post:
description: Update a specified source for a given customer.
operationId: postCustomersCustomerSourcesId
parameters:
- in: path
name: customer
required: true
schema:
maxLength: 5000
type: string
style: simple
- in: path
name: id
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
expand:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
owner:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostCustomersCustomerSourcesIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/card'
- $ref: '#/components/schemas/bank_account'
- $ref: '#/components/schemas/source'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Post Customers Customer Sources Id
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
/v1/customers/{customer}/sources/{id}/verify:
post:
description: Verify a specified bank account for a given customer.
operationId: postCustomersCustomerSourcesIdVerify
parameters:
- in: path
name: customer
required: true
schema:
maxLength: 5000
type: string
style: simple
- in: path
name: id
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
amounts:
explode: true
style: deepObject
expand:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostCustomersCustomerSourcesIdVerifyRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/bank_account'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Post Customers Customer Sources Id Verify
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
/v1/customers/{customer}/subscriptions/{subscription_exposed_id}:
delete:
description: '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, with the default false value, the subscription is terminated immediately. In either case, the customer will not be charged again for the subscription.
Note, however, that any pending invoice items that you’ve created will still be charged for at the end of the period, unless manually deleted. 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 immediately, pending prorations will be removed.
By default, upon subscription cancellation, Stripe will stop automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all.
'
operationId: deleteCustomersCustomerSubscriptionsSubscriptionExposedId
parameters:
- in: path
name: customer
required: true
schema:
maxLength: 5000
type: string
style: simple
- in: path
name: subscription_exposed_id
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
expand:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/DeleteCustomersCustomerSubscriptionsSubscriptionExposedIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/subscription'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Delete Customers Customer Subscriptions Subscription Exposed Id
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
get:
description: Retrieves the subscription with the given ID.
operationId: getCustomersCustomerSubscriptionsSubscriptionExposedId
parameters:
- in: path
name: customer
required: true
schema:
maxLength: 5000
type: string
style: simple
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- in: path
name: subscription_exposed_id
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetCustomersCustomerSubscriptionsSubscriptionExposedIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/subscription'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Get Customers Customer Subscriptions Subscription Exposed Id
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
post:
description: 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 will be calculated, use the upcoming invoice endpoint.
operationId: postCustomersCustomerSubscriptionsSubscriptionExposedId
parameters:
- in: path
name: customer
required: true
schema:
maxLength: 5000
type: string
style: simple
- in: path
name: subscription_exposed_id
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
add_invoice_items:
explode: true
style: deepObject
automatic_tax:
explode: true
style: deepObject
billing_thresholds:
explode: true
style: deepObject
cancel_at:
explode: true
style: deepObject
cancellation_details:
explode: true
style: deepObject
default_source:
explode: true
style: deepObject
default_tax_rates:
explode: true
style: deepObject
expand:
explode: true
style: deepObject
items:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
pause_collection:
explode: true
style: deepObject
payment_settings:
explode: true
style: deepObject
pending_invoice_item_interval:
explode: true
style: deepObject
transfer_data:
explode: true
style: deepObject
trial_end:
explode: true
style: deepObject
trial_settings:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostCustomersCustomerSubscriptionsSubscriptionExposedIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/subscription'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Post Customers Customer Subscriptions Subscription Exposed Id
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
/v1/customers/{customer}/subscriptions/{subscription_exposed_id}/discount:
delete:
description: Removes the currently applied discount on a customer.
operationId: deleteCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount
parameters:
- in: path
name: customer
required: true
schema:
maxLength: 5000
type: string
style: simple
- in: path
name: subscription_exposed_id
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/DeleteCustomersCustomerSubscriptionsSubscriptionExposedIdDiscountRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/deleted_discount'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Delete Customers Customer Subscriptions Subscription Exposed Id Discount
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
get:
description: ''
operationId: getCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount
parameters:
- in: path
name: customer
required: true
schema:
maxLength: 5000
type: string
style: simple
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- in: path
name: subscription_exposed_id
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetCustomersCustomerSubscriptionsSubscriptionExposedIdDiscountRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/discount'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Get Customers Customer Subscriptions Subscription Exposed Id Discount
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
/v1/customers/{customer}/tax_ids/{id}:
delete:
description: Deletes an existing tax_id object.
operationId: deleteCustomersCustomerTaxIdsId
parameters:
- in: path
name: customer
required: true
schema:
maxLength: 5000
type: string
style: simple
- in: path
name: id
required: true
schema:
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/DeleteCustomersCustomerTaxIdsIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/deleted_tax_id'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Delete Customers Customer Tax Ids Id
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
get:
description: Retrieves the tax_id object with the given identifier.
operationId: getCustomersCustomerTaxIdsId
parameters:
- in: path
name: customer
required: true
schema:
maxLength: 5000
type: string
style: simple
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- in: path
name: id
required: true
schema:
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetCustomersCustomerTaxIdsIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/tax_id'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Get Customers Customer Tax Ids Id
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
/v1/events/{id}:
get:
description: Retrieves the details of an event. Supply the unique identifier of the event, which you might have received in a webhook.
operationId: getEventsId
parameters:
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- in: path
name: id
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetEventsIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/event'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Get Events Id
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
/v1/exchange_rates/{rate_id}:
get:
description: Retrieves the exchange rates from the given currency to every supported currency.
operationId: getExchangeRatesRateId
parameters:
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- in: path
name: rate_id
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetExchangeRatesRateIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/exchange_rate'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Get Exchange Rates Rate Id
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
/v1/invoices/{invoice}/lines/{line_item_id}:
post:
description: 'Updates an invoice’s line item. Some fields, such as tax_amounts, only live on the invoice line item,
so they can only be updated through this endpoint. Other fields, such as amount, live on both the invoice
item and the invoice line item, so updates on this endpoint will propagate to the invoice item as well.
Updating an invoice’s line item is only possible before the invoice is finalized.
'
operationId: postInvoicesInvoiceLinesLineItemId
parameters:
- description: Invoice ID of line item
in: path
name: invoice
required: true
schema:
maxLength: 5000
type: string
style: simple
- description: Invoice line item ID
in: path
name: line_item_id
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
discounts:
explode: true
style: deepObject
expand:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
period:
explode: true
style: deepObject
price_data:
explode: true
style: deepObject
tax_amounts:
explode: true
style: deepObject
tax_rates:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostInvoicesInvoiceLinesLineItemIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/line_item'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Post Invoices Invoice Lines Line Item Id
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Identifiers
components:
schemas:
DeleteCustomersCustomerSubscriptionsSubscriptionExposedIdDiscountRequest:
type: object
properties: {}
GetCustomersCustomerSubscriptionsSubscriptionExposedIdRequest:
type: object
properties: {}
GetCustomersCustomerSourcesIdRequest:
type: object
properties: {}
DeleteCustomersCustomerBankAccountsIdRequest:
type: object
properties:
expand:
description: Specifies which fields in the response should be expanded.
items:
maxLength: 5000
type: string
type: array
PostCustomersCustomerSourcesIdVerifyRequest:
type: object
properties:
amounts:
description: Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account.
items:
type: integer
type: array
expand:
description: Specifies which fields in the response should be expanded.
items:
maxLength: 5000
type: string
type: array
balance_transaction:
description: 'Balance transactions represent funds moving through your Stripe account.
Stripe creates them for every type of transaction that enters or leaves your Stripe account balance.
Related guide: [Balance transaction types](https://stripe.com/docs/reports/balance-transaction-types)'
properties:
amount:
description: Gross amount of this transaction (in cents (or local equivalent)). A positive value represents funds charged to another party, and a negative value represents funds sent to another party.
type: integer
available_on:
description: The date that the transaction's net funds become available in the Stripe balance.
format: unix-time
type: integer
created:
description: Time at which the object was created. Measured in seconds since the Unix epoch.
format: unix-time
type: integer
currency:
description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
type: string
description:
description: An arbitrary string attached to the object. Often useful for displaying to users.
maxLength: 5000
nullable: true
type: string
exchange_rate:
description: If applicable, this transaction uses an exchange rate. If money converts from currency A to currency B, then the `amount` in currency A, multipled by the `exchange_rate`, equals the `amount` in currency B. For example, if you charge a customer 10.00 EUR, the PaymentIntent's `amount` is `1000` and `currency` is `eur`. If this converts to 12.34 USD in your Stripe account, the BalanceTransaction's `amount` is `1234`, its `currency` is `usd`, and the `exchange_rate` is `1.234`.
nullable: true
type: number
fee:
description: Fees (in cents (or local equivalent)) paid for this transaction. Represented as a positive integer when assessed.
type: integer
fee_details:
description: Detailed breakdown of fees (in cents (or local equivalent)) paid for this transaction.
items:
$ref: '#/components/schemas/fee'
type: array
id:
description: Unique identifier for the object.
maxLength: 5000
type: string
net:
description: Net impact to a Stripe balance (in cents (or local equivalent)). A positive value represents incrementing a Stripe balance, and a negative value decrementing a Stripe balance. You can calculate the net impact of a transaction on a balance by `amount` - `fee`
type: integer
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- balance_transaction
type: string
reporting_category:
description: Learn more about how [reporting categories](https://stripe.com/docs/reports/reporting-categories) can help you understand balance transactions from an accounting perspective.
maxLength: 5000
type: string
source:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/application_fee'
- $ref: '#/components/schemas/charge'
- $ref: '#/components/schemas/connect_collection_transfer'
- $ref: '#/components/schemas/customer_cash_balance_transaction'
- $ref: '#/components/schemas/dispute'
- $ref: '#/components/schemas/fee_refund'
- $ref: '#/components/schemas/issuing.authorization'
- $ref: '#/components/schemas/issuing.dispute'
- $ref: '#/components/schemas/issuing.transaction'
- $ref: '#/components/schemas/payout'
- $ref: '#/components/schemas/platform_tax_fee'
- $ref: '#/components/schemas/refund'
- $ref: '#/components/schemas/reserve_transaction'
- $ref: '#/components/schemas/tax_deducted_at_source'
- $ref: '#/components/schemas/topup'
- $ref: '#/components/schemas/transfer'
- $ref: '#/components/schemas/transfer_reversal'
description: This transaction relates to the Stripe object.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/application_fee'
- $ref: '#/components/schemas/charge'
- $ref: '#/components/schemas/connect_collection_transfer'
- $ref: '#/components/schemas/customer_cash_balance_transaction'
- $ref: '#/components/schemas/dispute'
- $ref: '#/components/schemas/fee_refund'
- $ref: '#/components/schemas/issuing.authorization'
- $ref: '#/components/schemas/issuing.dispute'
- $ref: '#/components/schemas/issuing.transaction'
- $ref: '#/components/schemas/payout'
- $ref: '#/components/schemas/platform_tax_fee'
- $ref: '#/components/schemas/refund'
- $ref: '#/components/schemas/reserve_transaction'
- $ref: '#/components/schemas/tax_deducted_at_source'
- $ref: '#/components/schemas/topup'
- $ref: '#/components/schemas/transfer'
- $ref: '#/components/schemas/transfer_reversal'
x-stripeBypassValidation: true
status:
description: The transaction's net funds status in the Stripe balance, which are either `available` or `pending`.
maxLength: 5000
type: string
type:
description: 'Transaction type: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `climate_order_purchase`, `climate_order_refund`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `obligation_inbound`, `obligation_outbound`, `obligation_reversal_inbound`, `obligation_reversal_outbound`, `obligation_payout`, `obligation_payout_failure`, `payment`, `payment_failure_refund`, `payment_network_reserve_hold`, `payment_network_reserve_release`, `payment_refund`, `payment_reversal`, `payment_unreconciled`, `payout`, `payout_cancel`, `payout_failure`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`. Learn more about [balance transaction types and what they represent](https://stripe.com/docs/reports/balance-transaction-types). To classify transactions for accounting purposes, consider `reporting_category` instead.'
enum:
- adjustment
- advance
- advance_funding
- anticipation_repayment
- application_fee
- application_fee_refund
- charge
- climate_order_purchase
- climate_order_refund
- connect_collection_transfer
- contribution
- issuing_authorization_hold
- issuing_authorization_release
- issuing_dispute
- issuing_transaction
- obligation_inbound
- obligation_outbound
- obligation_payout
- obligation_payout_failure
- obligation_reversal_inbound
- obligation_reversal_outbound
- payment
- payment_failure_refund
- payment_network_reserve_hold
- payment_network_reserve_release
- payment_refund
- payment_reversal
- payment_unreconciled
- payout
- payout_cancel
- payout_failure
- refund
- refund_failure
- reserve_transaction
- reserved_funds
- stripe_fee
- stripe_fx_fee
- tax_fee
- topup
- topup_reversal
- transfer
- transfer_cancel
- transfer_failure
- transfer_refund
type: string
required:
- amount
- available_on
- created
- currency
- fee
- fee_details
- id
- net
- object
- reporting_category
- status
- type
title: BalanceTransaction
type: object
x-expandableFields:
- fee_details
- source
x-resourceId: balance_transaction
PostCustomersCustomerSourcesIdRequest:
type: object
properties:
account_holder_name:
description: The name of the person or business that owns the bank account.
maxLength: 5000
type: string
account_holder_type:
description: The type of entity that holds the account. This can be either `individual` or `company`.
enum:
- company
- individual
maxLength: 5000
type: string
address_city:
description: City/District/Suburb/Town/Village.
maxLength: 5000
type: string
address_country:
description: Billing address country, if provided when creating card.
maxLength: 5000
type: string
address_line1:
description: Address line 1 (Street address/PO Box/Company name).
maxLength: 5000
type: string
address_line2:
description: Address line 2 (Apartment/Suite/Unit/Building).
maxLength: 5000
type: string
address_state:
description: State/County/Province/Region.
maxLength: 5000
type: string
address_zip:
description: ZIP or postal code.
maxLength: 5000
type: string
exp_month:
description: Two digit number representing the card’s expiration month.
maxLength: 5000
type: string
exp_year:
description: Four digit number representing the card’s expiration year.
maxLength: 5000
type: string
expand:
description: Specifies which fields in the response should be expanded.
items:
maxLength: 5000
type: string
type: array
metadata:
anyOf:
- additionalProperties:
type: string
type: object
- enum:
- ''
type: string
description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
name:
description: Cardholder name.
maxLength: 5000
type: string
owner:
properties:
address:
properties:
city:
maxLength: 5000
type: string
country:
maxLength: 5000
type: string
line1:
maxLength: 5000
type: string
line2:
maxLength: 5000
type: string
postal_code:
maxLength: 5000
type: string
state:
maxLength: 5000
type: string
title: source_address
type: object
email:
type: string
name:
maxLength: 5000
type: string
phone:
maxLength: 5000
type: string
title: owner
type: object
line_item:
description: ''
properties:
amount:
description: The amount, in cents (or local equivalent).
type: integer
amount_excluding_tax:
description: The integer amount in cents (or local equivalent) representing the amount for this line item, excluding all tax and discounts.
nullable: true
type: integer
currency:
description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
type: string
description:
description: An arbitrary string attached to the object. Often useful for displaying to users.
maxLength: 5000
nullable: true
type: string
discount_amounts:
description: The amount of discount calculated per discount for this line item.
items:
$ref: '#/components/schemas/discounts_resource_discount_amount'
nullable: true
type: array
discountable:
description: If true, discounts will apply to this line item. Always false for prorations.
type: boolean
discounts:
description: The discounts applied to the invoice line item. Line item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount.
items:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/discount'
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/discount'
nullable: true
type: array
id:
description: Unique identifier for the object.
maxLength: 5000
type: string
invoice_item:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/invoiceitem'
description: The ID of the [invoice item](https://stripe.com/docs/api/Invoice Items) associated with this line item if any.
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/invoiceitem'
livemode:
description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
type: boolean
metadata:
additionalProperties:
maxLength: 500
type: string
description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Note that for line items with `type=subscription` this will reflect the metadata of the subscription that caused the line item to be created.
type: object
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- line_item
type: string
period:
$ref: '#/components/schemas/invoice_line_item_period'
price:
anyOf:
- $ref: '#/components/schemas/price'
description: The price of the line item.
nullable: true
proration:
description: Whether this is a proration.
type: boolean
proration_details:
anyOf:
- $ref: '#/components/schemas/invoices_resource_line_items_proration_details'
description: Additional details for proration line items
nullable: true
quantity:
description: The quantity of the subscription, if the line item is a subscription or a proration.
nullable: true
type: integer
subscription:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/subscription'
description: The subscription that the invoice item pertains to, if any.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/subscription'
subscription_item:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/subscription_item'
description: The subscription item that generated this line item. Left empty if the line item is not an explicit result of a subscription.
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/subscription_item'
tax_amounts:
description: The amount of tax calculated per tax rate for this line item
items:
$ref: '#/components/schemas/invoice_tax_amount'
type: array
tax_rates:
description: The tax rates which apply to the line item.
items:
$ref: '#/components/schemas/tax_rate'
type: array
type:
description: A string identifying the type of the source of this line item, either an `invoiceitem` or a `subscription`.
enum:
- invoiceitem
- subscription
type: string
unit_amount_excluding_tax:
description: The amount in cents (or local equivalent) representing the unit amount for this line item, excluding all tax and discounts.
format: decimal
nullable: true
type: string
required:
- amount
- currency
- discountable
- id
- livemode
- metadata
- object
- period
- proration
- type
title: InvoiceLineItem
type: object
x-expandableFields:
- discount_amounts
- discounts
- invoice_item
- period
- price
- proration_details
- subscription
- subscription_item
- tax_amounts
- tax_rates
x-resourceId: line_item
GetBalanceHistoryIdRequest:
type: object
properties: {}
DeleteCustomersCustomerSubscriptionsSubscriptionExposedIdRequest:
type: object
properties:
expand:
description: Specifies which fields in the response should be expanded.
items:
maxLength: 5000
type: string
type: array
invoice_now:
description: Can be set to `true` if `at_period_end` is not set to `true`. Will generate a final invoice that invoices for any un-invoiced metered usage and new/pending proration invoice items.
type: boolean
prorate:
description: Can be set to `true` if `at_period_end` is not set to `true`. Will generate a proration invoice item that credits remaining unused time until the subscription period end.
type: boolean
PostCustomersCustomerCardsIdRequest:
type: object
properties:
account_holder_name:
description: The name of the person or business that owns the bank account.
maxLength: 5000
type: string
account_holder_type:
description: The type of entity that holds the account. This can be either `individual` or `company`.
enum:
- company
- individual
maxLength: 5000
type: string
address_city:
description: City/District/Suburb/Town/Village.
maxLength: 5000
type: string
address_country:
description: Billing address country, if provided when creating card.
maxLength: 5000
type: string
address_line1:
description: Address line 1 (Street address/PO Box/Company name).
maxLength: 5000
type: string
address_line2:
description: Address line 2 (Apartment/Suite/Unit/Building).
maxLength: 5000
type: string
address_state:
description: State/County/Province/Region.
maxLength: 5000
type: string
address_zip:
description: ZIP or postal code.
maxLength: 5000
type: string
exp_month:
description: Two digit number representing the card’s expiration month.
maxLength: 5000
type: string
exp_year:
description: Four digit number representing the card’s expiration year.
maxLength: 5000
type: string
expand:
description: Specifies which fields in the response should be expanded.
items:
maxLength: 5000
type: string
type: array
metadata:
anyOf:
- additionalProperties:
type: string
type: object
- enum:
- ''
type: string
description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
name:
description: Cardholder name.
maxLength: 5000
type: string
owner:
properties:
address:
properties:
city:
maxLength: 5000
type: string
country:
maxLength: 5000
type: string
line1:
maxLength: 5000
type: string
line2:
maxLength: 5000
type: string
postal_code:
maxLength: 5000
type: string
state:
maxLength: 5000
type: string
title: source_address
type: object
email:
type: string
name:
maxLength: 5000
type: string
phone:
maxLength: 5000
type: string
title: owner
type: object
GetBalanceTransactionsIdRequest:
type: object
properties: {}
GetCreditNotesIdRequest:
type: object
properties: {}
PostInvoicesInvoiceLinesLineItemIdRequest:
type: object
properties:
amount:
description: The integer amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. If you want to apply a credit to the customer's account, pass a negative amount.
type: integer
description:
description: An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking.
maxLength: 5000
type: string
discountable:
description: Controls whether discounts apply to this line item. Defaults to false for prorations or negative line items, and true for all other line items. Cannot be set to true for prorations.
type: boolean
discounts:
anyOf:
- items:
properties:
coupon:
maxLength: 5000
type: string
discount:
maxLength: 5000
type: string
title: discounts_data_param
type: object
type: array
- enum:
- ''
type: string
description: The coupons & existing discounts which apply to the line item. Item discounts are applied before invoice discounts. Pass an empty string to remove previously-defined discounts.
expand:
description: Specifies which fields in the response should be expanded.
items:
maxLength: 5000
type: string
type: array
metadata:
anyOf:
- additionalProperties:
type: string
type: object
- enum:
- ''
type: string
description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
period:
description: The period associated with this invoice item. When set to different values, the period will be rendered on the invoice. If you have [Stripe Revenue Recognition](https://stripe.com/docs/revenue-recognition) enabled, the period will be used to recognize and defer revenue. See the [Revenue Recognition documentation](https://stripe.com/docs/revenue-recognition/methodology/subscriptions-and-invoicing) for details.
properties:
end:
format: unix-time
type: integer
start:
format: unix-time
type: integer
required:
- end
- start
title: period
type: object
price:
description: The ID of the price object.
maxLength: 5000
type: string
price_data:
description: Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline.
properties:
currency:
type: string
product:
maxLength: 5000
type: string
product_data:
properties:
description:
maxLength: 40000
type: string
images:
items:
type: string
type: array
metadata:
additionalProperties:
type: string
type: object
name:
maxLength: 5000
type: string
tax_code:
maxLength: 5000
type: string
required:
- name
title: product_data
type: object
tax_behavior:
enum:
- exclusive
- inclusive
- unspecified
type: string
unit_amount:
type: integer
unit_amount_decimal:
format: decimal
type: string
required:
- currency
title: one_time_price_data_with_product_data
type: object
quantity:
description: Non-negative integer. The quantity of units for the line item.
type: integer
tax_amounts:
anyOf:
- items:
properties:
amount:
type: integer
tax_rate_data:
properties:
country:
maxLength: 5000
type: string
description:
maxLength: 5000
type: string
display_name:
maxLength: 50
type: string
inclusive:
type: boolean
jurisdiction:
maxLength: 50
type: string
percentage:
type: number
state:
maxLength: 2
type: string
tax_type:
enum:
- amusement_tax
- communications_tax
- gst
- hst
- igst
- jct
- lease_tax
- pst
- qst
- rst
- sales_tax
- service_tax
- vat
type: string
required:
- display_name
- inclusive
- percentage
title: tax_rate_data_param
type: object
taxable_amount:
type: integer
required:
- amount
- tax_rate_data
- taxable_amount
title: tax_amount_param
type: object
type: array
- enum:
- ''
type: string
description: A list of up to 10 tax amounts for this line item. This can be useful if you calculate taxes on your own or use a third-party to calculate them. You cannot set tax amounts if any line item has [tax_rates](https://stripe.com/docs/api/invoices/line_item#invoice_line_item_object-tax_rates) or if the invoice has [default_tax_rates](https://stripe.com/docs/api/invoices/object#invoice_object-default_tax_rates) or uses [automatic tax](https://stripe.com/docs/tax/invoicing). Pass an empty string to remove previously defined tax amounts.
tax_rates:
anyOf:
- items:
maxLength: 5000
type: string
type: array
- enum:
- ''
type: string
description: The tax rates which apply to the line item. When set, the `default_tax_rates` on the invoice do not apply to this line item. Pass an empty string to remove previously-defined tax rates.
GetCustomersCustomerTaxIdsIdRequest:
type: object
properties: {}
GetCustomersCustomerBankAccountsIdRequest:
type: object
properties: {}
GetExchangeRatesRateIdRequest:
type: object
properties: {}
GetEventsIdRequest:
type: object
properties: {}
deleted_customer:
description: ''
properties:
deleted:
description: Always true for a deleted object
enum:
- true
type: boolean
id:
description: Unique identifier for the object.
maxLength: 5000
type: string
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- customer
type: string
required:
- deleted
- id
- object
title: DeletedCustomer
type: object
x-expandableFields: []
x-resourceId: deleted_customer
exchange_rate:
description: '`ExchangeRate` objects allow you to determine the rates that Stripe is currently
using to convert from one currency to another. Since this number is variable
throughout the day, there are various reasons why you might want to know the current
rate (for example, to dynamically price an item for a user with a default
payment in a foreign currency).
Please refer to our [Exchange Rates API](https://stripe.com/docs/fx-rates) guide for more details.
*[Note: this integration path is supported but no longer recommended]* Additionally,
you can guarantee that a charge is made with an exchange rate that you expect is
current. To do so, you must pass in the exchange_rate to charges endpoints. If the
value is no longer up to date, the charge won''t go through. Please refer to our
[Using with charges](https://stripe.com/docs/exchange-rates) guide for more details.
--
*This Exchange Rates API is a Beta Service and is subject to Stripe''s terms of service. You may use the API solely for the purpose of transacting on Stripe. For example, the API may be queried in order to:*
- *localize prices for processing payments on Stripe*
- *reconcile Stripe transactions*
- *determine how much money to send to a connected account*
- *determine app fees to charge a connected account*
*Using this Exchange Rates API beta for any purpose other than to transact on Stripe is strictly prohibited and constitutes a violation of Stripe''s terms of service.*'
properties:
id:
description: Unique identifier for the object. Represented as the three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) in lowercase.
maxLength: 5000
type: string
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- exchange_rate
type: string
rates:
additionalProperties:
type: number
description: Hash where the keys are supported currencies and the values are the exchange rate at which the base id currency converts to the key currency.
type: object
required:
- id
- object
- rates
title: ExchangeRate
type: object
x-expandableFields: []
x-resourceId: exchange_rate
customer:
description: '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: [Save a card during payment](https://stripe.com/docs/payments/save-during-payment)'
properties:
address:
anyOf:
- $ref: '#/components/schemas/address'
description: The customer's address.
nullable: true
balance:
description: The current balance, if any, that's stored on the customer. If negative, the customer has credit to apply to their next invoice. If positive, the customer has an amount owed that's added to their next invoice. The balance only considers amounts that Stripe hasn't successfully applied to any invoice. It doesn't reflect unpaid invoices. This balance is only taken into account after invoices finalize.
type: integer
cash_balance:
anyOf:
- $ref: '#/components/schemas/cash_balance'
description: The current funds being held by Stripe on behalf of the customer. You can apply these funds towards payment intents when the source is "cash_balance". The `settings[reconciliation_mode]` field describes if these funds apply to these payment intents manually or automatically.
nullable: true
created:
description: Time at which the object was created. Measured in seconds since the Unix epoch.
format: unix-time
type: integer
currency:
description: Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) the customer can be charged in for recurring billing purposes.
maxLength: 5000
nullable: true
type: string
default_source:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/bank_account'
- $ref: '#/components/schemas/card'
- $ref: '#/components/schemas/source'
description: 'ID of the default payment source for the customer.
If you use payment methods created through the PaymentMethods API, see the [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) field instead.'
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/bank_account'
- $ref: '#/components/schemas/card'
- $ref: '#/components/schemas/source'
x-stripeBypassValidation: true
delinquent:
description: 'Tracks the most recent state change on any invoice belonging to the customer. Paying an invoice or marking it uncollectible via the API will set this field to false. An automatic payment failure or passing the `invoice.due_date` will set this field to `true`.
If an invoice becomes uncollectible by [dunning](https://stripe.com/docs/billing/automatic-collection), `delinquent` doesn''t reset to `false`.
If you care whether the customer has paid their most recent subscription invoice, use `subscription.status` instead. Paying or marking uncollectible any customer invoice regardless of whether it is the latest invoice for a subscription will always set this field to `false`.'
nullable: true
type: boolean
description:
description: An arbitrary string attached to the object. Often useful for displaying to users.
maxLength: 5000
nullable: true
type: string
discount:
anyOf:
- $ref: '#/components/schemas/discount'
description: Describes the current discount active on the customer, if there is one.
nullable: true
email:
description: The customer's email address.
maxLength: 5000
nullable: true
type: string
id:
description: Unique identifier for the object.
maxLength: 5000
type: string
invoice_credit_balance:
additionalProperties:
type: integer
description: The current multi-currency balances, if any, that's stored on the customer. If positive in a currency, the customer has a credit to apply to their next invoice denominated in that currency. If negative, the customer has an amount owed that's added to their next invoice denominated in that currency. These balances don't apply to unpaid invoices. They solely track amounts that Stripe hasn't successfully applied to any invoice. Stripe only applies a balance in a specific currency to an invoice after that invoice (which is in the same currency) finalizes.
type: object
invoice_prefix:
description: The prefix for the customer used to generate unique invoice numbers.
maxLength: 5000
nullable: true
type: string
invoice_settings:
$ref: '#/components/schemas/invoice_setting_customer_setting'
livemode:
description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
type: boolean
metadata:
additionalProperties:
maxLength: 500
type: string
description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
type: object
name:
description: The customer's full name or business name.
maxLength: 5000
nullable: true
type: string
next_invoice_sequence:
description: The suffix of the customer's next invoice number (for example, 0001).
type: integer
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- customer
type: string
phone:
description: The customer's phone number.
maxLength: 5000
nullable: true
type: string
preferred_locales:
description: The customer's preferred locales (languages), ordered by preference.
items:
maxLength: 5000
type: string
nullable: true
type: array
shipping:
anyOf:
- $ref: '#/components/schemas/shipping'
description: Mailing and shipping address for the customer. Appears on invoices emailed to this customer.
nullable: true
sources:
description: The customer's payment sources, if any.
properties:
data:
description: Details about each object.
items:
anyOf:
- $ref: '#/components/schemas/bank_account'
- $ref: '#/components/schemas/card'
- $ref: '#/components/schemas/source'
title: Polymorphic
x-stripeBypassValidation: true
type: array
has_more:
description: True if this list has another page of items after this one that can be fetched.
type: boolean
object:
description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
enum:
- list
type: string
url:
description: The URL where this list can be accessed.
maxLength: 5000
type: string
required:
- data
- has_more
- object
- url
title: ApmsSourcesSourceList
type: object
x-expandableFields:
- data
subscriptions:
description: The customer's current subscriptions, if any.
properties:
data:
description: Details about each object.
items:
$ref: '#/components/schemas/subscription'
type: array
has_more:
description: True if this list has another page of items after this one that can be fetched.
type: boolean
object:
description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
enum:
- list
type: string
url:
description: The URL where this list can be accessed.
maxLength: 5000
type: string
required:
- data
- has_more
- object
- url
title: SubscriptionList
type: object
x-expandableFields:
- data
tax:
$ref: '#/components/schemas/customer_tax'
tax_exempt:
description: 'Describes the customer''s tax exemption status, which is `none`, `exempt`, or `reverse`. When set to `reverse`, invoice and receipt PDFs include the following text: **"Reverse charge"**.'
enum:
- exempt
- none
- reverse
nullable: true
type: string
tax_ids:
description: The customer's tax IDs.
properties:
data:
description: Details about each object.
items:
$ref: '#/components/schemas/tax_id'
type: array
has_more:
description: True if this list has another page of items after this one that can be fetched.
type: boolean
object:
description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
enum:
- list
type: string
url:
description: The URL where this list can be accessed.
maxLength: 5000
type: string
required:
- data
- has_more
- object
- url
title: TaxIDsList
type: object
x-expandableFields:
- data
test_clock:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/test_helpers.test_clock'
description: ID of the test clock that this customer belongs to.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/test_helpers.test_clock'
required:
- created
- id
- livemode
- object
title: Customer
type: object
x-expandableFields:
- address
- cash_balance
- default_source
- discount
- invoice_settings
- shipping
- sources
- subscriptions
- tax
- tax_ids
- test_clock
x-resourceId: customer
DeleteCustomersCustomerTaxIdsIdRequest:
type: object
properties: {}
deleted_discount:
description: ''
properties:
checkout_session:
description: The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Will not be present for subscription mode.
maxLength: 5000
nullable: true
type: string
coupon:
$ref: '#/components/schemas/coupon'
customer:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/customer'
- $ref: '#/components/schemas/deleted_customer'
description: The ID of the customer associated with this discount.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/customer'
- $ref: '#/components/schemas/deleted_customer'
deleted:
description: Always true for a deleted object
enum:
- true
type: boolean
id:
description: The ID of the discount object. Discounts cannot be fetched by ID. Use `expand[]=discounts` in API calls to expand discount IDs in an array.
maxLength: 5000
type: string
invoice:
description: The invoice that the discount's coupon was applied to, if it was applied directly to a particular invoice.
maxLength: 5000
nullable: true
type: string
invoice_item:
description: The invoice item `id` (or invoice line item `id` for invoice line items of type='subscription') that the discount's coupon was applied to, if it was applied directly to a particular invoice item or invoice line item.
maxLength: 5000
nullable: true
type: string
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- discount
type: string
promotion_code:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/promotion_code'
description: The promotion code applied to create this discount.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/promotion_code'
start:
description: Date that the coupon was applied.
format: unix-time
type: integer
subscription:
description: The subscription that this coupon is applied to, if it is applied to a particular subscription.
maxLength: 5000
nullable: true
type: string
required:
- coupon
- deleted
- id
- object
- start
title: DeletedDiscount
type: object
x-expandableFields:
- coupon
- customer
- promotion_code
x-resourceId: deleted_discount
GetCustomersCustomerSubscriptionsSubscriptionExposedIdDiscountRequest:
type: object
properties: {}
DeleteCustomersCustomerCardsIdRequest:
type: object
properties:
expand:
description: Specifies which fields in the response should be expanded.
items:
maxLength: 5000
type: string
type: array
PostCustomersCustomerBankAccountsIdVerifyRequest:
type: object
properties:
amounts:
description: Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account.
items:
type: integer
type: array
expand:
description: Specifies which fields in the response should be expanded.
items:
maxLength: 5000
type: string
type: array
credit_note:
description: 'Issue a credit note to adjust an invoice''s amount after the invoice is finalized.
Related guide: [Credit notes](https://stripe.com/docs/billing/invoices/credit-notes)'
properties:
amount:
description: The integer amount in cents (or local equivalent) representing the total amount of the credit note, including tax.
type: integer
amount_shipping:
description: This is the sum of all the shipping amounts.
type: integer
created:
description: Time at which the object was created. Measured in seconds since the Unix epoch.
format: unix-time
type: integer
currency:
description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
type: string
customer:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/customer'
- $ref: '#/components/schemas/deleted_customer'
description: ID of the customer.
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/customer'
- $ref: '#/components/schemas/deleted_customer'
customer_balance_transaction:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/customer_balance_transaction'
description: Customer balance transaction related to this credit note.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/customer_balance_transaction'
discount_amount:
description: The integer amount in cents (or local equivalent) representing the total amount of discount that was credited.
type: integer
discount_amounts:
description: The aggregate amounts calculated per discount for all line items.
items:
$ref: '#/components/schemas/discounts_resource_discount_amount'
type: array
effective_at:
description: The date when this credit note is in effect. Same as `created` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF.
format: unix-time
nullable: true
type: integer
id:
description: Unique identifier for the object.
maxLength: 5000
type: string
invoice:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/invoice'
description: ID of the invoice.
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/invoice'
lines:
description: Line items that make up the credit note
properties:
data:
description: Details about each object.
items:
$ref: '#/components/schemas/credit_note_line_item'
type: array
has_more:
description: True if this list has another page of items after this one that can be fetched.
type: boolean
object:
description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
enum:
- list
type: string
url:
description: The URL where this list can be accessed.
maxLength: 5000
type: string
required:
- data
- has_more
- object
- url
title: CreditNoteLinesList
type: object
x-expandableFields:
- data
livemode:
description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
type: boolean
memo:
description: Customer-facing text that appears on the credit note PDF.
maxLength: 5000
nullable: true
type: string
metadata:
additionalProperties:
maxLength: 500
type: string
description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
nullable: true
type: object
number:
description: A unique number that identifies this particular credit note and appears on the PDF of the credit note and its associated invoice.
maxLength: 5000
type: string
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- credit_note
type: string
out_of_band_amount:
description: Amount that was credited outside of Stripe.
nullable: true
type: integer
pdf:
description: The link to download the PDF of the credit note.
maxLength: 5000
type: string
reason:
description: Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`
enum:
- duplicate
- fraudulent
- order_change
- product_unsatisfactory
nullable: true
type: string
refund:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/refund'
description: Refund related to this credit note.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/refund'
shipping_cost:
anyOf:
- $ref: '#/components/schemas/invoices_shipping_cost'
description: The details of the cost of shipping, including the ShippingRate applied to the invoice.
nullable: true
status:
description: Status of this credit note, one of `issued` or `void`. Learn more about [voiding credit notes](https://stripe.com/docs/billing/invoices/credit-notes#voiding).
enum:
- issued
- void
type: string
subtotal:
description: The integer amount in cents (or local equivalent) representing the amount of the credit note, excluding exclusive tax and invoice level discounts.
type: integer
subtotal_excluding_tax:
description: The integer amount in cents (or local equivalent) representing the amount of the credit note, excluding all tax and invoice level discounts.
nullable: true
type: integer
tax_amounts:
description: The aggregate amounts calculated per tax rate for all line items.
items:
$ref: '#/components/schemas/credit_note_tax_amount'
type: array
total:
description: The integer amount in cents (or local equivalent) representing the total amount of the credit note, including tax and all discount.
type: integer
total_excluding_tax:
description: The integer amount in cents (or local equivalent) representing the total amount of the credit note, excluding tax, but including discounts.
nullable: true
type: integer
type:
description: Type of this credit note, one of `pre_payment` or `post_payment`. A `pre_payment` credit note means it was issued when the invoice was open. A `post_payment` credit note means it was issued when the invoice was paid.
enum:
- post_payment
- pre_payment
type: string
voided_at:
description: The time that the credit note was voided.
format: unix-time
nullable: true
type: integer
required:
- amount
- amount_shipping
- created
- currency
- customer
- discount_amount
- discount_amounts
- id
- invoice
- lines
- livemode
- number
- object
- pdf
- status
- subtotal
- tax_amounts
- total
- type
title: CreditNote
type: object
x-expandableFields:
- customer
- customer_balance_transaction
- discount_amounts
- invoice
- lines
- refund
- shipping_cost
- tax_amounts
x-resourceId: credit_note
PostCreditNotesIdVoidRequest:
type: object
properties:
expand:
description: Specifies which fields in the response should be expanded.
items:
maxLength: 5000
type: string
type: array
card:
description: '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 to those cards later.
Related guide: [Card payments with Sources](https://stripe.com/docs/sources/cards)'
properties:
account:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/account'
description: The account this card belongs to. This attribute will not be in the card object if the card belongs to a customer or recipient instead.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/account'
address_city:
description: City/District/Suburb/Town/Village.
maxLength: 5000
nullable: true
type: string
address_country:
description: Billing address country, if provided when creating card.
maxLength: 5000
nullable: true
type: string
address_line1:
description: Address line 1 (Street address/PO Box/Company name).
maxLength: 5000
nullable: true
type: string
address_line1_check:
description: 'If `address_line1` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`.'
maxLength: 5000
nullable: true
type: string
address_line2:
description: Address line 2 (Apartment/Suite/Unit/Building).
maxLength: 5000
nullable: true
type: string
address_state:
description: State/County/Province/Region.
maxLength: 5000
nullable: true
type: string
address_zip:
description: ZIP or postal code.
maxLength: 5000
nullable: true
type: string
address_zip_check:
description: 'If `address_zip` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`.'
maxLength: 5000
nullable: true
type: string
available_payout_methods:
description: A set of available payout methods for this card. Only values from this set should be passed as the `method` when creating a payout.
items:
enum:
- instant
- standard
type: string
nullable: true
type: array
brand:
description: Card brand. Can be `American Express`, `Diners Club`, `Discover`, `Eftpos Australia`, `JCB`, `MasterCard`, `UnionPay`, `Visa`, or `Unknown`.
maxLength: 5000
type: string
country:
description: Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.
maxLength: 5000
nullable: true
type: string
currency:
description: Three-letter [ISO code for currency](https://stripe.com/docs/payouts). Only applicable on accounts (not customers or recipients). The card can be used as a transfer destination for funds in this currency.
nullable: true
type: string
customer:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/customer'
- $ref: '#/components/schemas/deleted_customer'
description: The customer that this card belongs to. This attribute will not be in the card object if the card belongs to an account or recipient instead.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/customer'
- $ref: '#/components/schemas/deleted_customer'
cvc_check:
description: 'If a CVC was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`. A result of unchecked indicates that CVC was provided but hasn''t been checked yet. Checks are typically performed when attaching a card to a Customer object, or when creating a charge. For more details, see [Check if a card is valid without a charge](https://support.stripe.com/questions/check-if-a-card-is-valid-without-a-charge).'
maxLength: 5000
nullable: true
type: string
default_for_currency:
description: Whether this card is the default external account for its currency.
nullable: true
type: boolean
dynamic_last4:
description: (For tokenized numbers only.) The last four digits of the device account number.
maxLength: 5000
nullable: true
type: string
exp_month:
description: Two-digit number representing the card's expiration month.
type: integer
exp_year:
description: Four-digit number representing the card's expiration year.
type: integer
fingerprint:
description: 'Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.
*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same cardone for India and one for the rest of the world.*'
maxLength: 5000
nullable: true
type: string
funding:
description: Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.
maxLength: 5000
type: string
id:
description: Unique identifier for the object.
maxLength: 5000
type: string
last4:
description: The last four digits of the card.
maxLength: 5000
type: string
metadata:
additionalProperties:
maxLength: 500
type: string
description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
nullable: true
type: object
name:
description: Cardholder name.
maxLength: 5000
nullable: true
type: string
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- card
type: string
status:
description: For external accounts that are cards, possible values are `new` and `errored`. If a payout fails, the status is set to `errored` and [scheduled payouts](https://stripe.com/docs/payouts#payout-schedule) are stopped until account details are updated.
maxLength: 5000
nullable: true
type: string
tokenization_method:
description: If the card number is tokenized, this is the method that was used. Can be `android_pay` (includes Google Pay), `apple_pay`, `masterpass`, `visa_checkout`, or null.
maxLength: 5000
nullable: true
type: string
required:
- brand
- exp_month
- exp_year
- funding
- id
- last4
- object
title: Card
type: object
x-expandableFields:
- account
- customer
x-resourceId: card
cash_balance:
description: 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 and can eventually be paid out to your bank account.
properties:
available:
additionalProperties:
type: integer
description: A hash of all cash balances available to this customer. You cannot delete a customer with any cash balances, even if the balance is 0. Amounts are represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
nullable: true
type: object
customer:
description: The ID of the customer whose cash balance this object represents.
maxLength: 5000
type: string
livemode:
description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
type: boolean
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- cash_balance
type: string
settings:
$ref: '#/components/schemas/customer_balance_customer_balance_settings'
required:
- customer
- livemode
- object
- settings
title: cash_balance
type: object
x-expandableFields:
- settings
x-resourceId: cash_balance
invoiceitem:
description: 'Invoice Items represent the component lines of an [invoice](https://stripe.com/docs/api/invoices). An invoice item is added to an
invoice by creating or updating it with an `invoice` field, at which point it will be included as
[an invoice line item](https://stripe.com/docs/api/invoices/line_item) within
[invoice.lines](https://stripe.com/docs/api/invoices/object#invoice_object-lines).
Invoice Items can be created before you are ready to actually send the invoice. This can be particularly useful when combined
with a [subscription](https://stripe.com/docs/api/subscriptions). Sometimes you want to add a charge or credit to a customer, but actually charge
or credit the customer’s card only at the end of a regular billing cycle. This is useful for combining several charges
(to minimize per-transaction fees), or for having Stripe tabulate your usage-based billing totals.
Related guides: [Integrate with the Invoicing API](https://stripe.com/docs/invoicing/integration), [Subscription Invoices](https://stripe.com/docs/billing/invoices/subscription#adding-upcoming-invoice-items).'
properties:
amount:
description: Amount (in the `currency` specified) of the invoice item. This should always be equal to `unit_amount * quantity`.
type: integer
currency:
description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
type: string
customer:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/customer'
- $ref: '#/components/schemas/deleted_customer'
description: The ID of the customer who will be billed when this invoice item is billed.
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/customer'
- $ref: '#/components/schemas/deleted_customer'
date:
description: Time at which the object was created. Measured in seconds since the Unix epoch.
format: unix-time
type: integer
description:
description: An arbitrary string attached to the object. Often useful for displaying to users.
maxLength: 5000
nullable: true
type: string
discountable:
description: If true, discounts will apply to this invoice item. Always false for prorations.
type: boolean
discounts:
description: The discounts which apply to the invoice item. Item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount.
items:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/discount'
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/discount'
nullable: true
type: array
id:
description: Unique identifier for the object.
maxLength: 5000
type: string
invoice:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/invoice'
description: The ID of the invoice this invoice item belongs to.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/invoice'
livemode:
description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
type: boolean
metadata:
additionalProperties:
maxLength: 500
type: string
description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
nullable: true
type: object
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- invoiceitem
type: string
period:
$ref: '#/components/schemas/invoice_line_item_period'
price:
anyOf:
- $ref: '#/components/schemas/price'
description: The price of the invoice item.
nullable: true
proration:
description: Whether the invoice item was created automatically as a proration adjustment when the customer switched plans.
type: boolean
quantity:
description: Quantity of units for the invoice item. If the invoice item is a proration, the quantity of the subscription that the proration was computed for.
type: integer
subscription:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/subscription'
description: The subscription that this invoice item has been created for, if any.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/subscription'
subscription_item:
description: The subscription item that this invoice item has been created for, if any.
maxLength: 5000
type: string
tax_rates:
description: The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item.
items:
$ref: '#/components/schemas/tax_rate'
nullable: true
type: array
test_clock:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/test_helpers.test_clock'
description: ID of the test clock this invoice item belongs to.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/test_helpers.test_clock'
unit_amount:
description: Unit amount (in the `currency` specified) of the invoice item.
nullable: true
type: integer
unit_amount_decimal:
description: Same as `unit_amount`, but contains a decimal value with at most 12 decimal places.
format: decimal
nullable: true
type: string
required:
- amount
- currency
- customer
- date
- discountable
- id
- livemode
- object
- period
- proration
- quantity
title: InvoiceItem
type: object
x-expandableFields:
- customer
- discounts
- invoice
- period
- price
- subscription
- tax_rates
- test_clock
x-resourceId: invoiceitem
PostCustomersCustomerBankAccountsIdRequest:
type: object
properties:
account_holder_name:
description: The name of the person or business that owns the bank account.
maxLength: 5000
type: string
account_holder_type:
description: The type of entity that holds the account. This can be either `individual` or `company`.
enum:
- company
- individual
maxLength: 5000
type: string
address_city:
description: City/District/Suburb/Town/Village.
maxLength: 5000
type: string
address_country:
description: Billing address country, if provided when creating card.
maxLength: 5000
type: string
address_line1:
description: Address line 1 (Street address/PO Box/Company name).
maxLength: 5000
type: string
address_line2:
description: Address line 2 (Apartment/Suite/Unit/Building).
maxLength: 5000
type: string
address_state:
description: State/County/Province/Region.
maxLength: 5000
type: string
address_zip:
description: ZIP or postal code.
maxLength: 5000
type: string
exp_month:
description: Two digit number representing the card’s expiration month.
maxLength: 5000
type: string
exp_year:
description: Four digit number representing the card’s expiration year.
maxLength: 5000
type: string
expand:
description: Specifies which fields in the response should be expanded.
items:
maxLength: 5000
type: string
type: array
metadata:
anyOf:
- additionalProperties:
type: string
type: object
- enum:
- ''
type: string
description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
name:
description: Cardholder name.
maxLength: 5000
type: string
owner:
properties:
address:
properties:
city:
maxLength: 5000
type: string
country:
maxLength: 5000
type: string
line1:
maxLength: 5000
type: string
line2:
maxLength: 5000
type: string
postal_code:
maxLength: 5000
type: string
state:
maxLength: 5000
type: string
title: source_address
type: object
email:
type: string
name:
maxLength: 5000
type: string
phone:
maxLength: 5000
type: string
title: owner
type: object
deleted_tax_id:
description: ''
properties:
deleted:
description: Always true for a deleted object
enum:
- true
type: boolean
id:
description: Unique identifier for the object.
maxLength: 5000
type: string
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- tax_id
type: string
required:
- deleted
- id
- object
title: deleted_tax_id
type: object
x-expandableFields: []
x-resourceId: deleted_tax_id
GetCustomersCustomerCardsIdRequest:
type: object
properties: {}
subscription:
description: 'Subscriptions allow you to charge a customer on a recurring basis.
Related guide: [Creating subscriptions](https://stripe.com/docs/billing/subscriptions/creating)'
properties:
application:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/application'
- $ref: '#/components/schemas/deleted_application'
description: ID of the Connect Application that created the subscription.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/application'
- $ref: '#/components/schemas/deleted_application'
application_fee_percent:
description: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account.
nullable: true
type: number
automatic_tax:
$ref: '#/components/schemas/subscription_automatic_tax'
billing_cycle_anchor:
description: Determines the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. The timestamp is in UTC format.
format: unix-time
type: integer
billing_thresholds:
anyOf:
- $ref: '#/components/schemas/subscription_billing_thresholds'
description: Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period
nullable: true
cancel_at:
description: A date in the future at which the subscription will automatically get canceled
format: unix-time
nullable: true
type: integer
cancel_at_period_end:
description: If the subscription has been canceled with the `at_period_end` flag set to `true`, `cancel_at_period_end` on the subscription will be true. You can use this attribute to determine whether a subscription that has a status of active is scheduled to be canceled at the end of the current period.
type: boolean
canceled_at:
description: If the subscription has been canceled, the date of that cancellation. If the subscription was canceled with `cancel_at_period_end`, `canceled_at` will reflect the time of the most recent update request, not the end of the subscription period when the subscription is automatically moved to a canceled state.
format: unix-time
nullable: true
type: integer
cancellation_details:
anyOf:
- $ref: '#/components/schemas/cancellation_details'
description: Details about why this subscription was cancelled
nullable: true
collection_method:
description: Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`.
enum:
- charge_automatically
- send_invoice
type: string
created:
description: Time at which the object was created. Measured in seconds since the Unix epoch.
format: unix-time
type: integer
currency:
description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
type: string
current_period_end:
description: End of the current period that the subscription has been invoiced for. At the end of this period, a new invoice will be created.
format: unix-time
type: integer
current_period_start:
description: Start of the current period that the subscription has been invoiced for.
format: unix-time
type: integer
customer:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/customer'
- $ref: '#/components/schemas/deleted_customer'
description: ID of the customer who owns the subscription.
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/customer'
- $ref: '#/components/schemas/deleted_customer'
days_until_due:
description: Number of days a customer has to pay invoices generated by this subscription. This value will be `null` for subscriptions where `collection_method=charge_automatically`.
nullable: true
type: integer
default_payment_method:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/payment_method'
description: ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/payment_method'
default_source:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/bank_account'
- $ref: '#/components/schemas/card'
- $ref: '#/components/schemas/source'
description: ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/bank_account'
- $ref: '#/components/schemas/card'
- $ref: '#/components/schemas/source'
x-stripeBypassValidation: true
default_tax_rates:
description: The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription.
items:
$ref: '#/components/schemas/tax_rate'
nullable: true
type: array
description:
description: The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs.
maxLength: 500
nullable: true
type: string
discount:
anyOf:
- $ref: '#/components/schemas/discount'
description: Describes the current discount applied to this subscription, if there is one. When billing, a discount applied to a subscription overrides a discount applied on a customer-wide basis.
nullable: true
ended_at:
description: If the subscription has ended, the date the subscription ended.
format: unix-time
nullable: true
type: integer
id:
description: Unique identifier for the object.
maxLength: 5000
type: string
items:
description: List of subscription items, each with an attached price.
properties:
data:
description: Details about each object.
items:
$ref: '#/components/schemas/subscription_item'
type: array
has_more:
description: True if this list has another page of items after this one that can be fetched.
type: boolean
object:
description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
enum:
- list
type: string
url:
description: The URL where this list can be accessed.
maxLength: 5000
type: string
required:
- data
- has_more
- object
- url
title: SubscriptionItemList
type: object
x-expandableFields:
- data
latest_invoice:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/invoice'
description: The most recent invoice this subscription has generated.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/invoice'
livemode:
description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
type: boolean
metadata:
additionalProperties:
maxLength: 500
type: string
description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
type: object
next_pending_invoice_item_invoice:
description: Specifies the approximate timestamp on which any pending invoice items will be billed according to the schedule provided at `pending_invoice_item_interval`.
format: unix-time
nullable: true
type: integer
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- subscription
type: string
on_behalf_of:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/account'
description: The account (if any) the charge was made on behalf of for charges associated with this subscription. See the Connect documentation for details.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/account'
pause_collection:
anyOf:
- $ref: '#/components/schemas/subscriptions_resource_pause_collection'
description: If specified, payment collection for this subscription will be paused.
nullable: true
payment_settings:
anyOf:
- $ref: '#/components/schemas/subscriptions_resource_payment_settings'
description: Payment settings passed on to invoices created by the subscription.
nullable: true
pending_invoice_item_interval:
anyOf:
- $ref: '#/components/schemas/subscription_pending_invoice_item_interval'
description: Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval.
nullable: true
pending_setup_intent:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/setup_intent'
description: You can use this [SetupIntent](https://stripe.com/docs/api/setup_intents) to collect user authentication when creating a subscription without immediate payment or updating a subscription's payment method, allowing you to optimize for off-session payments. Learn more in the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication#scenario-2).
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/setup_intent'
pending_update:
anyOf:
- $ref: '#/components/schemas/subscriptions_resource_pending_update'
description: If specified, [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates) that will be applied to the subscription once the `latest_invoice` has been paid.
nullable: true
schedule:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/subscription_schedule'
description: The schedule attached to the subscription
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/subscription_schedule'
start_date:
description: Date when the subscription was first created. The date might differ from the `created` date due to backdating.
format: unix-time
type: integer
status:
description: "Possible values are `incomplete`, `incomplete_expired`, `trialing`, `active`, `past_due`, `canceled`, or `unpaid`. \n\nFor `collection_method=charge_automatically` a subscription moves into `incomplete` if the initial payment attempt fails. A subscription in this state can only have metadata and default_source updated. Once the first invoice is paid, the subscription moves into an `active` state. If the first invoice is not paid within 23 hours, the subscription transitions to `incomplete_expired`. This is a terminal state, the open invoice will be voided and no further invoices will be generated. \n\nA subscription that is currently in a trial period is `trialing` and moves to `active` when the trial period is over. \n\nIf subscription `collection_method=charge_automatically`, it becomes `past_due` when payment is required but cannot be paid (due to failed payment or awaiting additional user actions). Once Stripe has exhausted all payment retry attempts, the subscription will become `canceled` or `unpaid` (depending on your subscriptions settings). \n\nIf subscription `collection_method=send_invoice` it becomes `past_due` when its invoice is not paid by the due date, and `canceled` or `unpaid` if it is still not paid by an additional deadline after that. Note that when a subscription has a status of `unpaid`, no subsequent invoices will be attempted (invoices will be created, but then immediately automatically closed). After receiving updated payment information from a customer, you may choose to reopen and pay their closed invoices."
enum:
- active
- canceled
- incomplete
- incomplete_expired
- past_due
- paused
- trialing
- unpaid
type: string
test_clock:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/test_helpers.test_clock'
description: ID of the test clock this subscription belongs to.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/test_helpers.test_clock'
transfer_data:
anyOf:
- $ref: '#/components/schemas/subscription_transfer_data'
description: The account (if any) the subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices.
nullable: true
trial_end:
description: If the subscription has a trial, the end of that trial.
format: unix-time
nullable: true
type: integer
trial_settings:
anyOf:
- $ref: '#/components/schemas/subscriptions_trials_resource_trial_settings'
description: Settings related to subscription trials.
nullable: true
trial_start:
description: If the subscription has a trial, the beginning of that trial.
format: unix-time
nullable: true
type: integer
required:
- automatic_tax
- billing_cycle_anchor
- cancel_at_period_end
- collection_method
- created
- currency
- current_period_end
- current_period_start
- customer
- id
- items
- livemode
- metadata
- object
- start_date
- status
title: Subscription
type: object
x-expandableFields:
- application
- automatic_tax
- billing_thresholds
- cancellation_details
- customer
- default_payment_method
- default_source
- default_tax_rates
- discount
- items
- latest_invoice
- on_behalf_of
- pause_collection
- payment_settings
- pending_invoice_item_interval
- pending_setup_intent
- pending_update
- schedule
- test_clock
- transfer_data
- trial_settings
x-resourceId: subscription
bank_account:
description: 'These bank accounts are payment methods on `Customer` objects.
On the other hand [External Accounts](https://stripe.com/docs/api#external_accounts) are transfer
destinations on `Account` objects for [Custom accounts](https://stripe.com/docs/connect/custom-accounts).
They can be bank accounts or debit cards as well, and are documented in the links above.
Related guide: [Bank debits and transfers](https://stripe.com/docs/payments/bank-debits-transfers)'
properties:
account:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/account'
description: The ID of the account that the bank account is associated with.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/account'
account_holder_name:
description: The name of the person or business that owns the bank account.
maxLength: 5000
nullable: true
type: string
account_holder_type:
description: The type of entity that holds the account. This can be either `individual` or `company`.
maxLength: 5000
nullable: true
type: string
account_type:
description: The bank account type. This can only be `checking` or `savings` in most countries. In Japan, this can only be `futsu` or `toza`.
maxLength: 5000
nullable: true
type: string
available_payout_methods:
description: A set of available payout methods for this bank account. Only values from this set should be passed as the `method` when creating a payout.
items:
enum:
- instant
- standard
type: string
nullable: true
type: array
bank_name:
description: Name of the bank associated with the routing number (e.g., `WELLS FARGO`).
maxLength: 5000
nullable: true
type: string
country:
description: Two-letter ISO code representing the country the bank account is located in.
maxLength: 5000
type: string
currency:
description: Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account.
type: string
customer:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/customer'
- $ref: '#/components/schemas/deleted_customer'
description: The ID of the customer that the bank account is associated with.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/customer'
- $ref: '#/components/schemas/deleted_customer'
default_for_currency:
description: Whether this bank account is the default external account for its currency.
nullable: true
type: boolean
fingerprint:
description: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
maxLength: 5000
nullable: true
type: string
future_requirements:
anyOf:
- $ref: '#/components/schemas/external_account_requirements'
description: Information about the [upcoming new requirements for the bank account](https://stripe.com/docs/connect/custom-accounts/future-requirements), including what information needs to be collected, and by when.
nullable: true
id:
description: Unique identifier for the object.
maxLength: 5000
type: string
last4:
description: The last four digits of the bank account number.
maxLength: 5000
type: string
metadata:
additionalProperties:
maxLength: 500
type: string
description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
nullable: true
type: object
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- bank_account
type: string
requirements:
anyOf:
- $ref: '#/components/schemas/external_account_requirements'
description: Information about the requirements for the bank account, including what information needs to be collected.
nullable: true
routing_number:
description: The routing transit number for the bank account.
maxLength: 5000
nullable: true
type: string
status:
description: 'For bank accounts, possible values are `new`, `validated`, `verified`, `verification_failed`, or `errored`. A bank account that hasn''t had any activity or validation performed is `new`. If Stripe can determine that the bank account exists, its status will be `validated`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be `verified`. If the verification failed for any reason, such as microdeposit failure, the status will be `verification_failed`. If a payout sent to this bank account fails, we''ll set the status to `errored` and will not continue to send [scheduled payouts](https://stripe.com/docs/payouts#payout-schedule) until the bank details are updated.
For external accounts, possible values are `new`, `errored` and `verification_failed`. If a payouts fails, the status is set to `errored` and scheduled payouts are stopped until account details are updated. In India, if we can''t [verify the owner of the bank account](https://support.stripe.com/questions/bank-account-ownership-verification), we''ll set the status to `verification_failed`. Other validations aren''t run against external accounts because they''re only used for payouts. This means the other statuses don''t apply.'
maxLength: 5000
type: string
required:
- country
- currency
- id
- last4
- object
- status
title: BankAccount
type: object
x-expandableFields:
- account
- customer
- future_requirements
- requirements
x-resourceId: bank_account
error:
description: An error response from the Stripe API
properties:
error:
$ref: '#/components/schemas/api_errors'
required:
- error
type: object
discount:
description: 'A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes).
It contains information about when the discount began, when it will end, and what it is applied to.
Related guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)'
properties:
checkout_session:
description: The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Will not be present for subscription mode.
maxLength: 5000
nullable: true
type: string
coupon:
$ref: '#/components/schemas/coupon'
customer:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/customer'
- $ref: '#/components/schemas/deleted_customer'
description: The ID of the customer associated with this discount.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/customer'
- $ref: '#/components/schemas/deleted_customer'
end:
description: If the coupon has a duration of `repeating`, the date that this discount will end. If the coupon has a duration of `once` or `forever`, this attribute will be null.
format: unix-time
nullable: true
type: integer
id:
description: The ID of the discount object. Discounts cannot be fetched by ID. Use `expand[]=discounts` in API calls to expand discount IDs in an array.
maxLength: 5000
type: string
invoice:
description: The invoice that the discount's coupon was applied to, if it was applied directly to a particular invoice.
maxLength: 5000
nullable: true
type: string
invoice_item:
description: The invoice item `id` (or invoice line item `id` for invoice line items of type='subscription') that the discount's coupon was applied to, if it was applied directly to a particular invoice item or invoice line item.
maxLength: 5000
nullable: true
type: string
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- discount
type: string
promotion_code:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/promotion_code'
description: The promotion code applied to create this discount.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/promotion_code'
start:
description: Date that the coupon was applied.
format: unix-time
type: integer
subscription:
description: The subscription that this coupon is applied to, if it is applied to a particular subscription.
maxLength: 5000
nullable: true
type: string
required:
- coupon
- id
- object
- start
title: Discount
type: object
x-expandableFields:
- coupon
- customer
- promotion_code
x-resourceId: discount
invoice:
description: 'Invoices are statements of amounts owed by a customer, and are either
generated one-off, or generated periodically from a subscription.
They contain [invoice items](https://stripe.com/docs/api#Invoice Items), and proration adjustments
that may be caused by subscription upgrades/downgrades (if necessary).
If your invoice is configured to be billed through automatic charges,
Stripe automatically finalizes your invoice and attempts payment. Note
that finalizing the invoice,
[when automatic](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection), does
not happen immediately as the invoice is created. Stripe waits
until one hour after the last webhook was successfully sent (or the last
webhook timed out after failing). If you (and the platforms you may have
connected to) have no webhooks configured, Stripe waits one hour after
creation to finalize the invoice.
If your invoice is configured to be billed by sending an email, then based on your
[email settings](https://dashboard.stripe.com/account/billing/automatic),
Stripe will email the invoice to your customer and await payment. These
emails can contain a link to a hosted page to pay the invoice.
Stripe applies any customer credit on the account before determining the
amount due for the invoice (i.e., the amount that will be actually
charged). If the amount due for the invoice is less than Stripe''s [minimum allowed charge
per currency](/docs/currencies#minimum-and-maximum-charge-amounts), the
invoice is automatically marked paid, and we add the amount due to the
customer''s credit balance which is applied to the next invoice.
More details on the customer''s credit balance are
[here](https://stripe.com/docs/billing/customer/balance).
Related guide: [Send invoices to customers](https://stripe.com/docs/billing/invoices/sending)'
properties:
account_country:
description: The country of the business associated with this invoice, most often the business creating the invoice.
maxLength: 5000
nullable: true
type: string
account_name:
description: The public name of the business associated with this invoice, most often the business creating the invoice.
maxLength: 5000
nullable: true
type: string
account_tax_ids:
description: The account tax IDs associated with the invoice. Only editable when the invoice is a draft.
items:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/tax_id'
- $ref: '#/components/schemas/deleted_tax_id'
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/tax_id'
- $ref: '#/components/schemas/deleted_tax_id'
nullable: true
type: array
amount_due:
description: Final amount due at this time for this invoice. If the invoice's total is smaller than the minimum charge amount, for example, or if there is account credit that can be applied to the invoice, the `amount_due` may be 0. If there is a positive `starting_balance` for the invoice (the customer owes money), the `amount_due` will also take that into account. The charge that gets generated for the invoice will be for the amount specified in `amount_due`.
type: integer
amount_paid:
description: The amount, in cents (or local equivalent), that was paid.
type: integer
amount_remaining:
description: The difference between amount_due and amount_paid, in cents (or local equivalent).
type: integer
amount_shipping:
description: This is the sum of all the shipping amounts.
type: integer
application:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/application'
- $ref: '#/components/schemas/deleted_application'
description: ID of the Connect Application that created the invoice.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/application'
- $ref: '#/components/schemas/deleted_application'
application_fee_amount:
description: The fee in cents (or local equivalent) that will be applied to the invoice and transferred to the application owner's Stripe account when the invoice is paid.
nullable: true
type: integer
attempt_count:
description: Number of payment attempts made for this invoice, from the perspective of the payment retry schedule. Any payment attempt counts as the first attempt, and subsequently only automatic retries increment the attempt count. In other words, manual payment attempts after the first attempt do not affect the retry schedule.
type: integer
attempted:
description: Whether an attempt has been made to pay the invoice. An invoice is not attempted until 1 hour after the `invoice.created` webhook, for example, so you might not want to display that invoice as unpaid to your users.
type: boolean
auto_advance:
description: Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action.
type: boolean
automatic_tax:
$ref: '#/components/schemas/automatic_tax'
billing_reason:
description: 'Indicates the reason why the invoice was created.
* `manual`: Unrelated to a subscription, for example, created via the invoice editor.
* `subscription`: No longer in use. Applies to subscriptions from before May 2018 where no distinction was made between updates, cycles, and thresholds.
* `subscription_create`: A new subscription was created.
* `subscription_cycle`: A subscription advanced into a new period.
* `subscription_threshold`: A subscription reached a billing threshold.
* `subscription_update`: A subscription was updated.
* `upcoming`: Reserved for simulated invoices, per the upcoming invoice endpoint.'
enum:
- automatic_pending_invoice_item_invoice
- manual
- quote_accept
- subscription
- subscription_create
- subscription_cycle
- subscription_threshold
- subscription_update
- upcoming
nullable: true
type: string
charge:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/charge'
description: ID of the latest charge generated for this invoice, if any.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/charge'
collection_method:
description: Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions.
enum:
- charge_automatically
- send_invoice
type: string
created:
description: Time at which the object was created. Measured in seconds since the Unix epoch.
format: unix-time
type: integer
currency:
description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
type: string
custom_fields:
description: Custom fields displayed on the invoice.
items:
$ref: '#/components/schemas/invoice_setting_custom_field'
nullable: true
type: array
customer:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/customer'
- $ref: '#/components/schemas/deleted_customer'
description: The ID of the customer who will be billed.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/customer'
- $ref: '#/components/schemas/deleted_customer'
customer_address:
anyOf:
- $ref: '#/components/schemas/address'
description: The customer's address. Until the invoice is finalized, this field will equal `customer.address`. Once the invoice is finalized, this field will no longer be updated.
nullable: true
customer_email:
description: The customer's email. Until the invoice is finalized, this field will equal `customer.email`. Once the invoice is finalized, this field will no longer be updated.
maxLength: 5000
nullable: true
type: string
customer_name:
description: The customer's name. Until the invoice is finalized, this field will equal `customer.name`. Once the invoice is finalized, this field will no longer be updated.
maxLength: 5000
nullable: true
type: string
customer_phone:
description: The customer's phone number. Until the invoice is finalized, this field will equal `customer.phone`. Once the invoice is finalized, this field will no longer be updated.
maxLength: 5000
nullable: true
type: string
customer_shipping:
anyOf:
- $ref: '#/components/schemas/shipping'
description: The customer's shipping information. Until the invoice is finalized, this field will equal `customer.shipping`. Once the invoice is finalized, this field will no longer be updated.
nullable: true
customer_tax_exempt:
description: The customer's tax exempt status. Until the invoice is finalized, this field will equal `customer.tax_exempt`. Once the invoice is finalized, this field will no longer be updated.
enum:
- exempt
- none
- reverse
nullable: true
type: string
customer_tax_ids:
description: The customer's tax IDs. Until the invoice is finalized, this field will contain the same tax IDs as `customer.tax_ids`. Once the invoice is finalized, this field will no longer be updated.
items:
$ref: '#/components/schemas/invoices_resource_invoice_tax_id'
nullable: true
type: array
default_payment_method:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/payment_method'
description: ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/payment_method'
default_source:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/bank_account'
- $ref: '#/components/schemas/card'
- $ref: '#/components/schemas/source'
description: ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/bank_account'
- $ref: '#/components/schemas/card'
- $ref: '#/components/schemas/source'
x-stripeBypassValidation: true
default_tax_rates:
description: The tax rates applied to this invoice, if any.
items:
$ref: '#/components/schemas/tax_rate'
type: array
description:
description: An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard.
maxLength: 5000
nullable: true
type: string
discount:
anyOf:
- $ref: '#/components/schemas/discount'
description: Describes the current discount applied to this invoice, if there is one. Not populated if there are multiple discounts.
nullable: true
discounts:
description: The discounts applied to the invoice. Line item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount.
items:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/discount'
- $ref: '#/components/schemas/deleted_discount'
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/discount'
- $ref: '#/components/schemas/deleted_discount'
nullable: true
type: array
due_date:
description: The date on which payment for this invoice is due. This value will be `null` for invoices where `collection_method=charge_automatically`.
format: unix-time
nullable: true
type: integer
effective_at:
description: The date when this invoice is in effect. Same as `finalized_at` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the invoice PDF and receipt.
format: unix-time
nullable: true
type: integer
ending_balance:
description: Ending customer balance after the invoice is finalized. Invoices are finalized approximately an hour after successful webhook delivery or when payment collection is attempted for the invoice. If the invoice has not been finalized yet, this will be null.
nullable: true
type: integer
footer:
description: Footer displayed on the invoice.
maxLength: 5000
nullable: true
type: string
from_invoice:
anyOf:
- $ref: '#/components/schemas/invoices_from_invoice'
description: Details of the invoice that was cloned. See the [revision documentation](https://stripe.com/docs/invoicing/invoice-revisions) for more details.
nullable: true
hosted_invoice_url:
description: The URL for the hosted invoice page, which allows customers to view and pay an invoice. If the invoice has not been finalized yet, this will be null.
maxLength: 5000
nullable: true
type: string
id:
description: Unique identifier for the object. This property is always present unless the invoice is an upcoming invoice. See [Retrieve an upcoming invoice](https://stripe.com/docs/api/invoices/upcoming) for more details.
maxLength: 5000
type: string
invoice_pdf:
description: The link to download the PDF for the invoice. If the invoice has not been finalized yet, this will be null.
maxLength: 5000
nullable: true
type: string
last_finalization_error:
anyOf:
- $ref: '#/components/schemas/api_errors'
description: The error encountered during the previous attempt to finalize the invoice. This field is cleared when the invoice is successfully finalized.
nullable: true
latest_revision:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/invoice'
description: The ID of the most recent non-draft revision of this invoice
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/invoice'
lines:
description: 'The individual line items that make up the invoice. `lines` is sorted as follows: (1) pending invoice items (including prorations) in reverse chronological order, (2) subscription items in reverse chronological order, and (3) invoice items added after invoice creation in chronological order.'
properties:
data:
description: Details about each object.
items:
$ref: '#/components/schemas/line_item'
type: array
has_more:
description: True if this list has another page of items after this one that can be fetched.
type: boolean
object:
description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
enum:
- list
type: string
url:
description: The URL where this list can be accessed.
maxLength: 5000
type: string
required:
- data
- has_more
- object
- url
title: InvoiceLinesList
type: object
x-expandableFields:
- data
livemode:
description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
type: boolean
metadata:
additionalProperties:
maxLength: 500
type: string
description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
nullable: true
type: object
next_payment_attempt:
description: The time at which payment will next be attempted. This value will be `null` for invoices where `collection_method=send_invoice`.
format: unix-time
nullable: true
type: integer
number:
description: A unique, identifying string that appears on emails sent to the customer for this invoice. This starts with the customer's unique invoice_prefix if it is specified.
maxLength: 5000
nullable: true
type: string
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- invoice
type: string
on_behalf_of:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/account'
description: The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/account'
paid:
description: Whether payment was successfully collected for this invoice. An invoice can be paid (most commonly) with a charge or with credit from the customer's account balance.
type: boolean
paid_out_of_band:
description: Returns true if the invoice was manually marked paid, returns false if the invoice hasn't been paid yet or was paid on Stripe.
type: boolean
payment_intent:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/payment_intent'
description: The PaymentIntent associated with this invoice. The PaymentIntent is generated when the invoice is finalized, and can then be used to pay the invoice. Note that voiding an invoice will cancel the PaymentIntent.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/payment_intent'
payment_settings:
$ref: '#/components/schemas/invoices_payment_settings'
period_end:
description: End of the usage period during which invoice items were added to this invoice.
format: unix-time
type: integer
period_start:
description: Start of the usage period during which invoice items were added to this invoice.
format: unix-time
type: integer
post_payment_credit_notes_amount:
description: Total amount of all post-payment credit notes issued for this invoice.
type: integer
pre_payment_credit_notes_amount:
description: Total amount of all pre-payment credit notes issued for this invoice.
type: integer
quote:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/quote'
description: The quote this invoice was generated from.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/quote'
receipt_number:
description: This is the transaction number that appears on email receipts sent for this invoice.
maxLength: 5000
nullable: true
type: string
rendering:
anyOf:
- $ref: '#/components/schemas/invoices_invoice_rendering'
description: The rendering-related settings that control how the invoice is displayed on customer-facing surfaces such as PDF and Hosted Invoice Page.
nullable: true
shipping_cost:
anyOf:
- $ref: '#/components/schemas/invoices_shipping_cost'
description: The details of the cost of shipping, including the ShippingRate applied on the invoice.
nullable: true
shipping_details:
anyOf:
- $ref: '#/components/schemas/shipping'
description: Shipping details for the invoice. The Invoice PDF will use the `shipping_details` value if it is set, otherwise the PDF will render the shipping address from the customer.
nullable: true
starting_balance:
description: Starting customer balance before the invoice is finalized. If the invoice has not been finalized yet, this will be the current customer balance. For revision invoices, this also includes any customer balance that was applied to the original invoice.
type: integer
statement_descriptor:
description: Extra information about an invoice for the customer's credit card statement.
maxLength: 5000
nullable: true
type: string
status:
description: The status of the invoice, one of `draft`, `open`, `paid`, `uncollectible`, or `void`. [Learn more](https://stripe.com/docs/billing/invoices/workflow#workflow-overview)
enum:
- draft
- open
- paid
- uncollectible
- void
nullable: true
type: string
x-stripeBypassValidation: true
status_transitions:
$ref: '#/components/schemas/invoices_status_transitions'
subscription:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/subscription'
description: The subscription that this invoice was prepared for, if any.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/subscription'
subscription_details:
anyOf:
- $ref: '#/components/schemas/subscription_details_data'
description: Details about the subscription that created this invoice.
nullable: true
subscription_proration_date:
description: Only set for upcoming invoices that preview prorations. The time used to calculate prorations.
type: integer
subtotal:
description: Total of all subscriptions, invoice items, and prorations on the invoice before any invoice level discount or exclusive tax is applied. Item discounts are already incorporated
type: integer
subtotal_excluding_tax:
description: The integer amount in cents (or local equivalent) representing the subtotal of the invoice before any invoice level discount or tax is applied. Item discounts are already incorporated
nullable: true
type: integer
tax:
description: The amount of tax on this invoice. This is the sum of all the tax amounts on this invoice.
nullable: true
type: integer
test_clock:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/test_helpers.test_clock'
description: ID of the test clock this invoice belongs to.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/test_helpers.test_clock'
threshold_reason:
$ref: '#/components/schemas/invoice_threshold_reason'
total:
description: Total after discounts and taxes.
type: integer
total_discount_amounts:
description: The aggregate amounts calculated per discount across all line items.
items:
$ref: '#/components/schemas/discounts_resource_discount_amount'
nullable: true
type: array
total_excluding_tax:
description: The integer amount in cents (or local equivalent) representing the total amount of the invoice including all discounts but excluding all tax.
nullable: true
type: integer
total_tax_amounts:
description: The aggregate amounts calculated per tax rate for all line items.
items:
$ref: '#/components/schemas/invoice_tax_amount'
type: array
transfer_data:
anyOf:
- $ref: '#/components/schemas/invoice_transfer_data'
description: The account (if any) the payment will be attributed to for tax reporting, and where funds from the payment will be transferred to for the invoice.
nullable: true
webhooks_delivered_at:
description: Invoices are automatically paid or sent 1 hour after webhooks are delivered, or until all webhook delivery attempts have [been exhausted](https://stripe.com/docs/billing/webhooks#understand). This field tracks the time when webhooks for this invoice were successfully delivered. If the invoice had no webhooks to deliver, this will be set while the invoice is being created.
format: unix-time
nullable: true
type: integer
required:
- amount_due
- amount_paid
- amount_remaining
- amount_shipping
- attempt_count
- attempted
- automatic_tax
- collection_method
- created
- currency
- default_tax_rates
- lines
- livemode
- object
- paid
- paid_out_of_band
- payment_settings
- period_end
- period_start
- post_payment_credit_notes_amount
- pre_payment_credit_notes_amount
- starting_balance
- status_transitions
- subtotal
- total
- total_tax_amounts
title: Invoice
type: object
x-expandableFields:
- account_tax_ids
- application
- automatic_tax
- charge
- custom_fields
- customer
- customer_address
- customer_shipping
- customer_tax_ids
- default_payment_method
- default_source
- default_tax_rates
- discount
- discounts
- from_invoice
- last_finalization_error
- latest_revision
- lines
- on_behalf_of
- payment_intent
- payment_settings
- quote
- rendering
- shipping_cost
- shipping_details
- status_transitions
- subscription
- subscription_details
- test_clock
- threshold_reason
- total_discount_amounts
- total_tax_amounts
- transfer_data
x-resourceId: invoice
tax_id:
description: '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 invoices and credit notes.
Related guides: [Customer tax identification numbers](https://stripe.com/docs/billing/taxes/tax-ids), [Account tax IDs](https://stripe.com/docs/invoicing/connect#account-tax-ids)'
properties:
country:
description: Two-letter ISO code representing the country of the tax ID.
maxLength: 5000
nullable: true
type: string
created:
description: Time at which the object was created. Measured in seconds since the Unix epoch.
format: unix-time
type: integer
customer:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/customer'
description: ID of the customer.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/customer'
id:
description: Unique identifier for the object.
maxLength: 5000
type: string
livemode:
description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
type: boolean
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- tax_id
type: string
type:
description: Type of the tax ID, one of `ad_nrt`, `ae_trn`, `ar_cuit`, `au_abn`, `au_arn`, `bg_uic`, `bo_tin`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `hk_br`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kr_brn`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `no_vat`, `nz_gst`, `pe_ruc`, `ph_tin`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sv_nit`, `th_vat`, `tr_tin`, `tw_vat`, `ua_vat`, `us_ein`, `uy_ruc`, `ve_rif`, `vn_tin`, or `za_vat`. Note that some legacy tax IDs have type `unknown`
enum:
- ad_nrt
- ae_trn
- ar_cuit
- au_abn
- au_arn
- bg_uic
- bo_tin
- br_cnpj
- br_cpf
- ca_bn
- ca_gst_hst
- ca_pst_bc
- ca_pst_mb
- ca_pst_sk
- ca_qst
- ch_vat
- cl_tin
- cn_tin
- co_nit
- cr_tin
- do_rcn
- ec_ruc
- eg_tin
- es_cif
- eu_oss_vat
- eu_vat
- gb_vat
- ge_vat
- hk_br
- hu_tin
- id_npwp
- il_vat
- in_gst
- is_vat
- jp_cn
- jp_rn
- jp_trn
- ke_pin
- kr_brn
- li_uid
- mx_rfc
- my_frp
- my_itn
- my_sst
- no_vat
- nz_gst
- pe_ruc
- ph_tin
- ro_tin
- rs_pib
- ru_inn
- ru_kpp
- sa_vat
- sg_gst
- sg_uen
- si_tin
- sv_nit
- th_vat
- tr_tin
- tw_vat
- ua_vat
- unknown
- us_ein
- uy_ruc
- ve_rif
- vn_tin
- za_vat
type: string
value:
description: Value of the tax ID.
maxLength: 5000
type: string
verification:
anyOf:
- $ref: '#/components/schemas/tax_id_verification'
description: Tax ID verification information.
nullable: true
required:
- created
- id
- livemode
- object
- type
- value
title: tax_id
type: object
x-expandableFields:
- customer
- verification
x-resourceId: tax_id
DeleteCustomersCustomerSourcesIdRequest:
type: object
properties:
expand:
description: Specifies which fields in the response should be expanded.
items:
maxLength: 5000
type: string
type: array
payment_source:
anyOf:
- $ref: '#/components/schemas/account'
- $ref: '#/components/schemas/bank_account'
- $ref: '#/components/schemas/card'
- $ref: '#/components/schemas/source'
title: Polymorphic
x-resourceId: payment_source
x-stripeBypassValidation: true
event:
description: 'Events are our way of letting you know when something interesting happens in
your account. When an interesting event occurs, we create a new `Event`
object. For example, when a charge succeeds, we create a `charge.succeeded`
event, and when an invoice payment attempt fails, we create an
`invoice.payment_failed` event. Certain API requests might create multiple
events. For example, if you create a new subscription for a
customer, you receive both a `customer.subscription.created` event and a
`charge.succeeded` event.
Events occur when the state of another API resource changes. The event''s data
field embeds the resource''s state at the time of the change. For
example, a `charge.succeeded` event contains a charge, and an
`invoice.payment_failed` event contains an invoice.
As with other API resources, you can use endpoints to retrieve an
[individual event](https://stripe.com/docs/api#retrieve_event) or a [list of events](https://stripe.com/docs/api#list_events)
from the API. We also have a separate
[webhooks](http://en.wikipedia.org/wiki/Webhook) system for sending the
`Event` objects directly to an endpoint on your server. You can manage
webhooks in your
[account settings](https://dashboard.stripe.com/account/webhooks). Learn how
to [listen for events](https://stripe.com/docs/webhooks)
so that your integration can automatically trigger reactions.
When using [Connect](https://stripe.com/docs/connect), you can also receive event notifications
that occur in connected accounts. For these events, there''s an
additional `account` attribute in the received `Event` object.
We only guarantee access to events through the [Retrieve Event API](https://stripe.com/docs/api#retrieve_event)
for 30 days.'
properties:
account:
description: The connected account that originates the event.
maxLength: 5000
type: string
api_version:
description: The Stripe API version used to render `data`. This property is populated only for events on or after October 31, 2014.
maxLength: 5000
nullable: true
type: string
created:
description: Time at which the object was created. Measured in seconds since the Unix epoch.
format: unix-time
type: integer
data:
$ref: '#/components/schemas/notification_event_data'
id:
description: Unique identifier for the object.
maxLength: 5000
type: string
livemode:
description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
type: boolean
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- event
type: string
pending_webhooks:
description: Number of webhooks that haven't been successfully delivered (for example, to return a 20x response) to the URLs you specify.
type: integer
request:
anyOf:
- $ref: '#/components/schemas/notification_event_request'
description: Information on the API request that triggers the event.
nullable: true
type:
description: Description of the event (for example, `invoice.created` or `charge.refunded`).
maxLength: 5000
type: string
required:
- created
- data
- id
- livemode
- object
- pending_webhooks
- type
title: NotificationEvent
type: object
x-expandableFields:
- data
- request
x-resourceId: event
PostCustomersCustomerSubscriptionsSubscriptionExposedIdRequest:
type: object
properties:
add_invoice_items:
description: A list of prices and quantities that will generate invoice items appended to the next invoice for this subscription. You may pass up to 20 items.
items:
properties:
price:
maxLength: 5000
type: string
price_data:
properties:
currency:
type: string
product:
maxLength: 5000
type: string
tax_behavior:
enum:
- exclusive
- inclusive
- unspecified
type: string
unit_amount:
type: integer
unit_amount_decimal:
format: decimal
type: string
required:
- currency
- product
title: one_time_price_data_with_negative_amounts
type: object
quantity:
type: integer
tax_rates:
anyOf:
- items:
maxLength: 5000
type: string
type: array
- enum:
- ''
type: string
title: add_invoice_item_entry
type: object
type: array
application_fee_percent:
description: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions).
type: number
automatic_tax:
description: Automatic tax settings for this subscription. We recommend you only include this parameter when the existing value is being changed.
properties:
enabled:
type: boolean
required:
- enabled
title: automatic_tax_config
type: object
billing_cycle_anchor:
description: Either `now` or `unchanged`. Setting the value to `now` resets the subscription's billing cycle anchor to the current time. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle).
enum:
- now
- unchanged
maxLength: 5000
type: string
x-stripeBypassValidation: true
billing_thresholds:
anyOf:
- properties:
amount_gte:
type: integer
reset_billing_cycle_anchor:
type: boolean
title: billing_thresholds_param
type: object
- enum:
- ''
type: string
description: Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds.
cancel_at:
anyOf:
- format: unix-time
type: integer
- enum:
- ''
type: string
description: A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period.
cancel_at_period_end:
description: Boolean indicating whether this subscription should cancel at the end of the current period.
type: boolean
cancellation_details:
description: Details about why this subscription was cancelled
properties:
comment:
anyOf:
- maxLength: 5000
type: string
- enum:
- ''
type: string
feedback:
enum:
- ''
- customer_service
- low_quality
- missing_features
- other
- switched_service
- too_complex
- too_expensive
- unused
type: string
title: cancellation_details_param
type: object
collection_method:
description: Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`.
enum:
- charge_automatically
- send_invoice
type: string
coupon:
description: The ID of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription.
maxLength: 5000
type: string
days_until_due:
description: Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`.
type: integer
default_payment_method:
description: ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).
maxLength: 5000
type: string
default_source:
anyOf:
- maxLength: 5000
type: string
- enum:
- ''
type: string
description: ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).
default_tax_rates:
anyOf:
- items:
maxLength: 5000
type: string
type: array
- enum:
- ''
type: string
description: The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. Pass an empty string to remove previously-defined tax rates.
expand:
description: Specifies which fields in the response should be expanded.
items:
maxLength: 5000
type: string
type: array
items:
description: A list of up to 20 subscription items, each with an attached price.
items:
properties:
billing_thresholds:
anyOf:
- properties:
usage_gte:
type: integer
required:
- usage_gte
title: item_billing_thresholds_param
type: object
- enum:
- ''
type: string
clear_usage:
type: boolean
deleted:
type: boolean
id:
maxLength: 5000
type: string
metadata:
anyOf:
- additionalProperties:
type: string
type: object
- enum:
- ''
type: string
price:
maxLength: 5000
type: string
price_data:
properties:
currency:
type: string
product:
maxLength: 5000
type: string
recurring:
properties:
interval:
enum:
- day
- month
- week
- year
type: string
interval_count:
type: integer
required:
- interval
title: recurring_adhoc
type: object
tax_behavior:
enum:
- exclusive
- inclusive
- unspecified
type: string
unit_amount:
type: integer
unit_amount_decimal:
format: decimal
type: string
required:
- currency
- product
- recurring
title: recurring_price_data
type: object
quantity:
type: integer
tax_rates:
anyOf:
- items:
maxLength: 5000
type: string
type: array
- enum:
- ''
type: string
title: subscription_item_update_params
type: object
type: array
metadata:
anyOf:
- additionalProperties:
type: string
type: object
- enum:
- ''
type: string
description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
off_session:
description: Indicates if a customer is on or off-session while an invoice payment is attempted.
type: boolean
pause_collection:
anyOf:
- properties:
behavior:
enum:
- keep_as_draft
- mark_uncollectible
- void
type: string
resumes_at:
format: unix-time
type: integer
required:
- behavior
title: pause_collection_param
type: object
- enum:
- ''
type: string
description: If specified, payment collection for this subscription will be paused.
payment_behavior:
description: 'Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription''s invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior.
Use `default_incomplete` to transition the subscription to `status=past_due` when payment is required and await explicit confirmation of the invoice''s payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method.
Use `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes).
Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription''s invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more.'
enum:
- allow_incomplete
- default_incomplete
- error_if_incomplete
- pending_if_incomplete
type: string
payment_settings:
description: Payment settings to pass to invoices created by the subscription.
properties:
payment_method_options:
properties:
acss_debit:
anyOf:
- properties:
mandate_options:
properties:
transaction_type:
enum:
- business
- personal
type: string
title: mandate_options_param
type: object
verification_method:
enum:
- automatic
- instant
- microdeposits
type: string
x-stripeBypassValidation: true
title: invoice_payment_method_options_param
type: object
- enum:
- ''
type: string
bancontact:
anyOf:
- properties:
preferred_language:
enum:
- de
- en
- fr
- nl
type: string
title: invoice_payment_method_options_param
type: object
- enum:
- ''
type: string
card:
anyOf:
- properties:
mandate_options:
properties:
amount:
type: integer
amount_type:
enum:
- fixed
- maximum
type: string
description:
maxLength: 200
type: string
title: mandate_options_param
type: object
network:
enum:
- amex
- cartes_bancaires
- diners
- discover
- eftpos_au
- interac
- jcb
- mastercard
- unionpay
- unknown
- visa
maxLength: 5000
type: string
x-stripeBypassValidation: true
request_three_d_secure:
enum:
- any
- automatic
type: string
title: subscription_payment_method_options_param
type: object
- enum:
- ''
type: string
customer_balance:
anyOf:
- properties:
bank_transfer:
properties:
eu_bank_transfer:
properties:
country:
maxLength: 5000
type: string
required:
- country
title: eu_bank_transfer_param
type: object
type:
type: string
title: bank_transfer_param
type: object
funding_type:
type: string
title: invoice_payment_method_options_param
type: object
- enum:
- ''
type: string
konbini:
anyOf:
- properties: {}
title: invoice_payment_method_options_param
type: object
- enum:
- ''
type: string
us_bank_account:
anyOf:
- properties:
financial_connections:
properties:
permissions:
items:
enum:
- balances
- ownership
- payment_method
- transactions
maxLength: 5000
type: string
x-stripeBypassValidation: true
type: array
prefetch:
items:
enum:
- balances
- transactions
type: string
x-stripeBypassValidation: true
type: array
title: invoice_linked_account_options_param
type: object
verification_method:
enum:
- automatic
- instant
- microdeposits
type: string
x-stripeBypassValidation: true
title: invoice_payment_method_options_param
type: object
- enum:
- ''
type: string
title: payment_method_options
type: object
payment_method_types:
anyOf:
- items:
enum:
- ach_credit_transfer
- ach_debit
- acss_debit
- au_becs_debit
- bacs_debit
- bancontact
- boleto
- card
- cashapp
- customer_balance
- fpx
- giropay
- grabpay
- ideal
- konbini
- link
- paynow
- paypal
- promptpay
- sepa_debit
- sofort
- us_bank_account
- wechat_pay
type: string
x-stripeBypassValidation: true
type: array
- enum:
- ''
type: string
save_default_payment_method:
enum:
- 'off'
- on_subscription
type: string
title: payment_settings
type: object
pending_invoice_item_interval:
anyOf:
- properties:
interval:
enum:
- day
- month
- week
- year
type: string
interval_count:
type: integer
required:
- interval
title: pending_invoice_item_interval_params
type: object
- enum:
- ''
type: string
description: Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval.
promotion_code:
description: The promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription.
maxLength: 5000
type: string
proration_behavior:
description: Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`.
enum:
- always_invoice
- create_prorations
- none
type: string
proration_date:
description: If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply exactly the same proration that was previewed with [upcoming invoice](https://stripe.com/docs/api#upcoming_invoice) endpoint. It can also be used to implement custom proration logic, such as prorating by day instead of by second, by providing the time that you wish to use for proration calculations.
format: unix-time
type: integer
transfer_data:
anyOf:
- properties:
amount_percent:
type: number
destination:
type: string
required:
- destination
title: transfer_data_specs
type: object
- enum:
- ''
type: string
description: If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. This will be unset if you POST an empty value.
trial_end:
anyOf:
- enum:
- now
maxLength: 5000
type: string
- format: unix-time
type: integer
description: Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`.
trial_from_plan:
description: Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more.
type: boolean
trial_settings:
description: Settings related to subscription trials.
properties:
end_behavior:
properties:
missing_payment_method:
enum:
- cancel
- create_invoice
- pause
type: string
required:
- missing_payment_method
title: end_behavior
type: object
required:
- end_behavior
title: trial_settings_config
type: object
payment_method:
description: 'PaymentMethod objects represent your customer''s payment instruments.
You can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to
Customer objects to store instrument details for future payments.
Related guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios).'
properties:
acss_debit:
$ref: '#/components/schemas/payment_method_acss_debit'
affirm:
$ref: '#/components/schemas/payment_method_affirm'
afterpay_clearpay:
$ref: '#/components/schemas/payment_method_afterpay_clearpay'
alipay:
$ref: '#/components/schemas/payment_flows_private_payment_methods_alipay'
au_becs_debit:
$ref: '#/components/schemas/payment_method_au_becs_debit'
bacs_debit:
$ref: '#/components/schemas/payment_method_bacs_debit'
bancontact:
$ref: '#/components/schemas/payment_method_bancontact'
billing_details:
$ref: '#/components/schemas/billing_details'
blik:
$ref: '#/components/schemas/payment_method_blik'
boleto:
$ref: '#/components/schemas/payment_method_boleto'
card:
$ref: '#/components/schemas/payment_method_card'
card_present:
$ref: '#/components/schemas/payment_method_card_present'
cashapp:
$ref: '#/components/schemas/payment_method_cashapp'
created:
description: Time at which the object was created. Measured in seconds since the Unix epoch.
format: unix-time
type: integer
customer:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/customer'
description: The ID of the Customer to which this PaymentMethod is saved. This will not be set when the PaymentMethod has not been saved to a Customer.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/customer'
customer_balance:
$ref: '#/components/schemas/payment_method_customer_balance'
eps:
$ref: '#/components/schemas/payment_method_eps'
fpx:
$ref: '#/components/schemas/payment_method_fpx'
giropay:
$ref: '#/components/schemas/payment_method_giropay'
grabpay:
$ref: '#/components/schemas/payment_method_grabpay'
id:
description: Unique identifier for the object.
maxLength: 5000
type: string
ideal:
$ref: '#/components/schemas/payment_method_ideal'
interac_present:
$ref: '#/components/schemas/payment_method_interac_present'
klarna:
$ref: '#/components/schemas/payment_method_klarna'
konbini:
$ref: '#/components/schemas/payment_method_konbini'
link:
$ref: '#/components/schemas/payment_method_link'
livemode:
description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
type: boolean
metadata:
additionalProperties:
maxLength: 500
type: string
description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
nullable: true
type: object
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- payment_method
type: string
oxxo:
$ref: '#/components/schemas/payment_method_oxxo'
p24:
$ref: '#/components/schemas/payment_method_p24'
paynow:
$ref: '#/components/schemas/payment_method_paynow'
paypal:
$ref: '#/components/schemas/payment_method_paypal'
pix:
$ref: '#/components/schemas/payment_method_pix'
promptpay:
$ref: '#/components/schemas/payment_method_promptpay'
radar_options:
$ref: '#/components/schemas/radar_radar_options'
revolut_pay:
$ref: '#/components/schemas/payment_method_revolut_pay'
sepa_debit:
$ref: '#/components/schemas/payment_method_sepa_debit'
sofort:
$ref: '#/components/schemas/payment_method_sofort'
type:
description: The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type.
enum:
- acss_debit
- affirm
- afterpay_clearpay
- alipay
- au_becs_debit
- bacs_debit
- bancontact
- blik
- boleto
- card
- card_present
- cashapp
- customer_balance
- eps
- fpx
- giropay
- grabpay
- ideal
- interac_present
- klarna
- konbini
- link
- oxxo
- p24
- paynow
- paypal
- pix
- promptpay
- revolut_pay
- sepa_debit
- sofort
- us_bank_account
- wechat_pay
- zip
type: string
x-stripeBypassValidation: true
us_bank_account:
$ref: '#/components/schemas/payment_method_us_bank_account'
wechat_pay:
$ref: '#/components/schemas/payment_method_wechat_pay'
zip:
$ref: '#/components/schemas/payment_method_zip'
required:
- billing_details
- created
- id
- livemode
- object
- type
title: PaymentMethod
type: object
x-expandableFields:
- acss_debit
- affirm
- afterpay_clearpay
- alipay
- au_becs_debit
- bacs_debit
- bancontact
- billing_details
- blik
- boleto
- card
- card_present
- cashapp
- customer
- customer_balance
- eps
- fpx
- giropay
- grabpay
- ideal
- interac_present
- klarna
- konbini
- link
- oxxo
- p24
- paynow
- paypal
- pix
- promptpay
- radar_options
- revolut_pay
- sepa_debit
- sofort
- us_bank_account
- wechat_pay
- zip
x-resourceId: payment_method
PostCreditNotesIdRequest:
type: object
properties:
expand:
description: Specifies which fields in the response should be expanded.
items:
maxLength: 5000
type: string
type: array
memo:
description: Credit note memo.
maxLength: 5000
type: string
metadata:
additionalProperties:
type: string
description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
type: object