---
title: "Get Lock Drift Status"
method: GET
path: "/v1/strategies/{strategy_id}/lock/status"
tags: ["strategies"]
---

# Get Lock Drift Status

`GET /v1/strategies/{strategy_id}/lock/status`

## Request

- Base URL: `https://api.usekeel.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.usekeel.io/v1/strategies/{strategy_id}/lock/status`
- Auth: none declared

What upgrading each pin would change (dollar-volume spec 02 §2).

One entry per drifting pin, from ``lock_upgrade.drift_entries`` (the
owner shared with the agent tools): the changelog, the interface diff,
and ``breaking`` — decided by validating the stored source with only
that pin bumped — with the issues the bump introduces. Read only.

## Path parameters

- `strategy_id` string, required

## Headers

- `Authorization` string, nullable
- `X-Org-Id` string, nullable

## Response `200`

Successful Response

- LockDriftResponse: ``GET /{id}/lock/status`` (spec 02 §2, Contract). ``drifts`` are ``pipeline_engine.base.lock_upgrade.drift_entries`` for the stored source at the stored lock: component, locked/latest_version, drift_type (outdated | deprecated | missing | unknown), changes, replacement, interface {params_added [{name, required, slot_type}], params_removed}, breaking, issues_at_target. ``source_hash`` / ``lock_hash`` are what an upgrade must name back (``expected_source_hash`` / ``expected_lock_hash``).
  - `source_hash` string, nullable
  - `lock_hash` string, required
  - `drifts` object[], required
  - `outdated_count` integer, required
  - `breaking_count` integer, required
  - `total_components` integer, required
  - `current_count` integer, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/usekeel/apis/keel-api.md) · [All operations](https://skmtc.dev/usekeel/apis/keel-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usekeel/apis/keel-api/revisions/3191ca10b0ab?raw)
