List Customers
curl --request GET \
--url https://ipos.dev.nowbookit.com/Customers \
--header 'X-API-KEY: <api-key>'import requests
url = "https://ipos.dev.nowbookit.com/Customers"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://ipos.dev.nowbookit.com/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://ipos.dev.nowbookit.com/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 => [
"X-API-KEY: <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://ipos.dev.nowbookit.com/Customers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<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://ipos.dev.nowbookit.com/Customers")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://ipos.dev.nowbookit.com/Customers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"from": 123,
"to": 123,
"length": 123,
"items": [
{
"id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"fullName": "<string>",
"email": "<string>",
"phone": "<string>",
"phoneNational": "<string>",
"phone2": "<string>",
"birthdayDate": 123,
"birthdayMonth": 123,
"birthdayYear": 123,
"company": "<string>",
"address": {
"line1": "<string>",
"line2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
},
"notes": "<string>",
"noShowCount": 123,
"tags": [
{
"id": "<string>",
"identifier": "<string>",
"name": "<string>"
}
],
"subscribed": true,
"lastModifiedDate": "<string>"
}
]
}Customers
GET /Customers
Retrieve a paginated list of customer records.
GET
/
Customers
List Customers
curl --request GET \
--url https://ipos.dev.nowbookit.com/Customers \
--header 'X-API-KEY: <api-key>'import requests
url = "https://ipos.dev.nowbookit.com/Customers"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://ipos.dev.nowbookit.com/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://ipos.dev.nowbookit.com/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 => [
"X-API-KEY: <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://ipos.dev.nowbookit.com/Customers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<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://ipos.dev.nowbookit.com/Customers")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://ipos.dev.nowbookit.com/Customers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"from": 123,
"to": 123,
"length": 123,
"items": [
{
"id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"fullName": "<string>",
"email": "<string>",
"phone": "<string>",
"phoneNational": "<string>",
"phone2": "<string>",
"birthdayDate": 123,
"birthdayMonth": 123,
"birthdayYear": 123,
"company": "<string>",
"address": {
"line1": "<string>",
"line2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
},
"notes": "<string>",
"noShowCount": 123,
"tags": [
{
"id": "<string>",
"identifier": "<string>",
"name": "<string>"
}
],
"subscribed": true,
"lastModifiedDate": "<string>"
}
]
}Retrieve a paginated list of customer records. Use filters to narrow results by ID or last-modified date range.
Response is a paginated result with
Example 200 Response
string
required
Your API key
string
Filter to a specific customer by ID
string
Filter by last modified date (start), in Sydney time. Format:
yyyy-MM-ddTHH:mm:ss, e.g. 2024-06-15T19:00:00string
Filter by last modified date (end), in Sydney time. Format:
yyyy-MM-ddTHH:mm:ss, e.g. 2024-06-15T19:00:00string
Sort order:
asc or descinteger
Number of records to return
integer
Zero-based offset for pagination
curl --location '[BASE_URL]/Customers?Limit=20&StartIndex=0' \
--header 'X-API-KEY: your_api_key_here'
from, to, length, and items (array of CustomerSearchResult).
CustomerSearchResult fields
| Field | Type | Description |
|---|---|---|
id | string | NowBookIt customer ID |
firstName | string | First name |
lastName | string | Last name |
fullName | string | Full name |
email | string | Email address |
phone | string | Phone in international format |
phoneNational | string | Phone in national format |
phone2 | string | Secondary phone |
birthdayDate | integer | Day of birth (1–31) |
birthdayMonth | integer | Month of birth (1–12) |
birthdayYear | integer | Year of birth |
company | string | Company name |
address | object | line1, line2, city, state, postalCode, country |
notes | string | Internal notes |
noShowCount | integer | Number of no-shows |
tags | array | Tags: [{ id, identifier, name }] |
subscribed | boolean | Subscribed to marketing emails |
lastModifiedDate | string | UTC datetime of last update |
{
"from": 0,
"to": 1,
"length": 1,
"items": [
{
"id": "cust-abc123",
"firstName": "Jane",
"lastName": "Smith",
"fullName": "Jane Smith",
"email": "[email protected]",
"phone": "+61412345678",
"phoneNational": "0412345678",
"birthdayDate": 15,
"birthdayMonth": 6,
"birthdayYear": 1985,
"address": {
"line1": "123 Main St",
"city": "Sydney",
"state": "NSW",
"postalCode": "2000",
"country": "Australia"
},
"notes": "Prefers window seating",
"noShowCount": 0,
"tags": [{ "id": "tag-1", "identifier": "vip", "name": "VIP" }],
"subscribed": true,
"lastModifiedDate": "2024-03-15T10:30:00Z"
}
]
}
| Status | Description |
|---|---|
200 | Customers returned |
400 | API key not associated with a venue |
400 | No Venue Subscribed to your App. |
401 | X-API-KEY missing or invalid |
429 | Rate limit exceeded |
500 | An error occurred. |
Authorizations
Headers
API Key authentication header
Pass 'gzip' to receive compressed response.
Query Parameters
Narrow the Filter search by specifying NBI Customer Id.
The Customer Last Modified Date to Start Search from (Sydney time). Format: 'yyyy-MM-ddTHH:mm:ss'
The Customer Last Modified Date to End Search from (Sydney time). Format: 'yyyy-MM-ddTHH:mm:ss'
Sort result in Ascending or Descending order by FirstName and LastName.
Available options:
Asc, Desc Max number of records to return, default is 100, max is 100.
Required range:
1 <= x <= 100Number of matching records to skip before returning the matches, default is 0.