---
title: "Accept Update"
method: POST
path: "/api/skills/{skill_id}/accept-update"
tags: ["skills"]
---

# Accept Update

`POST /api/skills/{skill_id}/accept-update`

## Request

- Base URL: `https://app.thinqos.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.thinqos.com/api/skills/{skill_id}/accept-update`
- Auth: none declared

Take the version you were held back from (TOS-3760, gap D5).

TOS-3713 shipped the hold and not the release. A new version that declares
tools or capabilities beyond what the holder approved is deliberately NOT
adopted, which is right, and until now there was no way to say yes: the
hold was silent in the app and readable only by diffing two version ids
nothing exposed. Seven holdings in production sit behind current.

This is a CONSENT-WIDENING write, so it is here rather than on the
Marketplace router, whose docstring commits it to no writes precisely so
the trust gate cannot fork. The caller is granting the current version's
declared tools and capabilities; the client names that delta before asking
(``held_back.added_tools`` / ``added_capabilities``), which is the same
delta this recomputes rather than trusts from the request. There is no
request body on purpose: the only thing a caller could put in one is the
permission set they are approving, and accepting a set the client
supplied would let a stale or hostile client widen a holding by naming
permissions the user was never shown.

404 when the caller holds nothing here. 409 when nothing is held back, so
a double-click cannot silently re-consent to a version that has moved on
underneath the dialog.

## Path parameters

- `skill_id` string, uuid, required

## Headers

- `x-impersonate-identity-id` string, nullable

## Response `200`

Successful Response

- SkillOut
  - `id` string, uuid, required
  - `slug` string, required
  - `library_id` string, uuid, nullable
  - `library_name` string, nullable
  - `frontmatter` SkillFrontmatterOut, required
    - `license` string, nullable
    - `compatibility` string, nullable
    - `metadata` object
    - `extra_frontmatter` object
    - `name` string, nullable
    - `description` string, required
    - `when_to_use` string, nullable
    - `when_not_to_use` string, nullable
    - `argument_hint` string, nullable
    - `arguments` string[]
    - `disable_model_invocation` boolean
    - `user_invocable` boolean
    - `allowed_tools` string[]
    - `model` string, nullable
    - `effort` 'low' | 'medium' | 'high' | 'xhigh' | 'max', nullable
    - `context` 'inline' | 'fork'
    - `agent` string, nullable
    - `paths` string[]
    - `shell` 'bash' | 'powershell'
    - `hooks` object, nullable
    - `extensions` SkillExtensionsOut
      - `session_latch` boolean
      - `builtin_holders` string[]
      - `menu_summary` string, nullable
      - `interaction_source` string, nullable
      - `capabilities` string[]
      - `side_effects` string[]
      - `token_budget` integer, nullable
    - `capability_review` SkillCapabilityReviewOut[]
      - `source` string, required
      - `key` string, required
      - `status` 'supported' | 'operator_gated' | 'metadata_only' | 'blocked', required
      - `message` string, required
      - `requested` string[]
      - `tool_patterns` string[]
  - `bundle_hash` string, nullable
  - `schema_version` string, required
  - `version` integer, required
  - `enabled` boolean, required
  - `approved` boolean, required
  - `requires_admin_approval` boolean
  - `visibility` 'private' | 'public', required
  - `source_kind` 'authored' | 'imported' | 'bundled' | 'plugin', required
  - `imported_from` string, nullable
  - `import_status` 'installing' | 'failed' | 'ready'
  - `import_error` string, nullable
  - `body` string, required
  - `tool_reachability_warnings` string[]
  - `bundled_programs` string[]
  - `import_warnings` string[]

## Other responses

- `422`: Validation Error

---

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