Financialconnections 7 endpoints

POST /v1/financial_connections/accounts/{account}/refresh

Refreshes the data associated with a Financial Connections Account.

operationId: PostFinancialConnectionsAccountsAccountRefresh

Parameters

Name In Required Type Description
account path required string

Request Body

required
application/x-www-form-urlencoded
Property Type Required
expand array optional
features array required

Responses

default

Error response.

200

Successful response.

POST /v1/financial_connections/accounts/{account}/refresh
POST /v1/financial_connections/accounts/{account}/subscribe

Subscribes to periodic refreshes of data associated with a Financial Connections Account. When the account status is active, data is typically refreshed once a day.

operationId: PostFinancialConnectionsAccountsAccountSubscribe

Parameters

Name In Required Type Description
account path required string

Request Body

required
application/x-www-form-urlencoded
Property Type Required
expand array optional
features array required

Responses

default

Error response.

200

Successful response.

POST /v1/financial_connections/accounts/{account}/subscribe
POST /v1/financial_connections/accounts/{account}/unsubscribe

Unsubscribes from periodic refreshes of data associated with a Financial Connections Account.

operationId: PostFinancialConnectionsAccountsAccountUnsubscribe

Parameters

Name In Required Type Description
account path required string

Request Body

required
application/x-www-form-urlencoded
Property Type Required
expand array optional
features array required

Responses

default

Error response.

200

Successful response.

POST /v1/financial_connections/accounts/{account}/unsubscribe
POST /v1/financial_connections/sessions

To launch the Financial Connections authorization flow, create a Session. The session’s client_secret can be used to launch the flow using Stripe.js.

operationId: PostFinancialConnectionsSessions

Request Body

required
application/x-www-form-urlencoded
Property Type Required
expand array optional
filters object optional
countries array optional
account_subcategories array optional
prefetch array optional
return_url string optional
permissions array required
account_holder object required
type string required
account string optional
customer string optional
customer_account string optional

Responses

default

Error response.

200

Successful response.

POST /v1/financial_connections/sessions
GET /v1/financial_connections/sessions/{session}

Retrieves the details of a Financial Connections Session

operationId: GetFinancialConnectionsSessionsSession

Parameters

Name In Required Type Description
expand query optional array

Specifies which fields in the response should be expanded.

session path required string

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

GET /v1/financial_connections/sessions/{session}
GET /v1/financial_connections/transactions

Returns a list of Financial Connections Transaction objects.

operationId: GetFinancialConnectionsTransactions

Parameters

Name In Required Type Description
account query required string

The ID of the Financial Connections Account whose transactions will be retrieved.

ending_before query optional string

A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

expand query optional array

Specifies which fields in the response should be expanded.

limit query optional integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after query optional string

A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

transacted_at query optional

A filter on the list based on the object transacted_at field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:

transaction_refresh query optional object

A filter on the list based on the object transaction_refresh field. The value can be a dictionary with the following options:

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

GET /v1/financial_connections/transactions
GET /v1/financial_connections/transactions/{transaction}

Retrieves the details of a Financial Connections Transaction

operationId: GetFinancialConnectionsTransactionsTransaction

Parameters

Name In Required Type Description
expand query optional array

Specifies which fields in the response should be expanded.

transaction path required string

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

GET /v1/financial_connections/transactions/{transaction}

Forwarding 3 endpoints

GET /v1/forwarding/requests

Lists all ForwardingRequest objects.

operationId: GetForwardingRequests

Parameters

Name In Required Type Description
created query optional object

Similar to other List endpoints, filters results based on created timestamp. You can pass gt, gte, lt, and lte timestamp values.

ending_before query optional string

A pagination cursor to fetch the previous page of the list. The value must be a ForwardingRequest ID.

expand query optional array

Specifies which fields in the response should be expanded.

limit query optional integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after query optional string

A pagination cursor to fetch the next page of the list. The value must be a ForwardingRequest ID.

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

GET /v1/forwarding/requests
POST /v1/forwarding/requests

Creates a ForwardingRequest object.

operationId: PostForwardingRequests

Request Body

