The SmartRetry Terminal API is a REST API that lets you initiate payments, manage recurring billing, and monitor transaction health. All requests are scoped to a merchant terminal and authenticated with an API key.Documentation Index
Fetch the complete documentation index at: https://www.smartretry.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Base URL
/v1/.
Authentication
Every request must include your API key in thex-api-key header.
403 Forbidden.
Request format
Send all request bodies as JSON with theContent-Type: application/json header.
Terminal ID
All payment and recurring endpoints include{terminal_friendly_id} as a path parameter. This 6-character alphanumeric string identifies your merchant terminal and scopes every operation to your account configuration.
terminal_friendly_id when SmartRetry provisions your account. A single API key may have access to multiple terminals.
Amount format
Theamount field uses major currency units in standard decimal notation (e.g., 10.00 for $10.00). Always send a number - never an integer representing cents.
| Currency | Decimal places | Example amount value | Represents |
|---|---|---|---|
| USD | 2 | 10.00 | $10.00 |
| GBP | 2 | 10.00 | £10.00 |
| EUR | 2 | 25.50 | €25.50 |
| JPY | 0 | 1000 | ¥1,000 |
| KWD | 3 | 1.000 | KD 1.000 |
Zero-decimal currencies (e.g., JPY, KRW, UGX) have no fractional units - send the whole amount as a number with no decimals (e.g.,
1000 = ¥1,000). Three-decimal currencies like KWD use three decimal places (e.g., 1.000 = KD 1.000).Transaction reference
merchant_transaction_id is your own unique identifier for each transaction. Include it on every request.
- Reconciliation - use this ID to match SmartRetry transactions back to orders in your system.
- Correlation - log it in your application so you can trace a SmartRetry transaction back to the originating cart, invoice, or subscription event.
Idempotency
Use theIdempotency-Key header on POST /v1/payments/* requests when you need safe retries. If you resend the same POST request with the same key and the same body, SmartRetry replays the original non-5xx response for 24 hours instead of creating a second operation.
If you reuse the same key with a different request body, SmartRetry returns 409 Conflict with reason code IDEMPOTENCY_CONFLICT.
See Idempotency for the full behavior, supported methods, response headers, and retry guidance.
Response format
Successful payment responses include anaccepted boolean at the top level. Use this field - not only the HTTP status code - to determine whether the transaction was approved.
200 OK response with "accepted": false means the request was valid but the transaction was declined. Handle both cases in your integration.
Errors follow a separate structure - see Errors.
Health endpoints
Use the health endpoints to monitor API availability and readiness in your infrastructure checks or dashboards.| Endpoint | Description |
|---|---|
GET /health/ | General health check. Returns 200 when the API is operational. |
GET /health/ready | Readiness check. Returns 200 when the API is ready to serve traffic. |
GET /health/live | Liveness check. Returns 200 when the API process is alive. |
Endpoint groups
Payments
One-time charges, pre-authorizations, captures, refunds, voids, and transaction status lookups.
Recurring
Initialize and manage subscription billing - init, charge, update, cancel, and status.
Future Transactions
View, update, charge, or cancel scheduled future payments within a recurring plan.
Monitor API uptime and incidents at status.smartretry.com.