DataBolsa docs
Referência da APIDados de mercadoObjects

Histórico da MAGNITUDE de uma relação snapshot

Uma linha por competência publicada da aresta — o equivalente relacional de `getObjectHistory`. Evita repetir `listObjectLinks?at=` para cada data. Só aceita verbos `snapshot`; `event` não tem magnitude que varia por retrato e `static` não publica série. Mais recente primeiro. Observação ausente não é zero: significa que a fonte não publicou magnitude plausível naquela competência.

GET
/v1/objects/{id}/links/history
AuthorizationBearer <token>

In: header

Path Parameters

idstring

Query Parameters

cursor?string
limit?integer
Default100
Range1 <= value <= 1000
relstring

Relação snapshot cuja magnitude será lida competência a competência.

Value in"issued" | "assigned_to" | "holds" | "manages" | "administers" | "custodies" | "audits" | "same_owner" | "shareholder_of" | "indexed_to" | "rates" | "mentions" | "measures" | "forecasts" | "contains" | "member_of" | "exposed_to_issuer" | "succeeded_by" | "produces" | "covers"
direction?string
Default"out"
Value in"out" | "in"
other_id?string

Prende o outro lado a um objeto específico.

source?string

Prende a afirmação a uma fonte específica.

from?string
Match^\d{4}-\d{2}-\d{2}$
to?string
Match^\d{4}-\d{2}-\d{2}$
resolve?string

Como interpretar o id recebido.

  • auto (default) — como REFERÊNCIA publicada: id fundido resolve sozinho para o sucessor (com redirected_from preenchido) e id cindido responde 409 com a lista.
  • exact — como o id do objeto que existe HOJE: nenhum histórico é consultado, e o id ou responde ou é 404.

Quando você precisa de exact: numa cisão, um dos sucessores é o PRÓPRIO id pedido — o ramo que ficou com a chave de nascimento herda o identificador. O 409 manda consultar cada sucessor, e consultar esse cairia no mesmo 409. exact é o endereço dele. Serve também para desligar o redirect automático de fusão quando você quer saber se o id que guardou ainda é o id de alguma coisa.

Default"auto"
Value in"auto" | "exact"

Response Body

curl -X GET "https://api.databolsa.com/v1/objects/string/links/history?cursor=string&limit=100&rel=issued&direction=out&other_id=string&source=string&from=string&to=string&resolve=auto"
{
  "data": [
    {
      "rel": "string",
      "shape": "snapshot",
      "direction": "out",
      "other_id": "string",
      "other_kind": "string",
      "other_name": "string",
      "other_key_type": "string",
      "other_key": "string",
      "source": "string",
      "observed_at": "string",
      "magnitude": 0,
      "magnitude_unit": "string",
      "confidence": "high"
    }
  ],
  "meta": {
    "next_cursor": "string",
    "count": 0,
    "total": 0,
    "subject": {
      "property1": "string",
      "property2": "string"
    }
  }
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "details": {
    "property1": null,
    "property2": null
  }
}

As SÉRIES de uma ou várias medidas, de um ou VÁRIOS objetos

**Aceita VÁRIOS ids no caminho (vírgula, até 50) e VÁRIAS medidas em `facts` (vírgula, até 10):** `/objects/pub_a,pub_b/history?facts=margem_ebit,roe&limit=6` devolve as quatro séries numa chamada, uma por (objeto, medida), cada uma com a própria régua. A forma é UMA só, com um id ou cinquenta: `data` é sempre a lista de séries e `meta.subjects` diz o que aconteceu com cada id. Medida que não existe para um objeto vem como item com `error` e a lista do que existe; id inexistente vem `status: not_found` no sujeito, não 404. **Orçamento:** ids × medidas ≤ 100 séries e ids × medidas × `limit` ≤ 100.000 pontos por chamada; acima disso é 422 com os números em `details`. A mesma chamada para histórico de indicador fundamentalista, de cota de fundo e de cotistas de FIDC — o que muda é `fact`. Antes disso eram três contratos com três convenções, e quem perguntasse precisava conhecer os três. EXEMPLOS COMPLETOS, com os parâmetros exatos: - P/L da PETR4 nos últimos anos → `facts=pl&series=PETR4` - cotistas de um FIDC ao longo do tempo → `facts=fidc_investors` - cota ajustada de um fundo em 2025 → `facts=quota&from=2025-01-01&to=2025-12-31` - inadimplência mensal de um FIDC → `facts=fidc_impaired_ratio` `series` escolhe a classe de ação quando a medida é de papel; sem ele responde a âncora e `meta.series` diz qual foi — classes nunca são somadas. `limit` corta pelos pontos MAIS RECENTES e os dados voltam em ordem cronológica: receber os mais antigos sem aviso se lê como 'a série acaba aí'. Medida que não se aplica a este objeto responde **item com `error` e a lista do que existe**, não série vazia — vazio afirmaria que não houve observação, que é outra coisa.

O resumo de um conjunto de relações, sem paginar nada

Responde perguntas sobre o CONJUNTO em uma chamada: quantas relações existem, quantos objetos distintos de cada lado, desde quando, e a maior magnitude observada. `relationship_count` conta relações DISTINTAS e é o número a reportar; `assertion_count` conta as afirmações que as sustentam, uma por (fonte, período contíguo), e é sempre maior ou igual — a diferença é redundância de fonte, não tamanho. `magnitude_max` é MÁXIMO e nunca soma: somar magnitude ao longo de competências produz número sem sentido. Use quando a pergunta for 'quantos/qual o maior/desde quando', em vez de percorrer as arestas uma a uma. CUSTO, medido contra produção em 16/08/2026: com `from_id` ou `to_id` responde em ~12ms, porque o recorte é indexado. SEM recorte, ou só com `rel`, a contagem de objetos distintos varre o conjunto inteiro e leva de 4 a 6 segundos. Prefira sempre recortar por objeto quando a pergunta for sobre um objeto.