Card Holders
Card holder management
List card holders
Returns card holders for the authenticated merchant with pagination.
Authorization
x-api-key<token>In: header
Query Parameters
limitunknownItems per page.
pageunknownPage number (1-indexed).
Response Body
CardHolderResponse paginated response
TypeScript Definitions
Use the response body type in TypeScript.
dataRequiredarray<object>paginationRequiredobjectcurl -X GET "https://example.com/card-holders?limit=20&page=1" \
-H "x-api-key: <token>"fetch("https://example.com/card-holders?limit=20&page=1", {
headers: {
"x-api-key": "<token>"
}
})package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://example.com/card-holders?limit=20&page=1"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}import requests
url = "https://example.com/card-holders?limit=20&page=1"
response = requests.request("GET", url, headers = {
"x-api-key": "<token>"
})
print(response.text){
"data": [
{
"cardHolderId": "holder_01J2Y8A9B0C1D2E3F4G5H6I7J8",
"merchantId": "mrc_01J2Y3Z4A5B6C7D8E9F0G1H2J3",
"cardOfferingId": "off_01J2Y7Q8R9S0T1U2V3W4X5Y6Z7",
"status": "approved",
"firstName": "John",
"lastName": "Doe",
"email": "john@example.com",
"createdAt": "2026-02-09T18:04:05.000Z"
}
],
"pagination": {
"total": 0,
"page": 0,
"limit": 0,
"totalPages": 0
}
}Create a card holder
Creates a card holder profile to support offerings that require holder KYC details.
Authorization
x-api-key<token>In: header
Request Body
application/jsonRequiredcardOfferingIdRequiredstringCard offering ID
areaCodeRequiredstringPhone area code
mobileRequiredstringemailRequiredstringfirstNameRequiredstringlastNameRequiredstringbirthdaystringyyyy-MM-dd format
countrystringISO 3166-1 alpha-2 code
townstringaddressstringpostCodestringResponse Body
CardHolderResponse response
TypeScript Definitions
Use the response body type in TypeScript.
dataRequiredobjectcurl -X POST "https://example.com/card-holders" \
-H "x-api-key: <token>" \
-H "Content-Type: application/json" \
-d '{
"cardOfferingId": "off_01J2Y7Q8R9S0T1U2V3W4X5Y6Z7",
"areaCode": "1",
"mobile": "5551234567",
"email": "holder@example.com",
"firstName": "John",
"lastName": "Doe",
"birthday": "1990-01-15",
"country": "US",
"town": "New York",
"address": "123 Main St",
"postCode": "10001"
}'const body = JSON.stringify({
"cardOfferingId": "off_01J2Y7Q8R9S0T1U2V3W4X5Y6Z7",
"areaCode": "1",
"mobile": "5551234567",
"email": "holder@example.com",
"firstName": "John",
"lastName": "Doe",
"birthday": "1990-01-15",
"country": "US",
"town": "New York",
"address": "123 Main St",
"postCode": "10001"
})
fetch("https://example.com/card-holders", {
headers: {
"x-api-key": "<token>"
},
body
})package main
import (
"fmt"
"net/http"
"io/ioutil"
"strings"
)
func main() {
url := "https://example.com/card-holders"
body := strings.NewReader(`{
"cardOfferingId": "off_01J2Y7Q8R9S0T1U2V3W4X5Y6Z7",
"areaCode": "1",
"mobile": "5551234567",
"email": "holder@example.com",
"firstName": "John",
"lastName": "Doe",
"birthday": "1990-01-15",
"country": "US",
"town": "New York",
"address": "123 Main St",
"postCode": "10001"
}`)
req, _ := http.NewRequest("POST", url, body)
req.Header.Add("x-api-key", "<token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}import requests
url = "https://example.com/card-holders"
body = {
"cardOfferingId": "off_01J2Y7Q8R9S0T1U2V3W4X5Y6Z7",
"areaCode": "1",
"mobile": "5551234567",
"email": "holder@example.com",
"firstName": "John",
"lastName": "Doe",
"birthday": "1990-01-15",
"country": "US",
"town": "New York",
"address": "123 Main St",
"postCode": "10001"
}
response = requests.request("POST", url, json = body, headers = {
"x-api-key": "<token>",
"Content-Type": "application/json"
})
print(response.text){
"data": {
"cardHolderId": "holder_01J2Y8A9B0C1D2E3F4G5H6I7J8",
"merchantId": "mrc_01J2Y3Z4A5B6C7D8E9F0G1H2J3",
"cardOfferingId": "off_01J2Y7Q8R9S0T1U2V3W4X5Y6Z7",
"status": "approved",
"firstName": "John",
"lastName": "Doe",
"email": "john@example.com",
"createdAt": "2026-02-09T18:04:05.000Z"
}
}Get card holder reference data
Returns reference datasets (regions, cities, dial codes) for holder onboarding forms.
Authorization
x-api-key<token>In: header
Query Parameters
cardOfferingIdRequiredstringCard offering ID.
countrystringISO 3166-1 alpha-2 country code.
Response Body
ReferenceDataResponse response
TypeScript Definitions
Use the response body type in TypeScript.
dataRequiredobjectcurl -X GET "https://example.com/card-holders/reference-data?cardOfferingId=off_01J2Y7Q8R9S0T1U2V3W4X5Y6Z7&country=US" \
-H "x-api-key: <token>"fetch("https://example.com/card-holders/reference-data?cardOfferingId=off_01J2Y7Q8R9S0T1U2V3W4X5Y6Z7&country=US", {
headers: {
"x-api-key": "<token>"
}
})package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://example.com/card-holders/reference-data?cardOfferingId=off_01J2Y7Q8R9S0T1U2V3W4X5Y6Z7&country=US"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}import requests
url = "https://example.com/card-holders/reference-data?cardOfferingId=off_01J2Y7Q8R9S0T1U2V3W4X5Y6Z7&country=US"
response = requests.request("GET", url, headers = {
"x-api-key": "<token>"
})
print(response.text){
"data": {
"regions": [
{
"code": "US",
"name": "United States"
}
],
"cities": [
{
"code": "US",
"name": "United States"
}
],
"areaCodes": [
{
"code": "US",
"name": "United States",
"dialCode": "+1"
}
]
}
}