# Conta

> Consultas da sua própria conta: saldo e extrato dos créditos pré-pagos, histórico de chamadas e consumo do mês. O cliente é sempre o dono da API key; nenhuma rota recebe o cliente como parâmetro.

**Base**: `https://api.prismadata.io/v1`

**Autenticação**: header `X-Apikey` (ou query `api_key`). Detalhes em [Autenticação](autenticacao.md).

**Formato de resposta**: JSON plano com campos `prismadata__<serviço>__<campo>`; em lote, dicionário indexado pelas chaves enviadas. Detalhes em [Formato de Resposta](guias/formato-de-resposta.md).

## Endpoints

### `GET /account/credits`

Saldo válido agora, produtos liberados (`permitido`), produtos sem preço nos pacotes vigentes (`sem_configuracao`) e todos os pacotes, com saldo e preço por produto. Os pacotes vêm ordenados pelo fim da validade: o primeiro da lista é o próximo a ser usado.

**Exemplo curl**:

```bash
curl -X GET "https://api.prismadata.io/v1/account/credits" \
  -H "X-Apikey: SEU_TOKEN"
```

**Response 200** (`application/json`):

> Successful Response

| Campo | Tipo | Obrigatório | Descrição |
|-------|------|-------------|-----------|
| `tenant_id` | integer | sim | Cliente dono da API key. |
| `saldo_valido` | string | sim | Soma do saldo dos pacotes vigentes agora, em reais (pacotes vencidos ou que ainda não começaram ficam de fora). |
| `permitido` | object | sim | Por produto: `true` se o saldo paga ao menos 1 item agora. |
| `sem_configuracao` | array[string] | não | Produtos sem preço nos pacotes vigentes (chamadas a eles respondem 403). |
| `pacotes` | array[object] | não | Todos os pacotes (vigentes, futuros e vencidos), o que vence antes primeiro. |

**Outros códigos**: 401, 422, 429

---

### `GET /account/credits/debits`

Débitos dos créditos pré-pagos, mais recentes primeiro. Cada chamada cobrada gera um débito por produto e por pacote usado. Sem filtro de data, traz as últimas 24 horas (máximo de 31 dias).

**Exemplo curl**:

```bash
curl -X GET "https://api.prismadata.io/v1/account/credits/debits" \
  -H "X-Apikey: SEU_TOKEN"
# Params opcionais: package_id=0, date_from=string, date_to=string, page=1, page_size=50
```

**Parâmetros**:

| Nome | Local | Tipo | Obrigatório | Descrição |
|------|-------|------|-------------|-----------|
| `package_id` | query | integer \| null | não | Filtra os débitos de um pacote. |
| `date_from` | query | string(date-time) \| null | não | Início do intervalo (ISO 8601, UTC). Padrão: 24 horas antes de `date_to`. |
| `date_to` | query | string(date-time) \| null | não | Fim do intervalo (ISO 8601, UTC). Padrão: agora. O intervalo máximo é de 31 dias. |
| `page` | query | integer | não | Página (começa em 1). |
| `page_size` | query | integer | não | Itens por página (1 a 200). |

**Response 200** (`application/json`):

> Successful Response

| Campo | Tipo | Obrigatório | Descrição |
|-------|------|-------------|-----------|
| `items` | array[object] | sim |  |
| `total` | integer | sim | Total de débitos no filtro. |
| `page` | integer | sim | Página atual. |
| `page_size` | integer | sim | Itens por página. |
| `pages` | integer | sim | Total de páginas. |

**Outros códigos**: 401, 422, 429

---

### `GET /account/activities`

Chamadas feitas com as API keys da conta, mais recentes primeiro. Sem filtro de data, traz as últimas 24 horas (máximo de 31 dias).

**Exemplo curl**:

```bash
curl -X GET "https://api.prismadata.io/v1/account/activities" \
  -H "X-Apikey: SEU_TOKEN"
# Params opcionais: endpoint=string, status=0, date_from=string, date_to=string, page=1, page_size=50
```

**Parâmetros**:

| Nome | Local | Tipo | Obrigatório | Descrição |
|------|-------|------|-------------|-----------|
| `endpoint` | query | string \| null | não | Filtra as chamadas cuja rota contém o texto. |
| `status` | query | integer \| null | não | Filtra pelo status HTTP da resposta. |
| `date_from` | query | string(date-time) \| null | não | Início do intervalo (ISO 8601, UTC). Padrão: 24 horas antes de `date_to`. |
| `date_to` | query | string(date-time) \| null | não | Fim do intervalo (ISO 8601, UTC). Padrão: agora. O intervalo máximo é de 31 dias. |
| `page` | query | integer | não | Página (começa em 1). |
| `page_size` | query | integer | não | Itens por página (1 a 200). |

**Response 200** (`application/json`):

> Successful Response

| Campo | Tipo | Obrigatório | Descrição |
|-------|------|-------------|-----------|
| `items` | array[object] | sim |  |
| `total` | integer | sim | Total de atividades no filtro. |
| `page` | integer | sim | Página atual. |
| `page_size` | integer | sim | Itens por página. |
| `pages` | integer | sim | Total de páginas. |

**Outros códigos**: 401, 422, 429

---

### `GET /account/consumption`

Quantidade de itens cobráveis e custo por produto no mês informado, pela tabela de preços do contrato.

**Exemplo curl**:

```bash
curl -X GET "https://api.prismadata.io/v1/account/consumption?periodo=string" \
  -H "X-Apikey: SEU_TOKEN"
```

**Parâmetros**:

| Nome | Local | Tipo | Obrigatório | Descrição |
|------|-------|------|-------------|-----------|
| `periodo` | query | string | sim | Mês no formato AAAA-MM. |

**Response 200** (`application/json`):

> Successful Response

| Campo | Tipo | Obrigatório | Descrição |
|-------|------|-------------|-----------|
| `tenant_id` | integer | sim | Cliente dono da API key. |
| `periodo` | string | sim | Mês consultado (AAAA-MM). |
| `backends` | array[object] | sim | Consumo por produto. |
| `total_requisicoes` | integer | sim | Itens cobráveis no mês. |
| `custo_total` | string | sim | Custo total no mês, em reais. |

**Outros códigos**: 401, 422, 429

---

## Recursos relacionados

- Documentação Redoc interativa: https://prismadata.io/redoc.html#tag/Conta
- OpenAPI só deste produto (JSON): https://prismadata.io/llm/openapi/conta.json
- OpenAPI completo: https://prismadata.io/openapi.yaml
- Índice geral: https://prismadata.io/llms.txt
