List Transactions
curl --request GET \
--url https://api.oneclickdz.com/v3/bills/transactions \
--header 'X-Access-Token: <api-key>'import requests
url = "https://api.oneclickdz.com/v3/bills/transactions"
headers = {"X-Access-Token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Access-Token': '<api-key>'}};
fetch('https://api.oneclickdz.com/v3/bills/transactions', 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://api.oneclickdz.com/v3/bills/transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Access-Token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.oneclickdz.com/v3/bills/transactions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Access-Token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.oneclickdz.com/v3/bills/transactions")
.header("X-Access-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.oneclickdz.com/v3/bills/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Access-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{}
],
"meta": {
"timestamp": "<string>",
"total": 123,
"limit": 123,
"offset": 123
}
}Bill Payment
List Transactions
Your transaction history, newest first
GET
/
v3
/
bills
/
transactions
List Transactions
curl --request GET \
--url https://api.oneclickdz.com/v3/bills/transactions \
--header 'X-Access-Token: <api-key>'import requests
url = "https://api.oneclickdz.com/v3/bills/transactions"
headers = {"X-Access-Token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Access-Token': '<api-key>'}};
fetch('https://api.oneclickdz.com/v3/bills/transactions', 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://api.oneclickdz.com/v3/bills/transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Access-Token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.oneclickdz.com/v3/bills/transactions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Access-Token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.oneclickdz.com/v3/bills/transactions")
.header("X-Access-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.oneclickdz.com/v3/bills/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Access-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{}
],
"meta": {
"timestamp": "<string>",
"total": 123,
"limit": 123,
"offset": 123
}
}Lists the transactions created with your key, newest first, in the key’s environment only.
Each row carries the same fields as Get Transaction by ID, including
bills, selectedBills and error.Query parameters
string
One of
PENDING, READY, PROCESSING, UNKNOWN, SUCCESS, FAILED, REFUNDED.string
One partner name.
string
ISO 8601 date-time; keeps transactions created at or after it.
string
ISO 8601 date-time; keeps transactions created at or before it.
integer
default:"20"
Page size, 1 to 100.
integer
default:"0"
Number of rows to skip.
Response
object[]
required
Transactions, with the fields of Get Transaction by ID.
object
required
Example
curl "https://api.oneclickdz.com/v3/bills/transactions?status=SUCCESS&from=2026-09-20T00:00:00Z&to=2026-09-21T00:00:00Z&limit=100" \
-H "X-Access-Token: YOUR_API_KEY"
const url = new URL("https://api.oneclickdz.com/v3/bills/transactions");
url.search = new URLSearchParams({
status: "SUCCESS",
from: "2026-09-20T00:00:00Z",
to: "2026-09-21T00:00:00Z",
limit: "100",
}).toString();
const response = await fetch(url, {
headers: { "X-Access-Token": process.env.ONECLICKDZ_API_KEY },
});
const body = await response.json();
if (!body.success) throw new Error(body.error.code);
const { total } = body.meta; // page with offset until you have read `total` rows
import os, requests
response = requests.get(
"https://api.oneclickdz.com/v3/bills/transactions",
params={
"status": "SUCCESS",
"from": "2026-09-20T00:00:00Z",
"to": "2026-09-21T00:00:00Z",
"limit": 100,
},
headers={"X-Access-Token": os.environ["ONECLICKDZ_API_KEY"]},
)
body = response.json()
if not body["success"]:
raise RuntimeError(body["error"]["code"])
total = body["meta"]["total"] # page with offset until you have read `total` rows
<?php
$url = "https://api.oneclickdz.com/v3/bills/transactions?" . http_build_query([
"status" => "SUCCESS",
"from" => "2026-09-20T00:00:00Z",
"to" => "2026-09-21T00:00:00Z",
"limit" => 100,
]);
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["X-Access-Token: " . getenv("ONECLICKDZ_API_KEY")],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);
if (!$body["success"]) {
throw new Exception($body["error"]["code"]);
}
$total = $body["meta"]["total"]; // page with offset until you have read `total` rows
?>
Response
{
"success": true,
"data": [
{
"transactionId": "68cdf0a2b7c1e4d5f6a7b8c9",
"ref": "disc-20260920-0003",
"type": "payment",
"status": "SUCCESS",
"partner": "SEAAL",
"account": { "codeClient": "100001" },
"currency": "DZD",
"selectedBill": { "billId": "F061612640", "amount": 912.66, "fee": 30, "label": "Facture SEAAL - Eau", "period": "3ème trimestre 2026" },
"selectedBills": [
{ "billId": "F061612640", "amount": 456.33, "fee": 30, "label": "Facture SEAAL - Eau", "period": "3ème trimestre 2026" },
{ "billId": "F060286499", "amount": 456.33, "fee": 30, "label": "Facture SEAAL - Eau", "period": "2ème trimestre 2026" }
],
"total": 942.66,
"receiptUrl": "https://api.oneclickdz.com/v3/bills/transactions/68cdf0a2b7c1e4d5f6a7b8c9/receipt",
"operationId": "SEAAL-2026-000123",
"createdAt": "2026-09-20T10:15:32.194Z",
"updatedAt": "2026-09-20T10:17:48.006Z",
"completedAt": "2026-09-20T10:17:48.006Z"
}
],
"meta": { "timestamp": "2026-09-21T06:00:00.000Z", "total": 1, "limit": 100, "offset": 0 },
"requestId": "req_3e4f5g6h7i8j9k0l1m2n3o4p"
}
Errors
| HTTP | Code | Meaning |
|---|---|---|
| 400 | ERR_VALIDATION | Unknown status or partner, invalid date, limit outside 1–100, negative offset |
| 401 | MISSING_ACCESS_TOKEN / INVALID_ACCESS_TOKEN | Missing or rejected key |
| 503 | AUTH_UNAVAILABLE | The key could not be verified in time; retry after Retry-After |