required
application/x-www-form-urlencoded
Property Type Required
url string required
expand array optional
request object optional
body string optional
headers array optional
name string required
value string required
metadata object optional
replacements array required
payment_method string required

Responses

default

Error response.

200

Successful response.

POST /v1/forwarding/requests
GET /v1/forwarding/requests/{id}

Retrieves a ForwardingRequest object.

operationId: GetForwardingRequestsId

Parameters

Name In Required Type Description
expand query optional array

Specifies which fields in the response should be expanded.

id path required string

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

GET /v1/forwarding/requests/{id}

Identity 8 endpoints

GET /v1/identity/verification_reports

List all verification reports.

operationId: GetIdentityVerificationReports

Parameters

Name In Required Type Description
client_reference_id query optional string

A string to reference this user. This can be a customer ID, a session ID, or similar, and can be used to reconcile this verification with your internal systems.

created query optional

Only return VerificationReports that were created during the given date interval.

ending_before query optional string

A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

expand query optional array

Specifies which fields in the response should be expanded.

limit query optional integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after query optional string

A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

type query optional string

Only return VerificationReports of this type

verification_session query optional string

Only return VerificationReports created by this VerificationSession ID. It is allowed to provide a VerificationIntent ID.

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

GET /v1/identity/verification_reports
GET /v1/identity/verification_reports/{report}

Retrieves an existing VerificationReport

operationId: GetIdentityVerificationReportsReport

Parameters

Name In Required Type Description
expand query optional array

Specifies which fields in the response should be expanded.

report path required string

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

GET /v1/identity/verification_reports/{report}
GET /v1/identity/verification_sessions

Returns a list of VerificationSessions

operationId: GetIdentityVerificationSessions

Parameters

Name In Required Type Description
client_reference_id query optional string

A string to reference this user. This can be a customer ID, a session ID, or similar, and can be used to reconcile this verification with your internal systems.

created query optional

Only return VerificationSessions that were created during the given date interval.

ending_before query optional string

A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

expand query optional array

Specifies which fields in the response should be expanded.

limit query optional integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

related_customer query optional string

Customer ID

related_customer_account query optional string

The ID of the Account representing a customer.

starting_after query optional string

A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status query optional string

Only return VerificationSessions with this status. Learn more about the lifecycle of sessions.

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

GET /v1/identity/verification_sessions
POST /v1/identity/verification_sessions

Creates a VerificationSession object.

After the VerificationSession is created, display a verification modal using the session client_secret or send your users to the session’s url.

If your API key is in test mode, verification checks won’t actually process, though everything else will occur as if in live mode.

Related guide: Verify your users’ identity documents

operationId: PostIdentityVerificationSessions

Request Body

application/x-www-form-urlencoded
Property Type Required
type string optional
expand array optional
options object optional
document object optional
metadata object optional
return_url string optional
related_person object optional
person string required
account string required
provided_details object optional
email string optional
phone string optional
related_customer string optional
verification_flow string optional
client_reference_id string optional
related_customer_account string optional

Responses

default

Error response.

200

Successful response.

POST /v1/identity/verification_sessions
GET /v1/identity/verification_sessions/{session}

Retrieves the details of a VerificationSession that was previously created.

When the session status is requires_input, you can use this method to retrieve a valid client_secret or url to allow re-submission.

operationId: GetIdentityVerificationSessionsSession

Parameters

Name In Required Type Description
expand query optional array

Specifies which fields in the response should be expanded.

session path required string

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

GET /v1/identity/verification_sessions/{session}
POST /v1/identity/verification_sessions/{session}

Updates a VerificationSession object.

When the session status is requires_input, you can use this method to update the verification check and options.

operationId: PostIdentityVerificationSessionsSession

Parameters

Name In Required Type Description
session path required string

Request Body

application/x-www-form-urlencoded
Property Type Required
type string optional
expand array optional
options object optional
document object optional
metadata object optional
provided_details object optional
email string optional
phone string optional

Responses

default

Error response.

200

Successful response.

POST /v1/identity/verification_sessions/{session}
POST /v1/identity/verification_sessions/{session}/cancel

A VerificationSession object can be canceled when it is in requires_input status.

