---
title: "Get Addon State"
method: GET
path: "/v1/projects/{project_id}/in-context-addon/state"
tags: ["in-context"]
---

# Get Addon State

`GET /v1/projects/{project_id}/in-context-addon/state`

## Request

- Base URL: `https://api.sonenta.dev`
- URL: `https://api.sonenta.dev/v1/projects/{project_id}/in-context-addon/state`
- Auth: none declared

Resolve the per-project in-context add-on state.

RBAC (dual-auth, mirrors the feedback add-on state endpoint):
  - Bearer USER JWT: any org member of the project's parent org can read
    (the response carries no PII — just feature flags).
  - Bearer PROJECT API KEY: must be scoped to this org AND this project,
    and hold `project:read` (or wider). Lets the SDK fetch state at widget
    setup time, BEFORE the end-user accepts the in-context ToS.

## Path parameters

- `project_id` string, required

## Response `200`

Successful Response

- InContextAddonStateOut: Resolved in-context add-on state for ONE project. Composed of (a) the parent org's entitlement (`isActive`, `sku`), (b) the project's per-project opt-in (`enabled`), and (c) the current ToS version (`tosVersion`) the SDK should present. camelCase contract throughout (avoids the snake_case `is_active` gotcha from the feedback add-on).
  - `isActive` boolean, required
  - `sku` 'in_context', nullable, required
  - `enabled` boolean, required
  - `tosVersion` string, required

## Other responses

- `422`: Validation Error

---

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