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

# Endpoints overview

> Every TESA API endpoint, grouped by resource, with the scope each one requires

<Warning>
  Draft: specification in progress. Endpoints and fields may change.
</Warning>

The pages in this section are generated from the repository's OpenAPI 3.1 specification (`en/api/openapi.yaml`, the English version of `api/openapi.yaml`). All paths are relative to the proposed base URL: `https://api.t3sa.com/v1` in production or `https://sandbox.api.t3sa.com/v1` in the sandbox. Neither is live yet.

Resource paths, field names, event names and error codes are in Portuguese by design and are the same in every language of this documentation.

Every request carries `Authorization: Bearer <key>`. State-changing requests accept `Idempotency-Key` and, in the current proposal, the optional HMAC signature with `Tesa-Timestamp` and `Tesa-Signature`. See [Authentication](/docs/en/api/autenticacao).

### Organization

| Method | Path | Scope | Operation |
| - | - | - | - |
| `GET` | [`/organizacao`](/docs/en/api/referencia/obter-organizacao) | `read` | Get organization |

### Wallets

| Method | Path | Scope | Operation |
| - | - | - | - |
| `GET` | [`/carteiras`](/docs/en/api/referencia/listar-carteiras) | `read` | List wallets |
| `POST` | [`/carteiras`](/docs/en/api/referencia/vincular-carteira) | `admin` | Link wallet |
| `GET` | [`/carteiras/{id}`](/docs/en/api/referencia/obter-carteira) | `read` | Get wallet |
| `POST` | [`/carteiras/{id}/desvincular`](/docs/en/api/referencia/desvincular-carteira) | `admin` | Unlink wallet |

### Positions

| Method | Path | Scope | Operation |
| - | - | - | - |
| `GET` | [`/posicoes`](/docs/en/api/referencia/obter-posicoes) | `read` | Get positions |

### Allocation policy

| Method | Path | Scope | Operation |
| - | - | - | - |
| `GET` | [`/politica-de-alocacao`](/docs/en/api/referencia/obter-politica-de-alocacao) | `read` | Get allocation policy |
| `PUT` | [`/politica-de-alocacao`](/docs/en/api/referencia/propor-nova-politica) | `admin` | Propose new policy |

### Proposals

| Method | Path | Scope | Operation |
| - | - | - | - |
| `GET` | [`/propostas`](/docs/en/api/referencia/listar-propostas) | `read` | List proposals |
| `POST` | [`/propostas`](/docs/en/api/referencia/criar-proposta-de-rebalanceamento) | `propose` | Create rebalancing proposal |
| `GET` | [`/propostas/{id}`](/docs/en/api/referencia/obter-proposta) | `read` | Get proposal |
| `POST` | [`/propostas/{id}/aprovar`](/docs/en/api/referencia/aprovar-proposta) | `admin` | Approve proposal |
| `POST` | [`/propostas/{id}/rejeitar`](/docs/en/api/referencia/rejeitar-proposta) | `admin` | Reject proposal |

### Redemptions

| Method | Path | Scope | Operation |
| - | - | - | - |
| `GET` | [`/resgates`](/docs/en/api/referencia/listar-resgates) | `read` | List redemptions |
| `POST` | [`/resgates`](/docs/en/api/referencia/solicitar-resgate) | `propose` | Request redemption |
| `GET` | [`/resgates/{id}`](/docs/en/api/referencia/obter-resgate) | `read` | Get redemption |
| `POST` | [`/resgates/{id}/aprovar`](/docs/en/api/referencia/aprovar-resgate) | `admin` | Approve redemption |

### Records

| Method | Path | Scope | Operation |
| - | - | - | - |
| `GET` | [`/registros`](/docs/en/api/referencia/listar-registros-on-chain) | `read` | List on-chain records |

### Yield and charges

| Method | Path | Scope | Operation |
| - | - | - | - |
| `GET` | [`/rendimento`](/docs/en/api/referencia/consultar-rendimento) | `read` | Get yield |
| `GET` | [`/cobrancas`](/docs/en/api/referencia/listar-cobrancas) | `read` | List charges |
| `GET` | [`/cobrancas/{id}`](/docs/en/api/referencia/obter-cobranca) | `read` | Get charge |

### Webhooks

| Method | Path | Scope | Operation |
| - | - | - | - |
| `GET` | [`/webhooks`](/docs/en/api/referencia/listar-destinos-de-webhook) | `admin` | List webhook destinations |
| `POST` | [`/webhooks`](/docs/en/api/referencia/cadastrar-destino-de-webhook) | `admin` | Register webhook destination |

<Note>
  No endpoint receives a private key or a signed transaction. After approval, the transactions go to the company or its custodian, which signs and broadcasts them. TESA tracks the on-chain confirmation and updates the status.
</Note>
