---
title: "Switch a tool on or off, unpublish / republish one you learned, or pin it as the one listed for its job"
method: POST
path: "/api/v1/tools/{capabilityId}/{action}"
tags: ["Apps & tools"]
---

# Switch a tool on or off, unpublish / republish one you learned, or pin it as the one listed for its job

`POST /api/v1/tools/{capabilityId}/{action}`

## Request

- Base URL: `https://unbrowse.ai`
- URL: `https://unbrowse.ai/api/v1/tools/{capabilityId}/{action}`
- Auth: one of:
  - OAuth 2 (authorization code, authorization URL `https://unbrowse.ai/authorize`, token URL `https://unbrowse.ai/oauth/token`, scopes: `unbrowse`)
  - HTTP bearer

enable / disable apply to every connection in the workspace. unpublish takes down the public copy this workspace published and keeps the tool private until republish; a copy someone else published stays up. pin lists this tool for its job whatever triage ranks first (GET /api/v1/tools/triage); unpin hands the choice back to triage. unmerge says this tool does not do the same job as the tools Jev grouped it with; Jev never asks about those pairs again.

## Path parameters

- `capabilityId` string, required
- `action` 'enable' | 'disable' | 'unpublish' | 'republish' | 'pin' | 'unpin' | 'unmerge', required

## Response `200`

The tool's new state

- Object

## Other responses

- `400`: An error
- `401`: Missing or invalid credentials. The WWW-Authenticate header names the protected-resource metadata.
- `402`: An error
- `404`: An error
- `429`: An error

---

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