Once canceled, future submission attempts are disabled. This cannot be undone. Learn more.

operationId: PostIdentityVerificationSessionsSessionCancel

Parameters

Name In Required Type Description
session path required string

Request Body

application/x-www-form-urlencoded
Property Type Required
expand array optional

Responses

default

Error response.

200

Successful response.

POST /v1/identity/verification_sessions/{session}/cancel
POST /v1/identity/verification_sessions/{session}/redact

Redact a VerificationSession to remove all collected information from Stripe. This will redact the VerificationSession and all objects related to it, including VerificationReports, Events, request logs, etc.

A VerificationSession object can be redacted when it is in requires_input or verified status. Redacting a VerificationSession in requires_action state will automatically cancel it.

The redaction process may take up to four days. When the redaction process is in progress, the VerificationSession’s redaction.status field will be set to processing; when the process is finished, it will change to redacted and an identity.verification_session.redacted event will be emitted.

Redaction is irreversible. Redacted objects are still accessible in the Stripe API, but all the fields that contain personal data will be replaced by the string [redacted] or a similar placeholder. The metadata field will also be erased. Redacted objects cannot be updated or used for any purpose.

Learn more.

operationId: PostIdentityVerificationSessionsSessionRedact

Parameters

Name In Required Type Description
session path required string

Request Body

application/x-www-form-urlencoded
Property Type Required
expand array optional

Responses

default

Error response.

200

Successful response.

POST /v1/identity/verification_sessions/{session}/redact

Invoicepayments 2 endpoints

GET /v1/invoice_payments

When retrieving an invoice, there is an includable payments property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of payments.

operationId: GetInvoicePayments

Parameters

Name In Required Type Description
created query optional

Only return invoice payments that were created during the given date interval.

ending_before query optional string

A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

expand query optional array

Specifies which fields in the response should be expanded.

invoice query optional string

The identifier of the invoice whose payments to return.

limit query optional integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

payment query optional object

The payment details of the invoice payments to return.

starting_after query optional string

A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status query optional string

The status of the invoice payments to return.

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

GET /v1/invoice_payments
GET /v1/invoice_payments/{invoice_payment}

Retrieves the invoice payment with the given ID.

operationId: GetInvoicePaymentsInvoicePayment

Parameters

Name In Required Type Description
expand query optional array

Specifies which fields in the response should be expanded.

invoice_payment path required string

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

GET /v1/invoice_payments/{invoice_payment}

Invoicerenderingtemplates 4 endpoints

GET /v1/invoice_rendering_templates

List all templates, ordered by creation date, with the most recently created template appearing first.

operationId: GetInvoiceRenderingTemplates

Parameters

Name In Required Type Description
ending_before query optional string

A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

expand query optional array

Specifies which fields in the response should be expanded.

limit query optional integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after query optional string

A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status query optional string

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

GET /v1/invoice_rendering_templates
GET /v1/invoice_rendering_templates/{template}

Retrieves an invoice rendering template with the given ID. It by default returns the latest version of the template. Optionally, specify a version to see previous versions.

operationId: GetInvoiceRenderingTemplatesTemplate

Parameters

Name In Required Type Description
expand query optional array

Specifies which fields in the response should be expanded.

template path required string
version query optional integer

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

GET /v1/invoice_rendering_templates/{template}
POST /v1/invoice_rendering_templates/{template}/archive

Updates the status of an invoice rendering template to ‘archived’ so no new Stripe objects (customers, invoices, etc.) can reference it. The template can also no longer be updated. However, if the template is already set on a Stripe object, it will continue to be applied on invoices generated by it.

operationId: PostInvoiceRenderingTemplatesTemplateArchive

Parameters

Name In Required Type Description
template path required string

Request Body

application/x-www-form-urlencoded
Property Type Required
expand array optional

Responses

default

Error response.

200

Successful response.

POST /v1/invoice_rendering_templates/{template}/archive
POST /v1/invoice_rendering_templates/{template}/unarchive

Unarchive an invoice rendering template so it can be used on new Stripe objects again.

operationId: PostInvoiceRenderingTemplatesTemplateUnarchive

