curl --request GET \
--url https://schoolmaker.co/api/v1/members/audit \
--header 'Authorization: Bearer <token>'import requests
url = "https://schoolmaker.co/api/v1/members/audit"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://schoolmaker.co/api/v1/members/audit', 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://schoolmaker.co/api/v1/members/audit",
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://schoolmaker.co/api/v1/members/audit"
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://schoolmaker.co/api/v1/members/audit")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://schoolmaker.co/api/v1/members/audit")
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{
"identity": {
"id": "e668129c-9bce-43b5-ab0c-d01fc045dafe",
"email": "audit-http@example.test",
"first_name": "Audit",
"last_name": "Member",
"last_seen_at": null,
"is_active": true,
"is_banned": false,
"created_at": "2026-10-02T09:37:19.238Z",
"updated_at": "2026-10-02T09:37:19.260Z",
"profile_picture_url": "https://example.schoolmaker.co/rails/active_storage/blobs/redirect/SIGNED_ID/avatar.png"
},
"offers": {
"data": [
{
"id": "790bc848-d852-49c0-85de-2b9260350482",
"offer_id": "6e8cedeb-8d9b-433f-9f0a-3109d1119ef7",
"is_active": true,
"drip_boost": 0,
"offer_name": "Audit QA offer",
"purchased_at": "2026-10-02T09:37:19.390Z"
}
],
"page": 1,
"next_page": null
},
"programs": {
"data": [
{
"id": "599c0385-6324-4153-9025-74a3a92ab464",
"name": "Audit QA program 0",
"progression_rate": 33,
"time_spent": 21,
"first_viewed_at": "2026-09-29T09:37:19.000Z",
"last_viewed_at": "2026-10-01T09:37:19.000Z",
"lessons_started_not_finished": {
"data": [
{
"id": "cce3348b-6b90-4c88-94bc-6853ada7d80f",
"name": "Audit unfinished 0"
},
{
"id": "3fa8dc38-373d-4f63-b50f-e1ad9493ec9c",
"name": "Audit unfinished 1"
}
],
"page": 1,
"next_page": null
}
}
],
"page": 1,
"next_page": null
},
"activity": [
{
"id": "c9e6b98b-a369-4349-9ab4-0e341f6335f4",
"action": "show",
"eventable_id": "e668129c-9bce-43b5-ab0c-d01fc045dafe",
"eventable_type": "Member",
"duration": null,
"created_at": "2026-10-02T09:37:20.345Z"
}
],
"community": {
"post_count": 1,
"comment_count": 1,
"latest_posts": [
{
"id": "66c9deb9-c23b-450c-8ddf-d8c405a3548c",
"title": "Getting started",
"created_at": "2026-10-02T04:37:20.198Z"
}
],
"latest_comments": [
{
"id": "e177ad30-15e5-40e0-916a-b2d8766b471c",
"post_id": "66c9deb9-c23b-450c-8ddf-d8c405a3548c",
"body": "Reply 5"
}
]
},
"consultations": {
"count": 1,
"latest": [
{
"id": "51790bc7-bd5f-4723-8de7-7d88994d6680",
"title": "My next steps",
"category_id": "aca40bb5-4b37-4093-9ee4-4d764738c7ac",
"created_at": "2026-10-02T04:37:20.198Z"
}
]
},
"coaching": {
"data": [
{
"id": "40ab4830-66f8-4500-8fe4-4e3b4ce3e79c",
"name": "Coaching Type 8477",
"unit": "minutes",
"used": 90,
"remaining": 30,
"last_appointment_date": "2026-10-03T09:37:19.000Z"
},
{
"id": "a008fb7c-8931-4240-bf10-6257c31f8c62",
"name": "Coaching Type 9053",
"unit": "sessions",
"used": 1,
"remaining": 2,
"last_appointment_date": "2026-10-03T09:37:19.000Z"
}
],
"page": 1,
"next_page": null
},
"leaderboard": {
"points": 50,
"rank": 1
},
"level": {
"number": 2,
"unlocked_rewards": [
"Audit earned"
],
"rewards_to_unlock": [
"Audit future"
]
}
}{
"error": "Access denied"
}{
"error": "You do not have permission to perform this action"
}{
"error": "Record not found"
}{
"error": "Invalid numeric parameter"
}Get Member Audit
Retrieves a member’s offers, programs, coaching and recent activity. Supply id or email. Activity includes the latest 30 entries, with up to five community posts and consultation questions.
curl --request GET \
--url https://schoolmaker.co/api/v1/members/audit \
--header 'Authorization: Bearer <token>'import requests
url = "https://schoolmaker.co/api/v1/members/audit"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://schoolmaker.co/api/v1/members/audit', 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://schoolmaker.co/api/v1/members/audit",
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://schoolmaker.co/api/v1/members/audit"
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://schoolmaker.co/api/v1/members/audit")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://schoolmaker.co/api/v1/members/audit")
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{
"identity": {
"id": "e668129c-9bce-43b5-ab0c-d01fc045dafe",
"email": "audit-http@example.test",
"first_name": "Audit",
"last_name": "Member",
"last_seen_at": null,
"is_active": true,
"is_banned": false,
"created_at": "2026-10-02T09:37:19.238Z",
"updated_at": "2026-10-02T09:37:19.260Z",
"profile_picture_url": "https://example.schoolmaker.co/rails/active_storage/blobs/redirect/SIGNED_ID/avatar.png"
},
"offers": {
"data": [
{
"id": "790bc848-d852-49c0-85de-2b9260350482",
"offer_id": "6e8cedeb-8d9b-433f-9f0a-3109d1119ef7",
"is_active": true,
"drip_boost": 0,
"offer_name": "Audit QA offer",
"purchased_at": "2026-10-02T09:37:19.390Z"
}
],
"page": 1,
"next_page": null
},
"programs": {
"data": [
{
"id": "599c0385-6324-4153-9025-74a3a92ab464",
"name": "Audit QA program 0",
"progression_rate": 33,
"time_spent": 21,
"first_viewed_at": "2026-09-29T09:37:19.000Z",
"last_viewed_at": "2026-10-01T09:37:19.000Z",
"lessons_started_not_finished": {
"data": [
{
"id": "cce3348b-6b90-4c88-94bc-6853ada7d80f",
"name": "Audit unfinished 0"
},
{
"id": "3fa8dc38-373d-4f63-b50f-e1ad9493ec9c",
"name": "Audit unfinished 1"
}
],
"page": 1,
"next_page": null
}
}
],
"page": 1,
"next_page": null
},
"activity": [
{
"id": "c9e6b98b-a369-4349-9ab4-0e341f6335f4",
"action": "show",
"eventable_id": "e668129c-9bce-43b5-ab0c-d01fc045dafe",
"eventable_type": "Member",
"duration": null,
"created_at": "2026-10-02T09:37:20.345Z"
}
],
"community": {
"post_count": 1,
"comment_count": 1,
"latest_posts": [
{
"id": "66c9deb9-c23b-450c-8ddf-d8c405a3548c",
"title": "Getting started",
"created_at": "2026-10-02T04:37:20.198Z"
}
],
"latest_comments": [
{
"id": "e177ad30-15e5-40e0-916a-b2d8766b471c",
"post_id": "66c9deb9-c23b-450c-8ddf-d8c405a3548c",
"body": "Reply 5"
}
]
},
"consultations": {
"count": 1,
"latest": [
{
"id": "51790bc7-bd5f-4723-8de7-7d88994d6680",
"title": "My next steps",
"category_id": "aca40bb5-4b37-4093-9ee4-4d764738c7ac",
"created_at": "2026-10-02T04:37:20.198Z"
}
]
},
"coaching": {
"data": [
{
"id": "40ab4830-66f8-4500-8fe4-4e3b4ce3e79c",
"name": "Coaching Type 8477",
"unit": "minutes",
"used": 90,
"remaining": 30,
"last_appointment_date": "2026-10-03T09:37:19.000Z"
},
{
"id": "a008fb7c-8931-4240-bf10-6257c31f8c62",
"name": "Coaching Type 9053",
"unit": "sessions",
"used": 1,
"remaining": 2,
"last_appointment_date": "2026-10-03T09:37:19.000Z"
}
],
"page": 1,
"next_page": null
},
"leaderboard": {
"points": 50,
"rank": 1
},
"level": {
"number": 2,
"unlocked_rewards": [
"Audit earned"
],
"rewards_to_unlock": [
"Audit future"
]
}
}{
"error": "Access denied"
}{
"error": "You do not have permission to perform this action"
}{
"error": "Record not found"
}{
"error": "Invalid numeric parameter"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Member ID. Takes precedence over email.
1 - 255Member email, used when id is omitted. Matching ignores case and surrounding spaces. Supply id or email.
Page applied separately to offers, programs and coaching.
1 <= x <= 10000Maximum rows in every paginated collection.
1 <= x <= 30Page of unfinished lessons within every returned program. Keep page unchanged when following a lesson next_page.
1 <= x <= 10000Response
Member audit.
Leaderboard and level are included when enabled. Use page for the main lists and lessons_page for unfinished lessons.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Coaching usage and the last appointment date include future published appointments.
Show child attributes
Show child attributes
30Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?