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

JustiFi Terminals API

JustiFi provides a card present solution which allows you to collect a payment via a terminal provider via one of our technology partners.To collect a payment via terminal, you must first ensure you ask the JustiFi team to enable the card present feature for your platform. Next, we will work to provision and configure terminals for your sub accounts.Once you have configured a terminal, you must complete the following steps to complete a payment:1. Create a Checkout2. Send a checkout to a terminal3. Terminal processes payment async4. Handle checkout.completed event (recommended)5. OR poll checkouts API for status change (optional)### Create a checkout[Create a Checkout](https://docs.justifi.tech/api-spec#tag/Checkouts/operation/CreateCheckout) with the amount you'd like to capture, and a description of the payment.### Send a checkout to a terminal[POST to the terminal pay endpoint](https://docs.justifi.tech/api-spec#tag/Terminals/operation/payTerminal) which will be used to send your checkout to a terminal for processing. This process can take some time as it requires customer interaction. For this reason, the API will return immediately but the process is asynchronusly happening on a terminal.### Terminal processes payment asyncAt this point, the process is handed over to the terminal to complete. Once the payment transaction is completed, we will publish an event for you to continue the process and take further action, as noted in the next step.### Handle checkout.completed eventCreate an [Event Publisher](https://docs.justifi.tech/api-spec#tag/Events) which publishes [`checkout.completed` events](https://docs.justifi.tech/api-spec#tag/Events/operation/checkoutEvent). This will provide a means to ensure the payment was successful. You can also listen to checkout completion events, for example a checkout.completion.failed event will be published each time a card is attempted to be processed but the transaction fails for some reason.### Poll checkouts API for status changeIf you do not have the ability to handle event publishing, you could poll our checkout API with the id of the checkout you are processing. Contine to poll until the checkout status attribute changes. We recommend you use the checkout events instead of this approach.

JustiFi Terminals API is one of 27 APIs that JustiFi 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 and authentication docs.

This API exposes 6 operations across 5 paths, and defines 5 schemas. It is described by OpenAPI 3.0.0.

Requests are made against a single base URL, https://api.justifi.ai/v1.

6 operations 5 paths 5 schemas 3 GET1 PATCH2 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
Base URL
https://api.justifi.ai/v1
Terms of Service
Resource Areas
1

Paths & Operations 6

Across 5 paths, the API surfaces 6 operations — 3 GET, 1 PATCH, 2 POST. Each is listed below with its method, path, parameters, and response codes.

Terminals 6

JustiFi provides a card present solution which allows you to collect a payment via a terminal provider via one of our technology partners. To collect a payment via terminal, you m…

POST
/terminals/pay
Pay via Terminal
payTerminal 1 param body → 201
GET
/terminals
List Terminals
listTerminals 9 params → 200
GET
/terminals/{id}
Get a Terminal
getTerminal 2 params → 200
PATCH
/terminals/{id}
Update a Terminal
updateTerminal 2 params body → 200
GET
/terminals/{id}/status
Get Terminal Status
getTerminalStatus 2 params → 200
POST
/terminals/{id}/identify
Identify Terminal
postIdentifyTerminal 2 params → 204

Schemas 5

The contract defines 5 schemas that model the data the API accepts and returns. The most detailed are Terminal (14 properties), PageInfo (4 properties), TerminalStatus (4 properties), Envelope (4 properties). Each schema is shown below with its type and property counts.

Envelope-list
object
4 properties
Envelope
object
4 properties
Terminal
object
14 properties
TerminalStatus
object
4 properties
PageInfo
object
4 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

justifi-terminals-api-openapi.yml Raw ↑

Other APIs JustiFi publishes across the network.

JustiFi Ach Return Fees API
JustiFi Address API
JustiFi API Credentials API
JustiFi Balance Transactions API
JustiFi Bank Account API
JustiFi Bind Insurance API
JustiFi Business API
JustiFi Checkouts API
JustiFi Disputes API
JustiFi Document API
JustiFi Fee Configurations API
JustiFi Identity API