Parameters

Name In Required Type Description
template path required string

Request Body

application/x-www-form-urlencoded
Property Type Required
expand array optional

Responses

default

Error response.

200

Successful response.

POST /v1/invoice_rendering_templates/{template}/unarchive

Invoiceitems 5 endpoints

GET /v1/invoiceitems

Returns a list of your invoice items. Invoice items are returned sorted by creation date, with the most recently created invoice items appearing first.

operationId: GetInvoiceitems

Parameters

Name In Required Type Description
created query optional

Only return invoice items that were created during the given date interval.

customer query optional string

The identifier of the customer whose invoice items to return. If none is provided, returns all invoice items.

customer_account query optional string

The identifier of the account representing the customer whose invoice items to return. If none is provided, returns all invoice items.

ending_before query optional string

A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

expand query optional array

Specifies which fields in the response should be expanded.

invoice query optional string

Only return invoice items belonging to this invoice. If none is provided, all invoice items will be returned. If specifying an invoice, no customer identifier is needed.

limit query optional integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

pending query optional boolean

Set to true to only show pending invoice items, which are not yet attached to any invoices. Set to false to only show invoice items already attached to invoices. If unspecified, no filter is applied.

starting_after query optional string

A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

GET /v1/invoiceitems
POST /v1/invoiceitems

Creates an item to be added to a draft invoice (up to 250 items per invoice). If no invoice is specified, the item will be on the next invoice created for the customer specified.

operationId: PostInvoiceitems

Request Body

application/x-www-form-urlencoded
Property Type Required
amount integer optional
expand array optional
period object optional
end integer required
start integer required
invoice string optional
pricing object optional
price string optional
currency string optional
customer string optional
metadata object optional
quantity integer optional
tax_code object optional
discounts object optional
tax_rates array optional
price_data object optional
product string required
currency string required
unit_amount integer optional
tax_behavior string optional
unit_amount_decimal string optional
description string optional
discountable boolean optional
subscription string optional
tax_behavior string optional
customer_account string optional
quantity_decimal string optional
unit_amount_decimal string optional

Responses

default

Error response.

200

Successful response.

POST /v1/invoiceitems
DELETE /v1/invoiceitems/{invoiceitem}

Deletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they’re not attached to invoices, or if it’s attached to a draft invoice.

operationId: DeleteInvoiceitemsInvoiceitem

Parameters

Name In Required Type Description
invoiceitem path required string

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

DELETE /v1/invoiceitems/{invoiceitem}
GET /v1/invoiceitems/{invoiceitem}

Retrieves the invoice item with the given ID.

operationId: GetInvoiceitemsInvoiceitem

Parameters

Name In Required Type Description
expand query optional array

Specifies which fields in the response should be expanded.

invoiceitem path required string

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

GET /v1/invoiceitems/{invoiceitem}
POST /v1/invoiceitems/{invoiceitem}

Updates the amount or description of an invoice item on an upcoming invoice. Updating an invoice item is only possible before the invoice it’s attached to is closed.

operationId: PostInvoiceitemsInvoiceitem

Parameters

Name In Required Type Description
invoiceitem path required string

Request Body

application/x-www-form-urlencoded
Property Type Required
amount integer optional
expand array optional
period object optional
end integer required
start integer required
pricing object optional
price string optional
metadata object optional
quantity integer optional
tax_code object optional
discounts object optional
tax_rates object optional
price_data object optional
product string required
currency string required
unit_amount integer optional
tax_behavior string optional
unit_amount_decimal string optional
description string optional
discountable boolean optional
tax_behavior string optional
quantity_decimal string optional
unit_amount_decimal string optional

Responses

default

Error response.

200

Successful response.

POST /v1/invoiceitems/{invoiceitem}

Invoices 18 endpoints

GET /v1/invoices

You can list all invoices, or list the invoices for a specific customer. The invoices are returned sorted by creation date, with the most recently created invoices appearing first.

operationId: GetInvoices

Parameters

Name In Required Type Description
collection_method query optional string

The collection method of the invoice to retrieve. Either charge_automatically or send_invoice.

