Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Revolut Terminals API

Operations for managing Revolut Terminal devices and push payment integrations with Point of Sale (POS) systems.The Terminals API enables POS software providers to integrate with Revolut Terminal devices for accepting in-person payments through a **push payments** model. This server-to-server integration allows your POS system to:- Discover available terminals at specific locations- Push payment requests to physical terminal devices- Track payment intent and payment status in real-time- Cancel pending payment requests when needed## Push payments workflow1. **Terminal discovery:** Use the [Retrieve terminal list](https://developer.revolut.com/docs/api/merchant#retrieve-terminal-list) endpoint to find available terminals at a location (filtered by `operation_mode=pos`)1. **Payment intent creation:** Push a payment request to a specific terminal using [Create a payment intent](https://developer.revolut.com/docs/api/merchant#create-payment-intent)1. **Status tracking:** Poll the payment intent status until completion using [Retrieve a payment intent](https://developer.revolut.com/docs/api/merchant#retrieve-payment-intent) endpoint1. **Payment confirmation:** Once the payment intent reaches `completed` state, [retrieve the final payment status](https://developer.revolut.com/docs/api/merchant#retrieve-payment-details) using the returned `payment_id`:::infoFor detailed implementation guidance, see: [Push payments to Revolut Terminal](https://developer.revolut.com/docs/guides/merchant/accept-payments/in-person-payments/terminal/push-payments).:::

Revolut Terminals API is one of 46 APIs that Revolut publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Terminals. The published artifact set on APIs.io includes an OpenAPI specification.

This API exposes 1 operation across 1 path, and defines 12 schemas. It is described by OpenAPI 3.0.1, at version 1.0.

Requests are made against 2 base URLs: https://b2b.revolut.com/api/1.0, https://sandbox-b2b.revolut.com/api/1.0.

1 operations 1 paths 12 schemas 1 GET

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.1
API Version
1.0
Base URL
https://b2b.revolut.com/api/1.0
Authentication
HTTP Bearer
Resource Areas
1

Authentication & Security 1

Revolut Terminals API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (AccessToken).

  • AccessToken — Each Business API request must contain an authorization header in the following format to make a call: Bearer . The access token will be obtained the first tim…

Paths & Operations 1

Across 1 path, the API surfaces 1 operation — 1 GET. Each is listed below with its method, path, parameters, and response codes.

Terminals 1

Operations for managing Revolut Terminal devices and push payment integrations with Point of Sale (POS) systems. The Terminals API enables POS software providers to integrate with…

GET
/api/terminals
Retrieve terminal list
retrieveTerminalList 4 params → 200400401

Schemas 12

The contract defines 12 schemas that model the data the API accepts and returns. The most detailed are Terminal (7 properties), Error-v2 (3 properties), Terminals-Response (1 property). Each schema is shown below with its type and property counts.

Terminal-Serial-Number
string
The serial number of the terminal device.
Terminal
object
Represents a Revolut Terminal device.
7 properties 7 required
Terminal-Id
string
The unique identifier of the terminal.
Terminal-Online
boolean
Indicates whether the terminal is currently online and connected. | Value | Description | |-------|-------------| | true | Terminal is online and available | |…
Terminal-Operation-Mode
string
The operation mode of the terminal. | Value | Description | |-------|-------------| | pos | Returns only terminals in Pay at Counter mode | | paymentacceptance…
Terminal-Type
string
The hardware type/model of the terminal device.
Terminal-Last-Online-At
string
The date and time when the terminal was last seen online.
Terminal-Name
string
The name of the terminal device.
Terminal-Battery-Level
integer
The current battery level of the terminal as a percentage (0-100).
Terminals-Response
object
Response containing a list of terminals.
1 property 1 required
Terminals
array
List of terminal devices.
Error-v2
object
3 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

revolut-terminals-api-openapi.yml Raw ↑

Other APIs Revolut publishes across the network.

Revolut Accounting API
Revolut Accounting categories API
Revolut Accounts API
Revolut Apple Pay merchant registration API
Revolut Applications API
Revolut Balance API
Revolut Card invitations API
Revolut Cards API
Revolut Configuration API
Revolut Counterparties API
Revolut Customers API
Revolut Disputes API