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"
}

Additional Metadata

{
  "contract_summary": {
    "total_contracts": 410,
    "total_endpoints": 2416,
    "api_styles_used": [
      "rest"
    ]
  },
  "generated_at": "2026-03-26T06:55:53.316Z"
}