---
title: "Get Workspace Entitlement"
method: GET
path: "/internal/workspaces/{workspace_id}/plan"
tags: ["internal-billing"]
---

# Get Workspace Entitlement

`GET /internal/workspaces/{workspace_id}/plan`

## Request

- Base URL: `https://memory.kagura-ai.com` (the document declares no server; this is the origin it was published from)
- URL: `https://memory.kagura-ai.com/internal/workspaces/{workspace_id}/plan`
- Auth: none declared

Read a workspace's current entitlement + ``entitlement_source`` (#1095).

Service-authenticated, internal-only. The external reconciler reads this to
decide whether to reconcile a workspace (``external_billing``) or leave it
untouched (``admin_grant``) — so a periodic billing reconcile never reverts a
locally-owned admin/comp grant.

## Path parameters

- `workspace_id` string, required

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- WorkspaceEntitlementView: Read model for the reconciler (#1095): the current entitlement + provenance.
  - `workspace_id` string, required
  - `plan_name` string, required
  - `addons` object, required
  - `entitlement_source` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/kagura-ai/apis/kagura-memory-cloud.md) · [All operations](https://skmtc.dev/kagura-ai/apis/kagura-memory-cloud/llms.txt) · [OpenAPI document](https://skmtc.dev/kagura-ai/apis/kagura-memory-cloud/revisions/09f17f5ada29?raw)
