Data Registry
The Data Registry controls which data you pull and from where. A dataset is a category of data (for example, a company subset like financials or shareholders); a dataset profile is a saved selection of subsets plus a provider priority order, so a team can standardize "when we look up a company, fetch these subsets from these providers first."
All endpoints live under /datasets/v1 and are
scoped.
Browse datasets and subset types
# Datasets accessible in the current scope
curl "https://api.lexabit.com/datasets/v1" \
-H "Authorization: Bearer $LEXABIT_TOKEN" -H "X-Scope: 42"
# The available subset types you can select in a profile
curl "https://api.lexabit.com/datasets/v1/subset-types" \
-H "Authorization: Bearer $LEXABIT_TOKEN" -H "X-Scope: 42"
GET /datasets/v1/{id} returns a single dataset.
The selectable subset types come from the platform's registry. If
/subset-types is empty, no profile can be built against them — that's a
provisioning gap, not a permissions problem.
Create a dataset profile
A profile bundles a subset_selection with an optional provider_priorities
order and a scope (global, entity, or profession). Mark one is_default
to have it applied automatically.
- curl
- Python
- JavaScript
curl -X POST "https://api.lexabit.com/datasets/v1/profiles" \
-H "Authorization: Bearer $LEXABIT_TOKEN" \
-H "X-Scope: 42" \
-H "Content-Type: application/json" \
-d '{
"name": "Standard company due-diligence",
"scope": "global",
"subset_selection": ["information", "financials", "rating", "shareholders"],
"provider_priorities": ["brreg"],
"is_default": true
}'
import os, requests
resp = requests.post(
"https://api.lexabit.com/datasets/v1/profiles",
headers={
"Authorization": f"Bearer {os.environ['LEXABIT_TOKEN']}",
"X-Scope": "42",
},
json={
"name": "Standard company due-diligence",
"scope": "global",
"subset_selection": ["information", "financials", "rating", "shareholders"],
"provider_priorities": ["brreg"],
"is_default": True,
},
)
resp.raise_for_status()
profile = resp.json()["data"]
const resp = await fetch("https://api.lexabit.com/datasets/v1/profiles", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.LEXABIT_TOKEN}`,
"X-Scope": "42",
"Content-Type": "application/json",
},
body: JSON.stringify({
name: "Standard company due-diligence",
scope: "global",
subset_selection: ["information", "financials", "rating", "shareholders"],
provider_priorities: ["brreg"],
is_default: true,
}),
});
const profile = (await resp.json()).data;
201 Created:
{
"data": {
"id": "dp-52a0-…",
"name": "Standard company due-diligence",
"scope": "global",
"subsetSelection": ["information", "financials", "rating", "shareholders"],
"providerPriorities": ["brreg"],
"isDefault": true,
"usageCount": 0
},
"meta": { "requestId": "e5f3…" }
}
For a profile scoped to one entity, use "scope": "entity" with entity_type
and entity_id; for a profession-specific profile, use "scope": "profession"
with profession (and optionally sub_profession).
Manage profiles
- List:
GET /datasets/v1/profiles - Update:
PUT /datasets/v1/profiles/{id} - Delete:
DELETE /datasets/v1/profiles/{id} - Track usage:
POST /datasets/v1/profiles/{id}/increment-usagebumps theusageCount— useful when your integration applies a profile so you can see which profiles are actually used.
How profiles relate to Company Intelligence
When you fetch a company (see Company Intelligence), the subsets returned and the providers consulted are governed by the applicable dataset profile. Editing a default profile is how you change what "fetch a company" means organisation-wide, without touching each call.
Where to go next
- Company Intelligence — where these profiles take effect
- API Reference → Data Registry