List lecturers
curl --request GET \
--url https://api.zenamu.com/v1/lecturers \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.zenamu.com/v1/lecturers"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.zenamu.com/v1/lecturers', 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.zenamu.com/v1/lecturers",
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://api.zenamu.com/v1/lecturers"
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://api.zenamu.com/v1/lecturers")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zenamu.com/v1/lecturers")
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{
"statusCode": 200,
"message": "Success",
"data": [
{
"_id": "a05e73c81df946b20c3ea8175f6b4e92",
"name": "Jane Smith",
"photo": "https://storage.zenamu.com/photos/jane-smith.jpg",
"bio": "Certified yoga lecturer with ten years of experience.",
"isVisible": true,
"isActive": true
},
{
"_id": "7c6a2e05d93f18b4ae50c72f1bd8a394",
"name": "Sarah Johnson",
"photo": null,
"bio": "Meditation and mindfulness coach.",
"isVisible": false,
"isActive": false
}
]
}{
"statusCode": 401,
"error": "Error",
"message": "Missing access token. You must send your access token in the request header ('Authorization: Bearer YOUR_ACCESS_TOKEN' )"
}{
"statusCode": 403,
"error": "Error",
"message": "The Zenamu public API is not available on the Free tariff."
}{
"statusCode": 404,
"error": "Error",
"message": "API key not found"
}{
"statusCode": 429,
"error": "Too Many Requests",
"message": "Rate limit exceeded: up to 100 requests per minute per endpoint."
}{
"statusCode": 500,
"error": "Internal Server Error",
"message": "We apologize, but there was an error on our end. If problems persist, please contact us at [email protected]"
}Returns the lecturers of your studio, so you can resolve the
lecturerIds returned by the classes and workshops endpoints into
names, photos, and biographies.
Contact details are never returned. Internal Zenamu system accounts are filtered out. See the Lecturer object for details.
GET
/
v1
/
lecturers
List lecturers
curl --request GET \
--url https://api.zenamu.com/v1/lecturers \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.zenamu.com/v1/lecturers"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.zenamu.com/v1/lecturers', 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.zenamu.com/v1/lecturers",
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://api.zenamu.com/v1/lecturers"
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://api.zenamu.com/v1/lecturers")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zenamu.com/v1/lecturers")
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{
"statusCode": 200,
"message": "Success",
"data": [
{
"_id": "a05e73c81df946b20c3ea8175f6b4e92",
"name": "Jane Smith",
"photo": "https://storage.zenamu.com/photos/jane-smith.jpg",
"bio": "Certified yoga lecturer with ten years of experience.",
"isVisible": true,
"isActive": true
},
{
"_id": "7c6a2e05d93f18b4ae50c72f1bd8a394",
"name": "Sarah Johnson",
"photo": null,
"bio": "Meditation and mindfulness coach.",
"isVisible": false,
"isActive": false
}
]
}{
"statusCode": 401,
"error": "Error",
"message": "Missing access token. You must send your access token in the request header ('Authorization: Bearer YOUR_ACCESS_TOKEN' )"
}{
"statusCode": 403,
"error": "Error",
"message": "The Zenamu public API is not available on the Free tariff."
}{
"statusCode": 404,
"error": "Error",
"message": "API key not found"
}{
"statusCode": 429,
"error": "Too Many Requests",
"message": "Rate limit exceeded: up to 100 requests per minute per endpoint."
}{
"statusCode": 500,
"error": "Internal Server Error",
"message": "We apologize, but there was an error on our end. If problems persist, please contact us at [email protected]"
}Authorizations
Your public API key (zen_pub_…), sent as Authorization: Bearer <key>. Browser-safe. See Authentication.
Query Parameters
Set to true to also return lecturers who are no longer active. Useful when resolving IDs on past events. Only the exact string true enables it.
Available options:
true 
