---
title: "Approve a skill share request"
method: POST
path: "/v1/skill-share-requests/{share_request_id}/approve"
tags: ["skill-share-requests"]
---

# Approve a skill share request

`POST /v1/skill-share-requests/{share_request_id}/approve`

## Request

- Base URL: `https://api.patricia.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.patricia.app/v1/skill-share-requests/{share_request_id}/approve`
- Auth: HTTP bearer

Approve a pending request: the installation becomes team-visible and loses its personal owner, and the decision is recorded, in one transaction. This is the same move PATCH /skill-installations/{id}/visibility performs directly, so it demands the same authority: skills:install and a signed-in person (API keys are refused). Answers 409 when the request was already decided, when the skill has since been removed, or when it is no longer held by the person who asked, and 404 when the request does not exist or belongs to another workspace.

## Path parameters

- `share_request_id` string, uuid, required

## Headers

- `X-Tenant-Id` string, nullable

## Response `200`

Successful Response

- ShareRequestSummary: One share request as the API returns it: the ask, its snapshots, and its decision. The ``skill_*`` and ``requester_*`` values are SNAPSHOTS taken when the ask was raised, so an approval card still reads correctly after the requester leaves or the skill is renamed.
  - `id` string, uuid, required
  - `installation_id` string, uuid, required
  - `skill_id` string, uuid, required
  - `skill_slug` string, required
  - `skill_title` string, required
  - `skill_summary` string, required
  - `requester_name` string, required
  - `requester_actor_id` string, uuid, nullable
  - `status_code` string, required
  - `decided_at` string, date-time, nullable
  - `created_at` string, date-time, required

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden. Inspect response body `code` for the specific reason (for example: PERMISSION_DENIED, EMAIL_NOT_VERIFIED, TENANT_ACCESS_REQUIRED, ROLE_UNRESOLVED)
- `404`: Not found
- `409`: Conflict
- `422`: Validation error

---

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