Selo de estado:
Preview(badge) — na prática, FORA DE GA: a API de consulta REST está indisponível para uso externo hoje. Para leitura externa hoje, use o feed OData. Atualizado em 2026-09-08.
Fora de GA hoje
Contrato documentado para planejamento. Não construa integrações críticas sobre a API REST enquanto não for liberada.
Devolve linhas paginadas de uma tabela de mart publicado (*_gold/*_silver)
do workspace. Somente leitura, escopado ao workspace.
Resumo#
| Método · rota | GET /api/v1/tables/{dataset}/{table}?limit=&offset= |
| Base | https://ingestia.io |
| Auth | Chave de API (Authorization: Bearer ing_live_… ou ?api_key=) |
| Papel (RBAC) | exportação de dados (member+); chave de dados = owner |
| Custo | cobra pelos bytes reais lidos no datalake (ver abaixo) |
| Estados | 200 · 400 · 401 · 403 · 429 · 402 · 502 · 503 |
Parâmetros#
| Parâmetro | Onde | Padrão | Máx | Observação |
|---|---|---|---|---|
dataset | rota | — | — | precisa ser {prefixo}_gold ou {prefixo}_silver; senão 403 |
table | rota | — | — | só [A-Za-z0-9_] |
limit | query | 100 | 1000 | linhas por página |
offset | query | 0 | — | deslocamento inicial |
Exemplo#
curl -H "Authorization: Bearer ing_live_EXEMPLO" \
"https://ingestia.io/api/v1/tables/aurora_gold/vendas?limit=100&offset=0"const url = "https://ingestia.io/api/v1/tables/aurora_gold/vendas?limit=100&offset=0";
const res = await fetch(url, {
headers: { Authorization: "Bearer ing_live_EXEMPLO" },
});
const pagina = await res.json;import requests
res = requests.get(
"https://ingestia.io/api/v1/tables/aurora_gold/vendas",
params={"limit": 100, "offset": 0},
headers={"Authorization": "Bearer ing_live_EXEMPLO"},
)
pagina = res.jsonResposta 200#
{
"table": "vendas",
"rows": [ { "data": "2026-09-01", "total": 1234.56 } ],
"rowCount": 100,
"nextOffset": 100
}nextOffset é null quando não há mais páginas. A resposta traz o cabeçalho
x-ingestia-cost-brl (custo projetado da chamada).
Custo e paginação#
Paginar tabela grande é a forma mais cara de extrair
LIMIT/OFFSET não reduzem os bytes lidos no datalake — cada página varre
a tabela. A cobrança usa os bytes reais processados. Para pagar menos,
filtre/agregue com o feed OData (que faz pushdown de
$select/$filter).
Erros#
| Código | Quando |
|---|---|
400 | nome de dataset/tabela inválido |
401 | chave ausente/inválida |
403 | dataset não é um mart publicado do workspace / papel insuficiente |
429 · 402 | rate limit / inadimplência |
502 | falha ao consultar a tabela no datalake |
503 | limitador indisponível ou datalake não provisionado |
Segurança#
- Só marts publicados (gold/silver); qualquer outro dataset →
403. - Colunas PII não são expostas.
- Cobrança e SQL ficam na auditoria do workspace.
Relacionados#
Última revisão: 2026-09-08. Estado: REST fora de GA (badge Preview).
Fonte: matriz de estados do produto.