---
title: "Get GitOps synchronization status"
method: GET
path: "/admin/gitops/status"
tags: ["GitOps", "Admin"]
---

# Get GitOps synchronization status

`GET /admin/gitops/status`

**Experimental.** Returns the current synchronization status of the GitOps storage, including the current commit SHA, sync state, load statistics, and any errors from the last sync attempt.

This endpoint is only available when GitOps storage is enabled (`apicurio.storage.kind=gitops`). Returns HTTP 409 (Conflict) if a different storage backend is active.

This operation can fail for the following reasons:

* GitOps storage is not enabled (HTTP error `409`)
* A server error occurred (HTTP error `500`)

## Response `200`

The current GitOps synchronization status.

- GitOpsStatus — Describes the current synchronization status of the GitOps storage backend. This includes the current sync state, the Git commit marker, load statistics, and any errors from the last sync attempt.
  - `syncState` string — The current synchronization state of the GitOps storage. Possible values: INITIALIZING (first load not yet completed), IDLE (serving latest data), LOADING (sync in progress), SWITCHING (data loaded, waiting for write lock to publish), ERROR (last sync or switch failed, serving previous data).
  - `lastSuccessfulSync` string, date-time — ISO 8601 timestamp of the last successful synchronization.
  - `lastSyncAttempt` string, date-time — ISO 8601 timestamp of the last synchronization attempt (successful or not).
  - `groupCount` integer — Number of groups loaded in the last successful sync.
  - `artifactCount` integer — Number of artifacts loaded in the last successful sync.
  - `versionCount` integer — Number of artifact versions loaded in the last successful sync.
  - `errors` GitOpsError[] — Errors from the last failed load attempt. Empty if the last load was successful.
    - `detail` string, required — A human-readable description of the error.
    - `source` string — The source ID (e.g., repository ID) where the error occurred. Absent for global errors not tied to a specific source.
    - `context` string — The file path or location where the error occurred. Absent if the error is not file-specific.
  - `sources` object — Per-source identifiers. Maps source ID (e.g., repository ID, Kubernetes server/namespace) to its current marker (e.g., abbreviated commit SHA, resource version).

## Other responses

- `401` — Common response for all operations that can return a `401` error indicating authentication is required.
- `403` — Common response for all operations that can return a `403` error indicating the user is authenticated but not authorized.
- `409` — Common response used when an input conflicts with existing data.
- `500` — Common response for all operations that can fail with an unexpected server error.

---

[API](https://skmtc.net/apicurio/apis/apicurio-registry-api-v3.md) · [All operations](https://skmtc.net/apicurio/apis/apicurio-registry-api-v3/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/apicurio/apicurio-registry-api-v3/revisions/c39cb56d7dbc/schema)
