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

Stripe Invoices API

The Invoices API from Stripe — 12 operation(s) for invoices.

Stripe Invoices API is one of 159 APIs that Stripe publishes on the APIs.io network, described by a machine-readable OpenAPI specification and an AsyncAPI event-driven specification.

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

This API exposes 15 operations across 12 paths, and defines 23 schemas. It is described by OpenAPI 3.2.0, at version 2023-10-16.

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

15 operations 12 paths 23 schemas 1 DELETE6 GET8 POST

Metadata

The identity and technical contract details declared by the specification.

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

Authentication & Security 2

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

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

Paths & Operations 15

Across 12 paths, the API surfaces 15 operations — 1 DELETE, 6 GET, 8 POST. Each is listed below with its method, path, parameters, and response codes.

Invoices 15
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.
GetInvoices 10 params body → 200default
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.
PostInvoices body → 200default
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 condition…
GetInvoicesSearch 4 params body → 200default
GET
/v1/invoices/upcoming
At any time, you can preview the upcoming invoice for a customer. This will show you all the charges that are pending, including subscription renewal charges, invoice item charges, etc. It will also…
GetInvoicesUpcoming 22 params body → 200default
GET
/v1/invoices/upcoming/lines
When retrieving an upcoming 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 (pa…
GetInvoicesUpcomingLines 25 params body → 200default
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 f…
DeleteInvoicesInvoice 1 param body → 200default
GET
/v1/invoices/{invoice}
Retrieves the invoice with the given ID.
GetInvoicesInvoice 2 params body → 200default
POST
/v1/invoices/{invoice}
Draft invoices are fully editable. Once an invoice is finalized , monetary values, as well as collectionmethod , become uneditable. If you would like to stop the Stripe Billing engine from automatica…
PostInvoicesInvoice 1 param body → 200default
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.
PostInvoicesInvoiceFinalize 1 param body → 200default
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)…
GetInvoicesInvoiceLines 5 params body → 200default
POST
/v1/invoices/{invoice}/lines/{line_item_id}
Updates an invoice’s line item. Some fields, such as taxamounts , only live on the invoice line item, so they can only be updated through this endpoint. Other fields, such as amount , live on both th…
PostInvoicesInvoiceLinesLineItemId 2 params body → 200default
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.
PostInvoicesInvoiceMarkUncollectible 1 param body → 200default
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…
PostInvoicesInvoicePay 1 param body → 200default
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…
PostInvoicesInvoiceSend 1 param body → 200default
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 sti…
PostInvoicesInvoiceVoid 1 param body → 200default

Schemas 23

The contract defines 23 schemas that model the data the API accepts and returns. The most detailed are invoice (81 properties), PostInvoicesRequest (29 properties), PostInvoicesInvoiceRequest (24 properties), line_item (23 properties). Each schema is shown below with its type and property counts.

DeleteInvoicesInvoiceRequest
object
SearchResult
object
6 properties 4 required
PostInvoicesRequest
object
29 properties
PostInvoicesInvoiceFinalizeRequest
object
2 properties
GetInvoicesInvoiceLinesRequest
object
GetInvoicesUpcomingLinesRequest
object
PostInvoicesInvoiceSendRequest
object
1 property
PostInvoicesInvoicePayRequest
object
7 properties
PostInvoicesInvoiceRequest
object
24 properties
deleted_invoice
object
3 properties 3 required
PostInvoicesInvoiceVoidRequest
object
1 property
PostInvoicesInvoiceMarkUncollectibleRequest
object
1 property
error
object
An error response from the Stripe API
1 property 1 required
invoice
object
Invoices are statements of amounts owed by a customer, and are either generated one-off, or generated periodically from a subscription. They contain [invoice i…
81 properties 26 required
GetInvoicesRequest
object
GetInvoicesInvoiceRequest
object
InvoiceLinesList
object
4 properties 4 required
PostInvoicesInvoiceLinesLineItemIdRequest
object
12 properties
line_item
object
23 properties 10 required
GetInvoicesSearchRequest
object
GetInvoicesUpcomingRequest
object
invoiceitem
object
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 updati…
22 properties 11 required
InvoicesList
object
4 properties 4 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

stripe-invoices-api-openapi.yml Raw ↑

Other APIs Stripe publishes across the network.

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

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

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

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

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