---
title: "Get OJK retention status"
method: GET
path: "/api/v1/ojk/audit/retention"
tags: ["OJK Compliance"]
---

# Get OJK retention status

`GET /api/v1/ojk/audit/retention`

## Request

- Base URL: `https://orchestrator.getaxonflow.com`
- URL: `https://orchestrator.getaxonflow.com/api/v1/ojk/audit/retention`
- Auth: none declared
- TypeScript: <https://skmtc.dev/getaxonflow/apis/axonflow-orchestrator-api/docs/api/v1/ojk/audit/retention/get.ts> (a function with typed inputs; its response is checked against the schema)

Reports 5-year (1825-day) retention compliance for OJK audit data.
`compliance_status` is `non_compliant` when the configured retention
is below the 1825-day minimum.

**Enterprise Feature**.

## Query parameters

- `data_types` string

## Headers

- `X-Tenant-ID` string
- `X-Org-ID` string

## Response `200`

Retention status

- OJKRetentionStatusResponse
  - `compliance_status` 'compliant' | 'non_compliant'
  - `framework` string
  - `retention_days` integer
  - `min_retention_days` integer
  - `data_types` object[]: ⚠️ Always empty in the current implementation — per-type retention reporting is not implemented (`GetRetentionStatus` returns a fixed empty slice).
    - `data_type` string
    - `status` string
    - `oldest_record` string, date-time
    - `newest_record` string, date-time
    - `total_records` integer
  - `next_cleanup` string, date-time: Never set by the current implementation (omitted)

## Other responses

- `400`: Missing organization scope (code `missing_org`)
- `500`: Failed to get retention status (code `internal_error`)

---

[API](https://skmtc.dev/getaxonflow/apis/axonflow-orchestrator-api.md) - [All operations](https://skmtc.dev/getaxonflow/apis/axonflow-orchestrator-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getaxonflow/apis/axonflow-orchestrator-api/revisions/f408ef3ec9dd?raw)
