Skip to main content

Student Portfolio Pages

Students can curate a public portfolio page that displays selected certificates. Portfolio pages have a unique slug (e.g., maria-silva) and can be toggled public or private.

The portfolio page object

{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-000000000001",
  "slug": "maria-fernanda-silva",
  "is_public": true,
  "bio": "Computer science graduate passionate about AI and open source.",
  "student": {
    "uuid": "f6a7b8c9-d0e1-2345-fghi-456789012345",
    "name": "Maria Fernanda Silva"
  },
  "items": [
    {
      "uuid": "b2c3d4e5-f6a7-8901-bcde-000000000002",
      "sort_order": 1,
      "is_visible": true,
      "certificate": {
        "uuid": "a1b2c3d4-...",
        "public_verification_url": "https://verificar.dokstamp.eu/a1b2c3d4"
      }
    }
  ]
}

List student pages

GET /students/{student_uuid}/pages
curl "https://api.dokstamp.eu/students/f6a7b8c9-d0e1-2345-fghi-456789012345/pages" \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Accept: application/json" \
  -H "X-Tenant: {TENANT}"

Create a portfolio page

POST /students/{student_uuid}/pages
ParameterTypeRequiredDescription
slugstringYesURL-friendly unique identifier
is_publicbooleanNoDefault: false
biostringNoStudent bio displayed on the page
curl -X POST "https://api.dokstamp.eu/students/f6a7b8c9-d0e1-2345-fghi-456789012345/pages" \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-Tenant: {TENANT}" \
  -d '{
    "slug": "maria-fernanda-silva",
    "is_public": true,
    "bio": "Computer science graduate passionate about AI and open source."
  }'

Manage page items (certificates)

Add a certificate to the portfolio

POST /students/{student_uuid}/pages/{page_uuid}/items
ParameterTypeRequiredDescription
certificate_uuidstringYesUUID of the certificate to add
sort_orderintegerNoPosition in the portfolio
is_visiblebooleanNoDefault: true

List page items

GET /students/{student_uuid}/pages/{page_uuid}/items

Update item visibility or order

PATCH /students/{student_uuid}/pages/{page_uuid}/items/{item_uuid}

Remove a certificate from the portfolio

DELETE /students/{student_uuid}/pages/{page_uuid}/items/{item_uuid}
DELETE /students/{student_uuid}/pages/{page_uuid}/items/batch/destroy

Get, update, delete a portfolio page

GET    /students/{student_uuid}/pages/{page_uuid}
PATCH  /students/{student_uuid}/pages/{page_uuid}
PUT    /students/{student_uuid}/pages/{page_uuid}
DELETE /students/{student_uuid}/pages