Get Member
curl --request GET \
--url https://api.kardow.com/members/{lookup} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.kardow.com/members/{lookup}"
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://api.kardow.com/members/{lookup}', 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.kardow.com/members/{lookup}",
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://api.kardow.com/members/{lookup}"
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://api.kardow.com/members/{lookup}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.kardow.com/members/{lookup}")
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{
"data": {
"member": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organizationId": 123,
"email": "jsmith@example.com",
"name": "<string>",
"role": "<string>",
"approvalStatus": "<string>",
"authMethod": "<string>",
"profilePicture": "<string>",
"description": "<string>",
"customFields": {}
},
"subscriptions": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organizationId": 123,
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"planId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "<string>",
"stripeSubscriptionId": "<string>",
"currentPeriodStart": "2023-11-07T05:31:56Z",
"currentPeriodEnd": "2023-11-07T05:31:56Z",
"cancelAt": "2023-11-07T05:31:56Z",
"canceledAt": "2023-11-07T05:31:56Z",
"jobsRemaining": 123,
"metadata": {}
}
],
"payments": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organizationId": 123,
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"jobId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"planId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"amount": 123,
"currency": "<string>",
"status": "<string>",
"paymentProvider": "<string>",
"stripeSessionId": "<string>",
"stripePaymentIntentId": "<string>",
"metadata": {}
}
],
"hasValidPaywallSubscription": true
}
}{
"error": {
"message": "<string>",
"code": "<string>",
"details": "<unknown>",
"url": "<string>"
}
}{
"error": {
"message": "<string>",
"code": "<string>",
"details": "<unknown>",
"url": "<string>"
}
}{
"error": {
"message": "<string>",
"code": "<string>",
"details": "<unknown>",
"url": "<string>"
}
}{
"error": {
"message": "<string>",
"code": "<string>",
"details": "<unknown>",
"url": "<string>"
}
}Members
Get Member
Fetch a member profile together with subscriptions, payments, and paywall status
GET
/
members
/
{lookup}
Get Member
curl --request GET \
--url https://api.kardow.com/members/{lookup} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.kardow.com/members/{lookup}"
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://api.kardow.com/members/{lookup}', 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.kardow.com/members/{lookup}",
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://api.kardow.com/members/{lookup}"
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://api.kardow.com/members/{lookup}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.kardow.com/members/{lookup}")
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{
"data": {
"member": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organizationId": 123,
"email": "jsmith@example.com",
"name": "<string>",
"role": "<string>",
"approvalStatus": "<string>",
"authMethod": "<string>",
"profilePicture": "<string>",
"description": "<string>",
"customFields": {}
},
"subscriptions": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organizationId": 123,
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"planId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "<string>",
"stripeSubscriptionId": "<string>",
"currentPeriodStart": "2023-11-07T05:31:56Z",
"currentPeriodEnd": "2023-11-07T05:31:56Z",
"cancelAt": "2023-11-07T05:31:56Z",
"canceledAt": "2023-11-07T05:31:56Z",
"jobsRemaining": 123,
"metadata": {}
}
],
"payments": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organizationId": 123,
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"jobId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"planId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"amount": 123,
"currency": "<string>",
"status": "<string>",
"paymentProvider": "<string>",
"stripeSessionId": "<string>",
"stripePaymentIntentId": "<string>",
"metadata": {}
}
],
"hasValidPaywallSubscription": true
}
}{
"error": {
"message": "<string>",
"code": "<string>",
"details": "<unknown>",
"url": "<string>"
}
}{
"error": {
"message": "<string>",
"code": "<string>",
"details": "<unknown>",
"url": "<string>"
}
}{
"error": {
"message": "<string>",
"code": "<string>",
"details": "<unknown>",
"url": "<string>"
}
}{
"error": {
"message": "<string>",
"code": "<string>",
"details": "<unknown>",
"url": "<string>"
}
}Use this endpoint when you need the current state of one member as Kardow sees it.
Path Parameter
string
required
Member email or member UUID.
Examples
Look up a member by email
cURL
curl --request GET \
--url https://api.kardow.com/members/member%40example.com \
--header "x-api-key: your-api-key-here"
Look up a member by UUID
cURL
curl --request GET \
--url https://api.kardow.com/members/11111111-1111-1111-1111-111111111111 \
--header "x-api-key: your-api-key-here"
JavaScript example
const response = await fetch(
"https://api.kardow.com/members/member%40example.com",
{
headers: {
"x-api-key": process.env.KARDOW_API_KEY,
},
}
);
const result = await response.json();
console.log(result.data.hasValidPaywallSubscription);
Response Shape
object
required
The organization-scoped member record.
array
required
All subscriptions for the member in this organization.
array
required
Recorded payments for the member in this organization.
boolean
required
Fast summary for paywall checks.
Example response
{
"data": {
"member": {
"id": "11111111-1111-1111-1111-111111111111",
"organizationId": 42,
"email": "member@example.com",
"name": "Taylor Member",
"role": "employee",
"approvalStatus": "approved",
"profilePicture": null,
"description": null,
"customFields": null
},
"subscriptions": [
{
"id": "22222222-2222-2222-2222-222222222222",
"organizationId": 42,
"userId": "11111111-1111-1111-1111-111111111111",
"planId": "33333333-3333-3333-3333-333333333333",
"status": "active",
"stripeSubscriptionId": "sub_123",
"currentPeriodStart": "2026-03-10T12:00:00.000Z",
"currentPeriodEnd": "2026-04-10T12:00:00.000Z",
"cancelAt": null,
"canceledAt": null,
"jobsRemaining": null,
"metadata": null
}
],
"payments": [],
"hasValidPaywallSubscription": true
}
}
Was this page helpful?
āI