---
title: "Set one or more workspace context values. Every update must state an explicit source ('user', 'sso', 'derived' or 'agent'); the source is never defaulted. Only source=user may confirm a value, and a non-user source must supply a confidence between 0 and 1. Returns fresh readiness."
method: POST
path: "/workspace/context"
---

# Set one or more workspace context values. Every update must state an explicit source ('user', 'sso', 'derived' or 'agent'); the source is never defaulted. Only source=user may confirm a value, and a non-user source must supply a confidence between 0 and 1. Returns fresh readiness.

`POST /workspace/context`

## Request

- Base URL: `https://forbiz.io/api/public/agent`
- URL: `https://forbiz.io/api/public/agent/workspace/context`
- Auth: HTTP bearer

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `updates` object[]
    - `key` string
    - `value` string
    - `source` 'user' | 'sso' | 'derived' | 'agent'
    - `source_note` string
    - `confidence` number
    - `confirm` boolean

## Response `200`

Updated. Epistemic standing is derived from the stored row.

- object
  - `ok` boolean
  - `results` object[]
  - `readiness` object
  - `promoted` boolean: True only when the stored value really is confirmed (source=user with confirm).
  - `canonical` boolean: True only when the stored row is canonical workspace truth.
  - `stored_status` string: The confirmation status actually stored.
  - `needs_confirmation` boolean: True when a human still has to confirm it.

## Other responses

- `208`: Idempotent replay of a previous request with the same Idempotency-Key. Nothing was applied again.
- `400`: Validation error (including a missing source)
- `409`: No active workspace for this identity

---

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