> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dokstamp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Páginas de Portfólio do Estudante

> Permite que estudantes criem uma página pública que apresenta os certificados conquistados.

# Páginas de Portfólio do Estudante

Os estudantes podem criar uma página de portfólio público que apresenta certificados selecionados. As páginas de portfólio possuem um `slug` único (ex.: `maria-silva`) e podem ser alternadas entre público e privado.

***

## O objeto página de portfólio

```json theme={null}
{
  "uuid": "a1b2c3d4-e5f6-7890-abcd-000000000001",
  "slug": "maria-fernanda-silva",
  "is_public": true,
  "bio": "Formada em Ciência da Computação, apaixonada por IA e código aberto.",
  "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"
      }
    }
  ]
}
```

***

## Listar páginas do estudante

```http theme={null}
GET /students/{student_uuid}/pages
```

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://api.dokstamp.com/students/f6a7b8c9-d0e1-2345-fghi-456789012345/pages" \
    -H "Authorization: Bearer {TOKEN}" \
    -H "Accept: application/json" \
    -H "X-Tenant: {TENANT}"
  ```
</CodeGroup>

***

## Criar uma página de portfólio

```http theme={null}
POST /students/{student_uuid}/pages
```

| Parâmetro   | Tipo    | Obrigatório | Descrição                                    |
| ----------- | ------- | ----------- | -------------------------------------------- |
| `slug`      | string  | Sim         | Identificador único amigável para URL        |
| `is_public` | boolean | Não         | Padrão: `false`                              |
| `bio`       | string  | Não         | Biografia do estudante apresentada na página |

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST "https://api.dokstamp.com/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": "Formada em Ciência da Computação, apaixonada por IA e código aberto."
    }'
  ```
</CodeGroup>

***

## Gerir itens da página (certificados)

### Adicionar um certificado ao portfólio

```http theme={null}
POST /students/{student_uuid}/pages/{page_uuid}/items
```

| Parâmetro          | Tipo    | Obrigatório | Descrição                       |
| ------------------ | ------- | ----------- | ------------------------------- |
| `certificate_uuid` | string  | Sim         | UUID do certificado a adicionar |
| `sort_order`       | integer | Não         | Posição no portfólio            |
| `is_visible`       | boolean | Não         | Padrão: `true`                  |

### Listar itens da página

```http theme={null}
GET /students/{student_uuid}/pages/{page_uuid}/items
```

### Atualizar visibilidade ou ordem do item

```http theme={null}
PATCH /students/{student_uuid}/pages/{page_uuid}/items/{item_uuid}
```

### Remover um certificado do portfólio

```http theme={null}
DELETE /students/{student_uuid}/pages/{page_uuid}/items/{item_uuid}
DELETE /students/{student_uuid}/pages/{page_uuid}/items/batch/destroy
```

***

## Obter, atualizar, eliminar uma página de portfólio

```http theme={null}
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
```
