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 Terminal API

Use Stripe Terminal to accept in-person payments and extend Stripe payments to your point of sale.

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

Tagged areas include Point-of-Sale, Terminal, and Terminals. The published artifact set on APIs.io includes API documentation and an OpenAPI specification.

This API exposes 21 operations across 12 paths, and defines 18 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/.

21 operations 12 paths 18 schemas 3 DELETE6 GET12 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 Terminal 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 21

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

Terminal 21
GET
/v1/terminal/locations
Stripe List Terminal Locations
GetTerminalLocations 3 params → 200default
POST
/v1/terminal/locations
Stripe Create Terminal Location
PostTerminalLocations body → 200default
GET
/v1/terminal/locations/{location}
Stripe Retrieve Terminal Location
GetTerminalLocationsLocation 1 param → 200default
POST
/v1/terminal/locations/{location}
Stripe Update Terminal Location
PostTerminalLocationsLocation 1 param body → 200default
DELETE
/v1/terminal/locations/{location}
Stripe Delete Terminal Location
DeleteTerminalLocationsLocation 1 param → 200default
GET
/v1/terminal/readers
Stripe List Terminal Readers
GetTerminalReaders 6 params → 200default
POST
/v1/terminal/readers
Stripe Create Terminal Reader
PostTerminalReaders body → 200default
GET
/v1/terminal/readers/{reader}
Stripe Retrieve Terminal Reader
GetTerminalReadersReader 1 param → 200default
POST
/v1/terminal/readers/{reader}
Stripe Update Terminal Reader
PostTerminalReadersReader 1 param body → 200default
DELETE
/v1/terminal/readers/{reader}
Stripe Delete Terminal Reader
DeleteTerminalReadersReader 1 param → 200default
GET
/v1/terminal/configurations
Stripe List Terminal Configurations
GetTerminalConfigurations 3 params → 200default
POST
/v1/terminal/configurations
Stripe Create Terminal Configuration
PostTerminalConfigurations body → 200default
POST
/v1/terminal/connection_tokens
Stripe Create Connection Token
PostTerminalConnectionTokens body → 200default
DELETE
/v1/terminal/configurations/{configuration}
Deletes a Configuration object.
DeleteTerminalConfigurationsConfiguration 1 param body → 200default
GET
/v1/terminal/configurations/{configuration}
Retrieves a Configuration object.
GetTerminalConfigurationsConfiguration 2 params body → 200default
POST
/v1/terminal/configurations/{configuration}
Updates a new Configuration object.
PostTerminalConfigurationsConfiguration 1 param body → 200default
POST
/v1/terminal/readers/{reader}/cancel_action
Cancels the current reader action.
PostTerminalReadersReaderCancelAction 1 param body → 200default
POST
/v1/terminal/readers/{reader}/process_payment_intent
Initiates a payment flow on a Reader.
PostTerminalReadersReaderProcessPaymentIntent 1 param body → 200default
POST
/v1/terminal/readers/{reader}/process_setup_intent
Initiates a setup intent flow on a Reader.
PostTerminalReadersReaderProcessSetupIntent 1 param body → 200default
POST
/v1/terminal/readers/{reader}/refund_payment
Initiates a refund on a Reader
PostTerminalReadersReaderRefundPayment 1 param body → 200default
POST
/v1/terminal/readers/{reader}/set_reader_display
Sets reader display to show cart details.
PostTerminalReadersReaderSetReaderDisplay 1 param body → 200default

Schemas 18

The contract defines 18 schemas that model the data the API accepts and returns. The most detailed are terminal.reader_2 (12 properties), terminal.reader (12 properties), terminal.configuration_2 (8 properties), PostTerminalReadersReaderRefundPaymentRequest (7 properties). Each schema is shown below with its type and property counts.

PostTerminalReadersReaderProcessSetupIntentRequest
object
4 properties 2 required
terminal.reader
object
12 properties 7 required
error_2
object
An error response from the Stripe API
1 property 1 required
PostTerminalReadersReaderProcessPaymentIntentRequest
object
3 properties 1 required
GetTerminalConfigurationsConfigurationRequest
object
terminal.location_2
object
A Location represents a grouping of readers. Related guide: [Fleet management](https://stripe.com/docs/terminal/fleet/locations)
7 properties 6 required
terminal.reader_2
object
A Reader represents a physical device for accepting payment details. Related guide: [Connecting to a reader](https://stripe.com/docs/terminal/payments/connect-…
12 properties 7 required
terminal.configuration_2
object
A Configurations object represents how features should be configured for terminal readers.
8 properties 3 required
error
object
1 property
PostTerminalReadersReaderSetReaderDisplayRequest
object
3 properties 1 required
PostTerminalReadersReaderCancelActionRequest
object
1 property
PostTerminalReadersReaderRefundPaymentRequest
object
7 properties
terminal.configuration
object
6 properties 3 required
deleted_terminal.configuration
object
3 properties 3 required
terminal.connection_token
object
3 properties 2 required
PostTerminalConfigurationsConfigurationRequest
object
5 properties
terminal.location
object
7 properties 6 required
DeleteTerminalConfigurationsConfigurationRequest
object

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

stripe-terminal-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 Terminal 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.