created query optional

Only return invoices that were created during the given date interval.

customer query optional string

Only return invoices for the customer specified by this customer ID.

customer_account query optional string

Only return invoices for the account representing the customer specified by this account ID.

due_date query optional
ending_before query optional string

A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

expand query optional array

Specifies which fields in the response should be expanded.

limit query optional integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after query optional string

A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status query optional string

The status of the invoice, one of draft, open, paid, uncollectible, or void. Learn more

subscription query optional string

Only return invoices for the subscription specified by this subscription ID.

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

GET /v1/invoices
POST /v1/invoices

This endpoint creates a draft invoice for a given customer. The invoice remains a draft until you finalize the invoice, which allows you to pay or send the invoice to your customers.

operationId: PostInvoices

Request Body

application/x-www-form-urlencoded
Property Type Required
expand array optional
footer string optional
issuer object optional
type string required
account string optional
number string optional
currency string optional
customer string optional
due_date integer optional
metadata object optional
discounts object optional
rendering object optional
pdf object optional
page_size string optional
template string optional
template_version object optional
amount_tax_display string optional
description string optional
auto_advance boolean optional
effective_at integer optional
from_invoice object optional
action string required
invoice string required
on_behalf_of string optional
subscription string optional
automatic_tax object optional
enabled boolean required
liability object optional
type string required
account string optional
custom_fields object optional
shipping_cost object optional
shipping_rate string optional
shipping_rate_data object optional
type string optional
metadata object optional
tax_code string optional
display_name string required
fixed_amount object optional
amount integer required
currency string required
currency_options object optional
tax_behavior string optional
delivery_estimate object optional
maximum object optional
minimum object optional
transfer_data object optional
amount integer optional
destination string required
…13 more object optional

Responses

default

Error response.

200

Successful response.

POST /v1/invoices
POST /v1/invoices/create_preview

At any time, you can preview the upcoming invoice for a subscription or subscription schedule. This will show you all the charges that are pending, including subscription renewal charges, invoice item charges, etc. It will also show you any discounts that are applicable to the invoice.

You can also preview the effects of creating or updating a subscription or subscription schedule, including a preview of any prorations that will take place. To ensure that the actual proration is calculated exactly the same as the previewed proration, you should pass the subscription_details.proration_date parameter when doing the actual subscription update.

The recommended way to get only the prorations being previewed on the invoice is to consider line items where parent.subscription_item_details.proration is true.

Note that when you are viewing an upcoming invoice, you are simply viewing a preview – the invoice has not yet been created. As such, the upcoming invoice will not show up in invoice listing calls, and you cannot use the API to pay or edit the invoice. If you want to change the amount that your customer will be billed, you can add, remove, or update pending invoice items, or update the customer’s discount.

Note: Currency conversion calculations use the latest exchange rates. Exchange rates may vary between the time of the preview and the time of the actual invoice creation. Learn more

operationId: PostInvoicesCreatePreview

Request Body

