---
title: "Schema Status"
method: GET
path: "/api/v1/admin/schema/status"
tags: ["Admin", "Admin"]
---

# Schema Status

`GET /api/v1/admin/schema/status`

## Request

- Base URL: `https://api.africadb.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.africadb.com/api/v1/admin/schema/status`
- Auth: none declared

Return the last-run migration report.

Response shape::

    {
      "attempted": bool,
      "applied":   [migration_id, ...],
      "skipped":   [migration_id, ...],
      "failed":    [{"id": ..., "error": ...}, ...],
      "error":     None | str,
      "last_attempt_at": ISO-8601 UTC | None,
      "clickhouse_reachable": bool,
      "pending":   [migration_id, ...]
    }

``pending`` is derived on-the-fly from the ``MIGRATIONS`` list minus
what's recorded in the tracker — this is what an operator wants to
see, not just what the last apply attempted.

## Response `200`

Successful Response

- unknown

---

[API](https://skmtc.dev/africadb/apis/africa-data-bank-api.md) · [All operations](https://skmtc.dev/africadb/apis/africa-data-bank-api/llms.txt) · [OpenAPI document](https://skmtc.dev/africadb/apis/africa-data-bank-api/revisions/2a50da82945b?raw)
