Skip to content

Data

Corporate Actions

GET /data/corporate-actions/{identifier}

Parameters

Name In Type Required Description
identifier path string yes
start query string or null no Inclusive start date, YYYY-MM-DD.
end query string or null no Inclusive end date, YYYY-MM-DD.
types query array of string or null no Restrict to these action types, e.g. DIVIDEND, SPLIT.

Responses

Status Meaning Body
200 Successful Response CorporateActionsResponse

Also the shared errors: 400, 401, 404, 405, 422, 500, 501, 503.

Features Batch

GET /data/features

Parameters

Name In Type Required Description
identifiers query array of string yes Identifiers to look up. Repeat the parameter or comma-separate; at most 1000 per call.
date query string or null no Point-in-time date, YYYY-MM-DD. Returns only rows valid then.
fields query array of string or null no Reference columns to return, plus derived fields such as adv_3m. All stored columns and no derived field by default.
type query string or null no Restrict to one feature dataset. Omitted searches every one, which picks arbitrarily between two carrying the same field name.

Responses

Status Meaning Body
200 Successful Response FeatureBatchResponse

Also the shared errors: 400, 401, 404, 405, 422, 500, 501, 503.

Import Features

POST /data/features

Request body: FeatureImport

Responses

Status Meaning Body
201 Successful Response FeatureImportResult

Also the shared errors: 400, 401, 404, 405, 422, 500, 501, 503.

Feature Catalogue

GET /data/features/catalogue

Responses

Status Meaning Body
200 Successful Response FeatureCatalogue

Also the shared errors: 400, 401, 404, 405, 422, 500, 501, 503.

Features For

GET /data/features/{identifier}

Parameters

Name In Type Required Description
identifier path string yes
date query string or null no Point-in-time date, YYYY-MM-DD. Returns only rows valid then.
fields query array of string or null no Reference columns to return, plus derived fields such as adv_3m. All stored columns and no derived field by default.
type query string or null no Restrict to one feature dataset. Omitted searches every one, which picks arbitrarily between two carrying the same field name.

Responses

Status Meaning Body
200 Successful Response FeatureResponse

Also the shared errors: 400, 401, 404, 405, 422, 500, 501, 503.

Field Catalogue

GET /data/fields

Every datapoint an expression can name.

The features half already has its own catalogue; this adds the market and reference side so a client builds one field picker rather than one per dataset. Read from the loaded store rather than from the declaration, so a column nobody declared appears too.

Responses

Status Meaning Body
200 Successful Response FieldCatalogue

Also the shared errors: 400, 401, 404, 405, 422, 500, 501, 503.

Identifiers

GET /data/identifiers

Parameters

Name In Type Required Description
q query string or null no Fragment to match against identifier and name. Absent or empty enumerates instead of searching.
limit query integer no Maximum rows, at most 1000.
offset query integer no Rows to skip, for walking an enumeration.
datasets query array of string or null no Only return identifiers covered by all of these, e.g. 'market'. Comma-separated or repeated.

Responses

Status Meaning Body
200 Successful Response IdentifierSearchResponse

Also the shared errors: 400, 401, 404, 405, 422, 500, 501, 503.

Prices

GET /data/prices/{identifier}

Parameters

Name In Type Required Description
identifier path string yes
start query string or null no Inclusive start date, YYYY-MM-DD.
end query string or null no Inclusive end date, YYYY-MM-DD.
interval query string no native, weekly or monthly.
columns query array of string or null no Market-data columns to return; all by default.
adjusted query boolean no Add an ADJ_CLOSE column: CLOSE back-adjusted for splits and dividends, so the last value equals the last raw close and history is scaled. An adjusted series answers what a holder would have made and is no longer a price.

Responses

Status Meaning Body
200 Successful Response PricesResponse

Also the shared errors: 400, 401, 404, 405, 422, 500, 501, 503.

Reference Batch

GET /data/reference

Parameters

Name In Type Required Description
identifiers query array of string yes Identifiers to look up. Repeat the parameter or comma-separate; at most 1000 per call.
date query string or null no Point-in-time date, YYYY-MM-DD. Returns only rows valid then.
fields query array of string or null no Reference columns to return, plus derived fields such as adv_3m. All stored columns and no derived field by default.
currency query string or null no ISO code the converted money fields (market_cap, free_float_market_cap) are converted into, e.g. EUR — name the index's currency to compare caps against its weights. USD by default. The unconverted figures come back in market_cap_local and free_float_market_cap_local regardless.

Responses

Status Meaning Body
200 Successful Response BatchReferenceResponse

Also the shared errors: 400, 401, 404, 405, 422, 500, 501, 503.

Reference

GET /data/reference/{identifier}

One instrument's reference record, stored and derived.

fields and currency are honoured on the same terms as the batch form: a parameter one of the two accepts and the other ignores is the drift BN-149 closed here once already. Before it, fields was accepted and ignored, so market_cap came back empty from here and populated from /data/reference -- a parameter that looks supported while doing nothing, which is the failure a client cannot diagnose.

Universe memberships are answered here and not there: they were not answerable when this endpoint was written, because no universe could be created through the API and none was seeded, so the answer was always "none". BN-132 changed that.

Parameters

Name In Type Required Description
identifier path string yes
date query string or null no Point-in-time date, YYYY-MM-DD. Returns only rows valid then.
fields query array of string or null no Reference columns to return, plus derived fields such as adv_3m. All stored columns and no derived field by default.
currency query string or null no ISO code the converted money fields (market_cap, free_float_market_cap) are converted into, e.g. EUR — name the index's currency to compare caps against its weights. USD by default. The unconverted figures come back in market_cap_local and free_float_market_cap_local regardless.

Responses

Status Meaning Body
200 Successful Response ReferenceResponse

Also the shared errors: 400, 401, 404, 405, 422, 500, 501, 503.

Table Page

GET /data/tables/{dataset}

One page of a stored dataset, optionally narrowed to some names.

identifiers is the only filter, and it exists because one instrument's history -- its feature rows, its actions -- was otherwise reachable only by paging the whole table and filtering client-side, which is 964k rows to find a few dozen (BN-150).

Still no sorting or predicate parameters. A client needing those wants a query language, and this is the wrong place to grow one -- the per-identifier endpoints and the expression API cover the rest.

Parameters

Name In Type Required Description
dataset path string yes
offset query integer no Rows to skip, for walking an enumeration.
limit query integer no Maximum rows, at most 1000.
identifiers query array of string or null no Identifiers to look up. Repeat the parameter or comma-separate; at most 1000 per call.

Responses

Status Meaning Body
200 Successful Response TablePage

Also the shared errors: 400, 401, 404, 405, 422, 500, 501, 503.