Skip to main content
POST
/
api
/
v1
/
students
curl -X POST https://api.chessplay.io/api/v1/students/ \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "password": "secure_password_123"
  }'
{
  "id": 125,
  "username": "BrainyTuna",
  "email": "student@example.com",
  "phone_number": null,
  "first_name": "John",
  "last_name": "Doe",
  "public_report_id": "def-456-ghi-789",
  "created": "2024-01-17T09:15:00Z"
}

Documentation Index

Fetch the complete documentation index at: https://developer.chessplay.io/llms.txt

Use this file to discover all available pages before exploring further.

Authentication

Authorization
string
required
Bearer token for authentication (Admin only)

Body Parameters

password
string
required
Student’s password (will be hashed securely)
email
string
Student’s email address
first_name
string
Student’s first name
last_name
string
Student’s last name
username
string
Student’s username (auto-generated if not provided)
phone_number
string
Student’s phone number

Response

id
integer
Unique identifier for the created student
username
string
Student’s username (auto-generated in AdjectiveNoun format if not provided)
email
string
Student’s email address
phone_number
string
Student’s phone number
first_name
string
Student’s first name
last_name
string
Student’s last name
public_report_id
string
Auto-generated public UUID for student reports
created
string
ISO 8601 timestamp of when the student was created
curl -X POST https://api.chessplay.io/api/v1/students/ \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "password": "secure_password_123"
  }'
{
  "id": 125,
  "username": "BrainyTuna",
  "email": "student@example.com",
  "phone_number": null,
  "first_name": "John",
  "last_name": "Doe",
  "public_report_id": "def-456-ghi-789",
  "created": "2024-01-17T09:15:00Z"
}

Auto-Generated Usernames

If you don’t provide a username, one will be automatically generated in PascalCase format:
  • FastMalamute
  • TalentedSnail
  • BrainyTuna
  • DiligentAardwolf
Only password is required. All other fields (email, name, username) are optional and will be auto-generated or left empty.

With Optional Fields

curl -X POST https://api.chessplay.io/api/v1/students/ \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "password": "secure_password_123",
    "username": "john_doe_2024",
    "email": "student@example.com",
    "first_name": "John",
    "last_name": "Doe",
    "phone_number": "+1234567890"
  }'

Important Notes

Only Admin users can create students. Coach and Student users will receive a 403 Forbidden error.
Each organization has a maximum student limit. If you reach this limit, contact support to increase it.
Passwords are securely hashed using industry-standard algorithms. They are never stored in plain text.