---
title: "Ask to share your personal skill with the team"
method: POST
path: "/v1/skill-share-requests"
tags: ["skill-share-requests"]
---

# Ask to share your personal skill with the team

`POST /v1/skill-share-requests`

## 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`
- Auth: HTTP bearer

Raise a request for one of YOUR OWN personal installs to become team-visible, for someone with skills:edit to approve. Refused with 422 when the skill is already shared with the team, 409 when you already have an open request for it or a decline is still inside its cooldown, and 400 when your account is not matched to a chat profile. An install that is not yours (and another member's private install, which is never disclosed) answers 404.

## Headers

- `X-Tenant-Id` string, nullable

## Request body

- ShareRequestCreate: Ask for ONE of your own personal installs to be shared with the whole workspace. The install is named by id and nothing else: who may ask is decided server-side from the caller's membership-linked chat actor, so a body cannot nominate a requester.
  - `installation_id` string, uuid, required: The caller's own personal installation to offer to the team.

## Response `201`

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)
