---
title: "Propose missing facets for an imported skill"
method: POST
path: "/v1/authored-skills/import-proposal"
tags: ["authored-skills"]
---

# Propose missing facets for an imported skill

`POST /v1/authored-skills/import-proposal`

## 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/authored-skills/import-proposal`
- Auth: HTTP bearer

Propose taxonomy, keywords, tags, and connected integrations that the derived manifest does not already declare. Every field is a suggestion that a person confirms or edits before saving. This single endpoint serves pasted and GitHub imports because both now supply the same derived manifest and prose. It stays separate from the local preview because a person may re-run that preview after each edit, while this proposal makes a metered model call. A GitHub scan previews every candidate, so combining the calls would spend once per candidate before the person chooses one. A proposal timeout also returns an empty suggestion without removing a valid preview from the screen.

## Headers

- `X-Tenant-Id` string, nullable

## Request body

- SkillFacetProposalRequest: A derived manifest and its inert prose for one import-facet proposal.
  - `manifest` object, required: The derived import manifest as a JSON object.
  - `skill_md` string, nullable: The imported skill's inert SKILL.md, if it has one.

## Response `200`

Successful Response

- SkillFacetProposalResponse: Suggested import facets that a person confirms or edits before saving. Patricia never applies these suggestions silently. Every empty field is a normal result.
  - `taxonomy` string, nullable, required
  - `keywords` string[], required
  - `tags` string[], required
  - `integrations` string[], 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)
- `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)