application/x-www-form-urlencoded
Property Type Required
expand array optional
issuer object optional
type string required
account string optional
currency string optional
customer string optional
schedule string optional
discounts object optional
on_behalf_of object optional
preview_mode string optional
subscription string optional
automatic_tax object optional
enabled boolean required
liability object optional
type string required
account string optional
invoice_items array optional
price string optional
amount integer optional
period object optional
end integer required
start integer required
currency string optional
metadata object optional
quantity integer optional
tax_code object optional
discounts object optional
tax_rates object optional
price_data object optional
product string required
currency string required
unit_amount integer optional
tax_behavior string optional
unit_amount_decimal string optional
description string optional
invoiceitem string optional
unit_amount integer optional
discountable boolean optional
tax_behavior string optional
quantity_decimal string optional
unit_amount_decimal string optional
customer_account string optional
customer_details object optional
tax object optional
ip_address object optional
address object optional
tax_ids array optional
type string required
value string required
shipping object optional
tax_exempt string optional
schedule_details object optional
phases array optional
items array required
price string optional
metadata object optional
quantity integer optional
discounts object optional
tax_rates object optional
price_data object optional
billing_thresholds object optional
trial boolean optional
duration object optional
interval string required
interval_count integer optional
end_date object optional
metadata object optional
discounts object optional
trial_end object optional
start_date object optional
description object optional
on_behalf_of string optional
automatic_tax object optional
enabled boolean required
liability object optional
transfer_data object optional
destination string required
amount_percent number optional
invoice_settings object optional
issuer object optional
days_until_due integer optional
account_tax_ids object optional
add_invoice_items array optional
price string optional
period object optional
metadata object optional
quantity integer optional
discounts array optional
tax_rates object optional
price_data object optional
collection_method string optional
default_tax_rates object optional
billing_thresholds object optional
proration_behavior string optional
billing_cycle_anchor string optional
default_payment_method string optional
…1 more object optional
billing_mode object optional
type string required
flexible object optional
proration_discounts string optional
end_behavior string optional
proration_behavior string optional
subscription_details object optional
items array optional
id string optional
price string optional
deleted boolean optional
metadata object optional
quantity integer optional
discounts object optional
tax_rates object optional
price_data object optional
product string required
currency string required
recurring object required
unit_amount integer optional
tax_behavior string optional
unit_amount_decimal string optional
clear_usage boolean optional
billing_thresholds object optional
cancel_at object optional
resume_at string optional
trial_end object optional
cancel_now boolean optional
start_date integer optional
billing_mode object optional
type string required
flexible object optional
proration_discounts string optional
proration_date integer optional
default_tax_rates object optional
proration_behavior string optional
billing_cycle_anchor object optional
cancel_at_period_end boolean optional

Responses

default

Error response.

200

Successful response.

POST /v1/invoices/create_preview
GET /v1/invoices/search

Search for invoices you’ve previously created using Stripe’s Search Query Language. Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India.

operationId: GetInvoicesSearch

Parameters

Name In Required Type Description
expand query optional array

Specifies which fields in the response should be expanded.

limit query optional integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

page query optional string

A cursor for pagination across multiple pages of results. Don’t include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.

query query required string

The search query string. See search query language and the list of supported query fields for invoices.

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

GET /v1/invoices/search
DELETE /v1/invoices/{invoice}

Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be voided.

operationId: DeleteInvoicesInvoice

Parameters

Name In Required Type Description
invoice path required string

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

DELETE /v1/invoices/{invoice}
GET /v1/invoices/{invoice}

Retrieves the invoice with the given ID.

operationId: GetInvoicesInvoice

Parameters

Name In Required Type Description
expand query optional array

Specifies which fields in the response should be expanded.

invoice path required string

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

GET /v1/invoices/{invoice}
POST /v1/invoices/{invoice}

Draft invoices are fully editable. Once an invoice is finalized, monetary values, as well as collection_method, become uneditable.

If you would like to stop the Stripe Billing engine from automatically finalizing, reattempting payments on, sending reminders for, or automatically reconciling invoices, pass auto_advance=false.

operationId: PostInvoicesInvoice

Parameters

Name In Required Type Description
invoice path required string

Request Body

application/x-www-form-urlencoded
Property Type Required
expand array optional
footer string optional
issuer object optional
type string required
account string optional
number object optional
due_date integer optional
metadata object optional
discounts object optional
rendering object optional
pdf object optional
page_size string optional
template string optional
template_version object optional
amount_tax_display string optional
description string optional
auto_advance boolean optional
effective_at object optional
on_behalf_of object optional
automatic_tax object optional
enabled boolean required
liability object optional
type string required
account string optional
custom_fields object optional
shipping_cost object optional
transfer_data object optional
days_until_due integer optional
default_source object optional
account_tax_ids object optional
payment_settings object optional
default_mandate object optional
payment_method_types object optional
payment_method_options object optional
pix object optional
upi object optional
card object optional
payto object optional
konbini object optional
acss_debit object optional
bancontact object optional
sepa_debit object optional
us_bank_account object optional
customer_balance object optional
…7 more object optional

Responses

default

Error response.

200

Successful response.

POST /v1/invoices/{invoice}
POST /v1/invoices/{invoice}/add_lines

Adds multiple line items to an invoice. This is only possible when an invoice is still a draft.

