Skip to main content
GET
/
api
/
v1
/
intents
List payment intents
curl --request GET \
  --url https://qint-api.fly.dev/api/v1/intents \
  --header 'Authorization: Bearer <token>'
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://qint-api.fly.dev/api/v1/intents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://qint-api.fly.dev/api/v1/intents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
import requests

url = "https://qint-api.fly.dev/api/v1/intents"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
{
  "items": [
    {
      "id": "pi_x7k2m9p4q1w8",
      "status": "settled",
      "amount": 49.9,
      "currency": "CHF",
      "title": "Order #1001",
      "assetSymbol": "USDT",
      "cryptoAmount": "55.48765432",
      "depositAddress": "TX8k…",
      "checkoutUrl": "https://checkout.qint.ch/pay/pi_x7k2m9p4q1w8",
      "returnUrl": null,
      "createdAt": "2026-07-08T09:15:00+00:00",
      "expiresAt": "2026-07-08T09:30:00+00:00",
      "confirmedAt": "2026-07-08T09:21:12+00:00",
      "settledAt": "2026-07-08T09:24:03+00:00"
    }
  ],
  "total": 1,
  "page": 1,
  "pageSize": 20
}
{
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
"title": "An error occurred while processing your request.",
"status": 400,
"detail": "Currency must be one of CHF, EUR, USD.",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-00"
}
{
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
"title": "An error occurred while processing your request.",
"status": 400,
"detail": "Currency must be one of CHF, EUR, USD.",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-00"
}
{
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
"title": "An error occurred while processing your request.",
"status": 400,
"detail": "Currency must be one of CHF, EUR, USD.",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-00"
}

Authorizations

Authorization
string
header
required

Authorization: Bearer qk_live_… — a Qint API key created in the dashboard under Developers → API keys.

Query Parameters

status
enum<string>

Only return intents with this status. Values are matched case-insensitively (settled and Settled both work).

Lifecycle of a payment intent. Transitions follow initiated → pending → confirmed → settled, with failed, expired and cancelled branches. Terminal states never change again — except that a merchant may resolve an underpaid, expired payment as accepted from the dashboard review queue, which moves it expired → settled.

Available options:
initiated,
pending,
confirmed,
settled,
failed,
expired,
cancelled
page
integer
default:1

1-based page number. Values below 1 are clamped to 1.

Required range: x >= 1
pageSize
integer
default:20

Items per page. Clamped to 1–100.

Required range: 1 <= x <= 100

Response

A page of payment intents.

items
object[]
required
total
integer
required

Total number of intents matching the filter.

page
integer
required

The 1-based page number that was returned.

pageSize
integer
required

The page size that was applied (1–100).