curl -X GET https://api.chessplay.io/api/v1/students/ \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
import requests
headers = {"Authorization": "Bearer YOUR_ACCESS_TOKEN"}
response = requests.get(
"https://api.chessplay.io/api/v1/students/",
headers=headers
)
students = response.json()
print(f"Total students: {students['count']}")
const response = await fetch('https://api.chessplay.io/api/v1/students/', {
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
}
});
const students = await response.json();
console.log(`Total students: ${students.count}`);
<?php
$ch = curl_init('https://api.chessplay.io/api/v1/students/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_ACCESS_TOKEN'
]);
$response = curl_exec($ch);
$students = json_decode($response);
echo "Total students: {$students->count}\n";
curl_close($ch);
?>
{
"count": 25,
"next": "https://api.chessplay.io/api/v1/students/?page=2",
"previous": null,
"results": [
{
"id": 123,
"username": "FastMalamute",
"email": "john.doe@example.com",
"phone_number": "+1234567890",
"first_name": "John",
"last_name": "Doe",
"public_report_id": "abc-123-def-456",
"created": "2024-01-15T10:30:00Z"
},
{
"id": 124,
"username": "TalentedSnail",
"email": "jane.smith@example.com",
"phone_number": null,
"first_name": "Jane",
"last_name": "Smith",
"public_report_id": "xyz-789-uvw-012",
"created": "2024-01-16T14:20:00Z"
}
]
}
{
"detail": "Authentication credentials were not provided."
}
Students
List Students
Retrieve a paginated list of all students in your organization
GET
/
api
/
v1
/
students
/
curl -X GET https://api.chessplay.io/api/v1/students/ \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
import requests
headers = {"Authorization": "Bearer YOUR_ACCESS_TOKEN"}
response = requests.get(
"https://api.chessplay.io/api/v1/students/",
headers=headers
)
students = response.json()
print(f"Total students: {students['count']}")
const response = await fetch('https://api.chessplay.io/api/v1/students/', {
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
}
});
const students = await response.json();
console.log(`Total students: ${students.count}`);
<?php
$ch = curl_init('https://api.chessplay.io/api/v1/students/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_ACCESS_TOKEN'
]);
$response = curl_exec($ch);
$students = json_decode($response);
echo "Total students: {$students->count}\n";
curl_close($ch);
?>
{
"count": 25,
"next": "https://api.chessplay.io/api/v1/students/?page=2",
"previous": null,
"results": [
{
"id": 123,
"username": "FastMalamute",
"email": "john.doe@example.com",
"phone_number": "+1234567890",
"first_name": "John",
"last_name": "Doe",
"public_report_id": "abc-123-def-456",
"created": "2024-01-15T10:30:00Z"
},
{
"id": 124,
"username": "TalentedSnail",
"email": "jane.smith@example.com",
"phone_number": null,
"first_name": "Jane",
"last_name": "Smith",
"public_report_id": "xyz-789-uvw-012",
"created": "2024-01-16T14:20:00Z"
}
]
}
{
"detail": "Authentication credentials were not provided."
}
Authentication
string
required
Bearer token for authentication
Query Parameters
string
Search students by username, first name, last name, or email
integer
Page number for pagination (default: 1)
Response
integer
Total number of students in your organization
string
URL for the next page of results (null if no more pages)
string
URL for the previous page of results (null if first page)
array
Array of student objects
Show Student Object
Show Student Object
curl -X GET https://api.chessplay.io/api/v1/students/ \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
import requests
headers = {"Authorization": "Bearer YOUR_ACCESS_TOKEN"}
response = requests.get(
"https://api.chessplay.io/api/v1/students/",
headers=headers
)
students = response.json()
print(f"Total students: {students['count']}")
const response = await fetch('https://api.chessplay.io/api/v1/students/', {
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
}
});
const students = await response.json();
console.log(`Total students: ${students.count}`);
<?php
$ch = curl_init('https://api.chessplay.io/api/v1/students/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_ACCESS_TOKEN'
]);
$response = curl_exec($ch);
$students = json_decode($response);
echo "Total students: {$students->count}\n";
curl_close($ch);
?>
{
"count": 25,
"next": "https://api.chessplay.io/api/v1/students/?page=2",
"previous": null,
"results": [
{
"id": 123,
"username": "FastMalamute",
"email": "john.doe@example.com",
"phone_number": "+1234567890",
"first_name": "John",
"last_name": "Doe",
"public_report_id": "abc-123-def-456",
"created": "2024-01-15T10:30:00Z"
},
{
"id": 124,
"username": "TalentedSnail",
"email": "jane.smith@example.com",
"phone_number": null,
"first_name": "Jane",
"last_name": "Smith",
"public_report_id": "xyz-789-uvw-012",
"created": "2024-01-16T14:20:00Z"
}
]
}
{
"detail": "Authentication credentials were not provided."
}
Search Example
Search for students by name, username, or email:curl -X GET "https://api.chessplay.io/api/v1/students/?search=john" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Pagination Example
Navigate through pages of results:# Get first page
curl -X GET "https://api.chessplay.io/api/v1/students/?page=1" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
# Get second page
curl -X GET "https://api.chessplay.io/api/v1/students/?page=2" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
The default page size is 10 students per page. All students are automatically filtered to your organization.
Was this page helpful?
⌘I