operationId: PostInvoicesInvoiceAddLines

Parameters

Name In Required Type Description
invoice path required string

Request Body

required
application/x-www-form-urlencoded
Property Type Required
lines array required
amount integer optional
period object optional
end integer required
start integer required
pricing object optional
price string optional
metadata object optional
quantity integer optional
discounts object optional
tax_rates object optional
price_data object optional
product string optional
currency string required
unit_amount integer optional
product_data object optional
name string required
images array optional
metadata object optional
tax_code string optional
unit_label string optional
description string optional
tax_behavior string optional
unit_amount_decimal string optional
description string optional
tax_amounts object optional
discountable boolean optional
invoice_item string optional
quantity_decimal string optional
expand array optional
invoice_metadata object optional

Responses

default

Error response.

200

Successful response.

POST /v1/invoices/{invoice}/add_lines
POST /v1/invoices/{invoice}/attach_payment

Attaches a PaymentIntent or an Out of Band Payment to the invoice, adding it to the list of payments.

For the PaymentIntent, when the PaymentIntent’s status changes to succeeded, the payment is credited to the invoice, increasing its amount_paid. When the invoice is fully paid, the invoice’s status becomes paid.

If the PaymentIntent’s status is already succeeded when it’s attached, it’s credited to the invoice immediately.

See: Partial payments to learn more.

operationId: PostInvoicesInvoiceAttachPayment

Parameters

Name In Required Type Description
invoice path required string

Request Body

application/x-www-form-urlencoded
Property Type Required
expand array optional
payment_intent string optional
payment_record string optional

Responses

default

Error response.

200

Successful response.

POST /v1/invoices/{invoice}/attach_payment
POST /v1/invoices/{invoice}/finalize

Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you’d like to finalize a draft invoice manually, you can do so using this method.

operationId: PostInvoicesInvoiceFinalize

Parameters

Name In Required Type Description
invoice path required string

Request Body

application/x-www-form-urlencoded
Property Type Required
expand array optional
auto_advance boolean optional

Responses

default

Error response.

200

Successful response.

POST /v1/invoices/{invoice}/finalize
GET /v1/invoices/{invoice}/lines

When retrieving an invoice, you’ll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

operationId: GetInvoicesInvoiceLines

Parameters

Name In Required Type Description
ending_before query optional string

A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

expand query optional array

Specifies which fields in the response should be expanded.

invoice path required string
limit query optional integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after query optional string

A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

GET /v1/invoices/{invoice}/lines
POST /v1/invoices/{invoice}/lines/{line_item_id}

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

Name In Required Type Description
invoice path required string

Invoice ID of line item

line_item_id path required string

Invoice line item ID

Request Body

application/x-www-form-urlencoded
Property Type Required
amount integer optional
expand array optional
period object optional
end integer required
start integer required
pricing object optional
price string optional
metadata object optional
quantity integer optional
discounts object optional
tax_rates object optional
price_data object optional
product string optional
currency string required
unit_amount integer optional
product_data object optional
name string required
images array optional
metadata object optional
tax_code string optional
unit_label string optional
description string optional
tax_behavior string optional
unit_amount_decimal string optional
description string optional
tax_amounts object optional
discountable boolean optional
quantity_decimal string optional

Responses

default

Error response.

200

Successful response.

POST /v1/invoices/{invoice}/lines/{line_item_id}
POST /v1/invoices/{invoice}/mark_uncollectible

Marking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes.

operationId: PostInvoicesInvoiceMarkUncollectible

Parameters

Name In Required Type Description
invoice path required string

Request Body

application/x-www-form-urlencoded
Property Type Required
expand array optional

Responses

default

Error response.

200

Successful response.

POST /v1/invoices/{invoice}/mark_uncollectible
POST /v1/invoices/{invoice}/pay

Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your subscriptions settings. However, if you’d like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so.

operationId: PostInvoicesInvoicePay

Parameters

Name In Required Type Description
invoice path required string

Request Body

application/x-www-form-urlencoded
Property Type Required
expand array optional
source string optional
forgive boolean optional
mandate object optional
off_session boolean optional
payment_method string optional
paid_out_of_band boolean optional

