SMBBETA

Update Goal

Last updated Oct 10, 2026View as MarkdownAgent setup / MCP
PATCH
/v1/goals/{goal_id}

Updates an active Goal with a revision precondition. Completing or canceling it requires a terminal reason.

Authorization

AuthorizationBearer <token>

Signed-in user's Supabase access token. Workspace-scoped operations also require SMB-Workspace-Id.

In: header

Path Parameters

goal_id*string

Stable Goal ID.

Match^gol_[0-7][0-9A-HJKMNP-TV-Z]{25}$

Header Parameters

SMB-Workspace-Id*string

Workspace where this operation runs. Required for user tokens and Workspace API keys.

Formatuuid
Idempotency-Key*string
Length8 <= length <= 200

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/v1/goals/string" \  -H "SMB-Workspace-Id: 497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Idempotency-Key: stringst" \  -H "Content-Type: application/json" \  -d '{    "expected_revision": 1  }'
{  "data": {    "goal_id": "string",    "business_id": "string",    "title": "string",    "description": "string",    "status": "active",    "accountable_user_id": "string",    "due_at": "2019-08-24T14:15:22Z",    "terminal_reason": "string",    "completed_at": "2019-08-24T14:15:22Z",    "canceled_at": "2019-08-24T14:15:22Z",    "created_by": {      "type": "user",      "id": "string"    },    "revision": 1,    "created_at": "2019-08-24T14:15:22Z",    "updated_at": "2019-08-24T14:15:22Z"  },  "receipt": {    "receipt_id": "64d0a161-468e-472a-b00e-a06ee9ab7de7",    "command_id": "7d510d78-7444-4252-aeac-9e473949661e",    "operation": "string",    "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"  },  "idempotent_replay": true,  "request_id": "string"}