> ## Documentation Index
> Fetch the complete documentation index at: https://docs.openhome.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload Ability

> Create a new Ability on your account by uploading a zipped package.

<Note>
  This endpoint uses `multipart/form-data` with a file upload. Use the cURL or Python example below. Names must be unique on your account — calling this with an existing name returns `Ability with same name already exists`. Delete the existing Ability first to replace it.
</Note>

## Endpoint

```
POST https://app.openhome.com/api/capabilities/add-capability/
```

Send the request as `multipart/form-data`.

## Headers

<ParamField header="X-API-KEY" type="string" required>
  Your OpenHome API key.
</ParamField>

## Form fields

<ParamField body="name" type="string" required>
  Ability name. Must be unique on your account.
</ParamField>

<ParamField body="category" type="string" required>
  One of `skill`, `brain_skill`, `background_daemon`, or `local`.
</ParamField>

<ParamField body="description" type="string" required>
  One-line description.
</ParamField>

<ParamField body="trigger_words" type="string" required>
  Comma-separated trigger phrases. Example: `hey skill, activate skill`.
</ParamField>

<ParamField body="zip_file" type="file" required>
  Zipped Ability package. Accepted content types: `application/zip`, `application/x-zip`, `application/x-zip-compressed`, `application/octet-stream`.
</ParamField>

<ParamField body="image_file" type="file">
  Optional icon.
</ParamField>

## Example request

```bash cURL theme={"system"}
curl -X POST https://app.openhome.com/api/capabilities/add-capability/ \
  -H "X-API-KEY: YOUR_KEY" \
  -F "name=My Skill" \
  -F "category=skill" \
  -F "description=Greets the user" \
  -F "trigger_words=hey skill, activate skill" \
  -F "zip_file=@./my-skill.zip"
```

```python Python theme={"system"}
import requests

with open("my-skill.zip", "rb") as f:
    requests.post(
        "https://app.openhome.com/api/capabilities/add-capability/",
        headers={"X-API-KEY": "YOUR_KEY"},
        data={
            "name": "My Skill",
            "category": "skill",
            "description": "Greets the user",
            "trigger_words": "hey skill, activate skill",
        },
        files={"zip_file": f},
    )
```
