Skip to main content
POST
https://api.chessplay.io
/
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"
}

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.