Skip to main content
GET
/
clients
List all clients
curl --request GET \
  --url https://api.contazen.ro/v1/clients \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.contazen.ro/v1/clients"

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

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

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.contazen.ro/v1/clients', 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.contazen.ro/v1/clients",
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;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.contazen.ro/v1/clients"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

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.contazen.ro/v1/clients")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.contazen.ro/v1/clients")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "success": true,
  "data": {
    "object": "list",
    "has_more": true,
    "total": 123,
    "page": 123,
    "per_page": 123,
    "total_pages": 123,
    "data": [
      {
        "id": "cli_1a2b3c4d5e",
        "object": "client",
        "name": "<string>",
        "email": "jsmith@example.com",
        "phone": "<string>",
        "cui": "<string>",
        "cui_prefix": "<string>",
        "rc": "<string>",
        "address": "<string>",
        "city": "<string>",
        "county": "<string>",
        "country": "<string>",
        "postal_code": "<string>",
        "iban": "<string>",
        "bank": "<string>",
        "contact_person": "<string>",
        "created_at": 123,
        "updated_at": 123,
        "metadata": {
          "invoices_count": 123,
          "total_invoiced": 123,
          "unpaid_total": 123
        },
        "stats": {
          "total_invoiced": 123,
          "total_collected": 123,
          "avg_payment_days": 123,
          "last_payment": {
            "date": 123,
            "amount": 123,
            "currency": "<string>",
            "bill_id": "<string>",
            "bill_number": "<string>"
          },
          "monthly_series": [
            {
              "label": "Mar 2026",
              "year": 123,
              "month": 123,
              "invoiced": 123,
              "collected": 123
            }
          ]
        }
      }
    ]
  },
  "meta": {
    "version": "v1",
    "request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "response_time": "23.45ms"
  }
}
{
"success": false,
"error": {
"message": "<string>",
"code": "<string>",
"param": "<string>",
"doc_url": "<string>"
},
"meta": {
"version": "v1",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"response_time": "23.45ms"
}
}

Authorizations

Authorization
string
header
required

Use your API key (sk_live_xxx or sk_test_xxx)

Query Parameters

page
integer
default:1

Page number (1-indexed)

Required range: x >= 1
per_page
integer
default:50

Number of items per page

Required range: 1 <= x <= 100

Search term for name, email, or CUI

client_type
enum<string>

Filter by client type (b2b = companies, b2c = individuals)

Available options:
b2b,
b2c
sort
enum<string>

Sort field. When omitted, results are ordered by aggregated total_invoiced DESC (the default surface for the client list).

Available options:
name,
created_at,
total_invoiced,
invoices_count
order
enum<string>
default:asc

Sort order (ignored when sort is omitted)

Available options:
asc,
desc

Response

List of clients. Each item includes a metadata block with invoices_count and total_invoiced aggregated across the firm's fiscal invoices (snapshot-aware), so the list view can render totals without a follow-up call.

success
boolean
data
object
meta
object