Skip to main content
GET
/
customers
/
List customers
curl --request GET \
  --url https://sandboxapi.kelviq.com/api/v1/customers/ \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://sandboxapi.kelviq.com/api/v1/customers/"

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

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

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

fetch('https://sandboxapi.kelviq.com/api/v1/customers/', 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://sandboxapi.kelviq.com/api/v1/customers/",
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://sandboxapi.kelviq.com/api/v1/customers/"

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://sandboxapi.kelviq.com/api/v1/customers/")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://sandboxapi.kelviq.com/api/v1/customers/")

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
{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
      "customerId": "unique-customer-id-123",
      "name": "John Doe",
      "email": "new.customer@example.com",
      "details": {},
      "metadata": {
        "source": "sdk_import",
        "priority": "high"
      },
      "billingAddress": {
        "country": "IN",
        "line1": "123 Main Street",
        "line2": "Apt 4B",
        "postalCode": "560001",
        "city": "Bangalore",
        "state": "Karnataka"
      },
      "createdOn": "2025-06-04T06:03:30.195790Z",
      "modifiedOn": "2025-06-04T06:03:30.195831Z"
    }
  ]
}
Click the base URL in the API playground and select the Sandbox host for test data or the Production host for live data. Use credentials from the same environment.

Authorizations

Authorization
string
header
required

The Server API Key obtained from the kelviq application. Pass as a Bearer token in the Authorization header. Example: 'Authorization: Bearer YOUR_API_KEY'

Query Parameters

Free-text search across the customer's name, email and customerId.

page_size
integer

Number of results to return per page. Defaults to 1000, maximum 10000.

page
integer

The page number of results to return.

Response

200 - application/json

A paginated list of customers.

count
integer
next
string<uri> | null
previous
string<uri> | null
results
object[]