Students
Students are the recipients of certificates. Unlike institutions and courses, students are registered at the tenant level — they are not tied to a specific institution or course when created. A student can be enrolled in multiple courses and receive multiple certificates.
The student object
{
"uuid": "f6a7b8c9-d0e1-2345-fghi-456789012345",
"name": "Maria Fernanda Silva",
"email": "maria@email.com",
"date_of_birth": "1998-05-20",
"gender": "female",
"social_name": null,
"created_at": "2024-01-20T14:30:00.000000Z"
}
| Field | Type | Description |
|---|
uuid | string | Unique identifier |
name | string | Full legal name |
email | string | Email address |
date_of_birth | date | Date of birth (ISO 8601: YYYY-MM-DD) |
gender | string | Gender identity |
social_name | string|null | Social/preferred name (used in certificates if set) |
List students
# Search by email to avoid duplicate registration
curl "https://api.dokstamp.eu/students?where[email]=maria@email.com" \
-H "Authorization: Bearer {TOKEN}" \
-H "Accept: application/json" \
-H "X-Tenant: {TENANT}"
Always search by email before creating a new student to prevent duplicates. Use GET /students?where[email]=student@email.com.
Create a student
| Parameter | Type | Required | Description |
|---|
name | string | Yes | Full legal name |
email | string | Yes | Email address (must be unique within the tenant) |
date_of_birth | date | Yes | Date of birth (YYYY-MM-DD) |
gender | string | No | Gender identity |
social_name | string | No | Preferred/social name |
curl -X POST https://api.dokstamp.eu/students \
-H "Authorization: Bearer {TOKEN}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Tenant: {TENANT}" \
-d '{
"name": "Maria Fernanda Silva",
"email": "maria@email.com",
"date_of_birth": "1998-05-20",
"gender": "female"
}'
Response 201:
{
"data": {
"uuid": "f6a7b8c9-d0e1-2345-fghi-456789012345",
"name": "Maria Fernanda Silva",
"email": "maria@email.com",
"date_of_birth": "1998-05-20",
"gender": "female",
"social_name": null
}
}
Get a student
Use includes to load related data:
GET /students/{uuid}?includes[enrollments]=1&includes[certificates]=1
Update a student
Send only the fields to change. Updating a student’s name after a certificate has been issued does not change the name on existing certificates — the credential subject snapshot captured at issuance time is immutable.
Delete a student
DELETE /students/{uuid}
DELETE /students/batch/destroy
Soft delete. Certificates issued to the student remain in the system.