> ## 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.

# Multi-tenancy & Headers

> Todo recurso da API é isolado por tenant. Saiba como informar seu identificador de tenant.

# Multi-tenancy & Headers

O DokStamp é uma plataforma **multi-tenant**. Todos os recursos — instituições, cursos, estudantes, certificados — são totalmente isolados dentro de um tenant. Não há acesso a dados entre tenants distintos.

***

## Headers obrigatórios

Todos os endpoints de recursos (tudo exceto `/oauth/token` e `/auth/*`) exigem estes headers:

| Header          | Obrigatório | Descrição                                             |
| --------------- | ----------- | ----------------------------------------------------- |
| `Authorization` | Sim         | `Bearer {access_token}`                               |
| `Accept`        | Sim         | `application/json`                                    |
| `X-Tenant`      | Sim         | Seu identificador de tenant (fornecido pelo DokStamp) |

### Exemplo

```http theme={null}
GET /certificates HTTP/1.1
Host: api.dokstamp.com
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...
Accept: application/json
X-Tenant: universidade-federal-example
```

***

## Encontrando seu identificador de tenant

Seu identificador de tenant é fornecido quando sua conta é criada. Você também pode obtê-lo a partir do corpo da resposta de `GET /auth/me`:

```json theme={null}
{
  "data": {
    "uuid": "550e8400-e29b-41d4-a716-446655440000",
    "name": "João Silva",
    "email": "joao@universidade.edu.br",
    "tenant": {
      "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "name": "Universidade Federal Example",
      "domain": "universidade-federal-example"
    }
  }
}
```

Use o valor de `tenant.domain` como seu header `X-Tenant`.

***

## Regras de isolamento de tenant

* Dados criados em um tenant **nunca são visíveis** para outro tenant.
* UUIDs são globalmente únicos, mas todas as operações de leitura/escrita são filtradas por tenant.
* Tentar acessar um recurso que pertence a um tenant diferente retorna `404 Not Found` (não `403`) — isso previne ataques de enumeração.
