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

# Modelo de dados

> Objetos, chaves primárias, relacionamentos e convenções.

## Objetos

| Objeto | Endpoint | Chave primária | Filtro incremental |
| - | - | - | - |
| Contato | `/v1/contacts`, `/v1/contacts/{id}` | `id` | `updated_at` |
| Valor de campo | `/v1/contact_fields` | `contact_id`, `field_key` | `updated_at` |
| Conversa | `/v1/conversations` | `id` | `updated_at` |
| Mudança de etapa | `/v1/stage_events` | `id` | `created_at` (imutável) |
| Etapa | `/v1/pipeline_stages` | `id` | Página única |
| Campo | `/v1/fields` | `id` | Página única |
| Exclusão | `/v1/deletions` | `id` | `deleted_at` |

Atributos de cada objeto na [referência](/api-reference/introducao).

## Relacionamentos

```mermaid theme={null}
%%{init: {"theme": "neutral"}}%%
erDiagram
  contacts ||--o{ contact_fields : "contact_id"
  contacts ||--o{ conversations : "contact_id"
  contacts ||--o{ stage_events : "contact_id"
  pipeline_stages ||--o{ contacts : "current_stage_id"
  pipeline_stages ||--o{ stage_events : "to_stage_id"
  fields ||--o{ contact_fields : "key = field_key"
```

* `contact_fields` está em formato longo: uma linha por contato e campo.
* `fields` é versionado: mudar o tipo de um campo cria uma versão nova com a mesma `key`
  e preenche `archived_at` na anterior.

## Convenções

* JSON com atributos planos, em `snake_case`. Todo atributo está sempre presente; sem
  valor, vem `null`.
* Datas em ISO 8601, em UTC.
* Telefones em E.164.
* Identificadores são strings opacas.
* Não são expostos: conteúdo das mensagens, textos gerados por IA sobre o contato,
  instruções dos agentes e contatos do ambiente de teste.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.