Responses

default

Error response.

200

Successful response.

POST /v1/invoices/{invoice}/pay
POST /v1/invoices/{invoice}/remove_lines

Removes multiple line items from an invoice. This is only possible when an invoice is still a draft.

operationId: PostInvoicesInvoiceRemoveLines

Parameters

Name In Required Type Description
invoice path required string

Request Body

required
application/x-www-form-urlencoded
Property Type Required
lines array required
id string required
behavior string required
expand array optional
invoice_metadata object optional

Responses

default

Error response.

200

Successful response.

POST /v1/invoices/{invoice}/remove_lines
POST /v1/invoices/{invoice}/send

Stripe will automatically send invoices to customers according to your subscriptions settings. However, if you’d like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email.

Requests made in test-mode result in no emails being sent, despite sending an invoice.sent event.

operationId: PostInvoicesInvoiceSend

Parameters

Name In Required Type Description
invoice path required string

Request Body

application/x-www-form-urlencoded
Property Type Required
expand array optional

Responses

default

Error response.

200

Successful response.

POST /v1/invoices/{invoice}/send
POST /v1/invoices/{invoice}/update_lines

Updates multiple line items on an invoice. This is only possible when an invoice is still a draft.

operationId: PostInvoicesInvoiceUpdateLines

Parameters

Name In Required Type Description
invoice path required string

Request Body

required
application/x-www-form-urlencoded
Property Type Required
lines array required
id string required
amount integer optional
period object optional
end integer required
start integer required
pricing object optional
price string optional
metadata object optional
quantity integer optional
discounts object optional
tax_rates object optional
price_data object optional
product string optional
currency string required
unit_amount integer optional
product_data object optional
name string required
images array optional
metadata object optional
tax_code string optional
unit_label string optional
description string optional
tax_behavior string optional
unit_amount_decimal string optional
description string optional
tax_amounts object optional
discountable boolean optional
quantity_decimal string optional
expand array optional
invoice_metadata object optional

Responses

default

Error response.

200

Successful response.

POST /v1/invoices/{invoice}/update_lines
POST /v1/invoices/{invoice}/void

Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to deletion, however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found.

Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you’re doing business in. You might need to issue another invoice or credit note instead. Stripe recommends that you consult with your legal counsel for advice specific to your business.

operationId: PostInvoicesInvoiceVoid

Parameters

Name In Required Type Description
invoice path required string

Request Body

application/x-www-form-urlencoded
Property Type Required
expand array optional

Responses

default

Error response.

200

Successful response.

POST /v1/invoices/{invoice}/void

Issuing 3 endpoints

GET /v1/issuing/authorizations

Returns a list of Issuing Authorization objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

operationId: GetIssuingAuthorizations

Parameters

Name In Required Type Description
card query optional string

Only return authorizations that belong to the given card.

cardholder query optional string

Only return authorizations that belong to the given cardholder.

created query optional

Only return authorizations that were created during the given date interval.

ending_before query optional string

A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.

expand query optional array

Specifies which fields in the response should be expanded.

limit query optional integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

starting_after query optional string

A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

status query optional string

Only return authorizations with the given status. One of pending, closed, or reversed.

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

GET /v1/issuing/authorizations
GET /v1/issuing/authorizations/{authorization}

Retrieves an Issuing Authorization object.

operationId: GetIssuingAuthorizationsAuthorization

Parameters

Name In Required Type Description
authorization path required string
expand query optional array

Specifies which fields in the response should be expanded.

Request Body

application/x-www-form-urlencoded

Responses

default

Error response.

200

Successful response.

GET /v1/issuing/authorizations/{authorization}
POST /v1/issuing/authorizations/{authorization}

Updates the specified Issuing Authorization object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

operationId: PostIssuingAuthorizationsAuthorization

Parameters

Name In Required Type Description
authorization path required string

Request Body

application/x-www-form-urlencoded
Property Type Required
expand array optional
metadata object optional

Responses

default

Error response.

200

Successful response.

POST /v1/issuing/authorizations/{authorization}
Load more endpoints