API SPECIFICATION

HTTP API
v0.3.0

Public read-only API. OpenAPI 3.1.0.

Reviewed 2026-10-05GET / HEAD · JSON · no-store
01 / HTTP

Connection

BASE URLhttps://api.ai-investment-research.net
Protocol
HTTPS
Methods
GET, HEAD
Response
application/json
Cache
Cache-Control: no-store
API version
0.3.0
OpenAPI
3.1.0
/openapi.json
Canonical API contract
/llms.txt
Machine-readable usage notes
/health
Public health metadata
02 / ENDPOINTS

Routes

CORE
/v1/datasets
Dataset definitions
/v1/sources
Authorized source notices and scope
/v1/latest
Latest accepted revision per exact series; maximum 100 series
/v1/observations
Append-only observation and correction history
/v1/changes
Same-condition value changes
/v1/fx
ECB reference FX and derived USD/JPY
MODELS
/v1/models/coverage
Model catalog snapshot coverage
/v1/models/events
Catalog and price history events
GPU
/v1/gpu/catalog
GPU identification dictionary
/v1/gpu/coverage
Search coverage and completeness
/v1/gpu/metrics
Comparable cohort statistics
/v1/gpu/comparisons
Persisted GPU comparisons
METADATA
/v1/methodology/{id}
Methodology or source-license notice
/health
Public data / collector health metadata
/openapi.json
OpenAPI 3.1 contract
/llms.txt
Machine-readable usage notes

Route existence does not imply that a dataset currently contains public observations.

03 / QUERY

Parameters

limit
1–100 where supported; default 50 on paginated endpoints.
cursor
Opaque keyset cursor. Keep filters unchanged when continuing a query.
from / to
UTC interval. History queries support a maximum interval of 366 days.
as_of
Knowledge cutoff timestamp. Current source rights still apply.
dataset
Dataset filter. ai_model_catalog is opt-in.
snapshot / model_snapshot
Snapshot-scoped retrieval for complete model/GPU captures where supported.
04 / RESPONSE

Conventions

schema_version
Public response schema version.
decimal
Decimal values are serialized as strings.
null
Unknown or unavailable. Never equivalent to zero.
next_cursor
Present when another page is available.
observed_at
Source observation timestamp.
recorded_at
Persistence / correction timestamp.
05 / ERRORS

HTTP status

400
Invalid filter, interval or cursor
404
No matching data or resource
405
Read-only endpoint; Allow: GET, HEAD
429
Rate limit
503
Public data store unavailable