Skip to main content

Base URL

https://api.chessplay.io/api

Authentication

All requests need a JWT token:
Authorization: Bearer YOUR_TOKEN
See Authentication for details.

Available APIs

Endpoints

Students

MethodEndpointDescription
GET/v1/students/List students
POST/v1/students/Create student
GET/v1/students/{id}/Get student
PATCH/v1/students/{id}/Update student
DELETE/v1/students/{id}/Delete student

Classrooms

MethodEndpointDescription
GET/v1/classrooms/List classrooms
POST/v1/classrooms/Create classroom
GET/v1/classrooms/{id}/Get classroom
PATCH/v1/classrooms/{id}/Update classroom
DELETE/v1/classrooms/{id}/Delete classroom
POST/v1/classrooms/{id}/add-student/Add student
POST/v1/classrooms/{id}/remove-student/Remove student

Batches

MethodEndpointDescription
GET/v1/batches/List batches
POST/v1/batches/Create batch
GET/v1/batches/{id}/Get batch
PATCH/v1/batches/{id}/Update batch
DELETE/v1/batches/{id}/Delete batch
POST/v1/batches/{id}/add-student/Add student
POST/v1/batches/{id}/remove-student/Remove student

Common Features

Pagination

List endpoints return paginated results (10 per page):
{
  "count": 100,
  "next": "https://api.chessplay.io/api/v1/students/?page=2",
  "previous": null,
  "results": [...]
}
Use ?search= to filter results:
GET /v1/students/?search=john
GET /v1/classrooms/?search=beginner

Organization Scoping

All data is automatically filtered to your organization. You only see your own data.

Permissions

  • Admin: Full access (create, update, delete)
  • Coach/Student: Read-only (list, retrieve)

Response Codes

CodeMeaning
200Success
201Created
204Deleted
400Bad request
401Unauthorized
403Forbidden
404Not found