Report Schema Cache
API Contract
REST
/api/v1/report-schema-cache
6 endpoints
GET
/api/v1/report-schema-cache/api/v1/report-schema-cache
List all cached schemas with their TTL status
Public
Response Example
{
"data": [
{
"org_id": "org_nansen_01",
"schema_version": 3,
"cached_at": "2026-03-26T08:00:00Z",
"expires_at": "2026-03-26T09:00:00Z",
"age_seconds": 142,
"is_expired": false
},
{
"org_id": "org_flyktning_02",
"schema_version": 1,
"cached_at": "2026-03-25T22:00:00Z",
"expires_at": "2026-03-25T23:00:00Z",
"age_seconds": 36142,
"is_expired": true
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 4
}
}
GET
/api/v1/report-schema-cache/api/v1/report-schema-cache/:orgId
Get the cached schema for an org
Public
Response Example
{
"org_id": "org_nansen_01",
"schema_version": 3,
"schema": {
"schema_id": "schema_org_nansen_01",
"fields": [
{
"field_id": "fld_session_date",
"label": "Session date",
"type": "date",
"required": true,
"order": 1
}
]
},
"cached_at": "2026-03-26T08:00:00Z",
"expires_at": "2026-03-26T09:00:00Z",
"age_seconds": 142,
"is_expired": false
}
POST
/api/v1/report-schema-cache/api/v1/report-schema-cache
Manually seed a schema into the cache
Public
Request Example
{
"org_id": "org_flyktning_02",
"schema": {
"schema_id": "schema_org_flyktning_02",
"version": 2,
"fields": [
{
"field_id": "fld_session_date",
"label": "Dato for møtet",
"type": "date",
"required": true,
"order": 1
}
]
},
"ttl_seconds": 3600
}
Response Example
{
"org_id": "org_flyktning_02",
"cached": true,
"schema_version": 2,
"expires_at": "2026-03-26T10:26:00Z"
}
PUT
/api/v1/report-schema-cache/api/v1/report-schema-cache/:orgId
Replace the cached schema for an org
Public
Request Example
{
"schema": {
"schema_id": "schema_org_nansen_01",
"version": 4,
"fields": [
{
"field_id": "fld_session_date",
"label": "Session date",
"type": "date",
"required": true,
"order": 1
}
]
},
"ttl_seconds": 3600
}
Response Example
{
"org_id": "org_nansen_01",
"previous_version": 3,
"new_version": 4,
"cached_at": "2026-03-26T09:26:00Z",
"expires_at": "2026-03-26T10:26:00Z"
}
DELETE
/api/v1/report-schema-cache/api/v1/report-schema-cache/:orgId
Invalidate (evict) the cached schema for an org
Public
Response Example
{
"invalidated": true,
"org_id": "org_nansen_01",
"invalidated_at": "2026-03-26T09:20:00Z"
}
DELETE
/api/v1/report-schema-cache/api/v1/report-schema-cache
Clear all cached schemas (full cache flush)
Public
Response Example
{
"cleared": true,
"entries_removed": 4,
"cleared_at": "2026-03-26T09:20:00Z"
}