- Institutional / JVMTM / reserve-provenance / GRU transport + standards JSON - Validation and verify scripts (Blockscout labels, x402, GRU preflight, P1 local path) - Wormhole wiring in AGENTS, MCP_SETUP, MASTER_INDEX, 04-configuration README - Meta docs, integration gaps, live verification log, architecture updates - CI validate-config workflow updates Operator/LAN items, submodule working trees, and public token-aggregation edge routes remain follow-up (see TODOS_CONSOLIDATED P1). Made-with: Cursor
134 lines
3.6 KiB
YAML
134 lines
3.6 KiB
YAML
openapi: 3.1.0
|
|
info:
|
|
title: DBIS Data API
|
|
version: 0.1.0
|
|
description: |
|
|
Public read API for data.d-bis.org — monetary aggregates, GRU series, settlement summaries, rates.
|
|
Every response MUST declare lineage via `x-dbis-lineage` on operations: `on_chain`, `policy`, `modelled`.
|
|
servers:
|
|
- url: https://data.d-bis.org
|
|
description: Production
|
|
- url: http://localhost:8080
|
|
description: Local
|
|
tags:
|
|
- name: gru
|
|
- name: reserves
|
|
- name: settlement
|
|
- name: rates
|
|
paths:
|
|
/v1/health:
|
|
get:
|
|
summary: Liveness
|
|
operationId: health
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status: { type: string, example: ok }
|
|
/v1/gru/supply:
|
|
get:
|
|
tags: [gru]
|
|
summary: GRU supply time series (when defined)
|
|
operationId: gruSupply
|
|
x-dbis-lineage: policy
|
|
parameters:
|
|
- name: from
|
|
in: query
|
|
schema: { type: string, format: date }
|
|
- name: to
|
|
in: query
|
|
schema: { type: string, format: date }
|
|
responses:
|
|
"200":
|
|
description: Series points
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/TimeSeriesResponse"
|
|
"501":
|
|
description: Not yet published
|
|
/v1/reserves/summary:
|
|
get:
|
|
tags: [reserves]
|
|
summary: Reserve holdings summary
|
|
operationId: reservesSummary
|
|
x-dbis-lineage: on_chain
|
|
responses:
|
|
"200":
|
|
description: Summary
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ReservesSummary"
|
|
/v1/settlement/volumes:
|
|
get:
|
|
tags: [settlement]
|
|
summary: Settlement volume aggregates
|
|
operationId: settlementVolumes
|
|
x-dbis-lineage: on_chain
|
|
parameters:
|
|
- name: window
|
|
in: query
|
|
schema: { type: string, enum: [1h, 24h, 7d, 30d] }
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/SettlementVolumes"
|
|
/v1/rates/reference:
|
|
get:
|
|
tags: [rates]
|
|
summary: Reference rates (policy or observed)
|
|
operationId: referenceRates
|
|
x-dbis-lineage: policy
|
|
responses:
|
|
"200":
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
additionalProperties: true
|
|
components:
|
|
schemas:
|
|
LineageMeta:
|
|
type: object
|
|
required: [lineage, asOf]
|
|
properties:
|
|
lineage:
|
|
type: string
|
|
enum: [on_chain, policy, modelled]
|
|
asOf: { type: string, format: date-time }
|
|
source: { type: string }
|
|
TimeSeriesResponse:
|
|
allOf:
|
|
- $ref: "#/components/schemas/LineageMeta"
|
|
- type: object
|
|
properties:
|
|
unit: { type: string }
|
|
points:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required: [t, v]
|
|
properties:
|
|
t: { type: string, format: date-time }
|
|
v: { type: number }
|
|
ReservesSummary:
|
|
allOf:
|
|
- $ref: "#/components/schemas/LineageMeta"
|
|
- type: object
|
|
additionalProperties: true
|
|
SettlementVolumes:
|
|
allOf:
|
|
- $ref: "#/components/schemas/LineageMeta"
|
|
- type: object
|
|
properties:
|
|
window: { type: string }
|
|
totalValue: { type: string, description: Decimal string }
|
|
txCount: { type: integer }
|