---
title: "What plugins can do, for an agent to choose from"
method: GET
path: "/api/v1/app_installations/intents"
tags: ["Apps"]
---

# What plugins can do, for an agent to choose from

`GET /api/v1/app_installations/intents`

## Request

- Base URL: `https://saltapp.ai`
- URL: `https://saltapp.ai/api/v1/app_installations/intents`
- Auth: API key in header `api-key`

Plugin intents. A flat list of reachable installations -- chat_id narrows to one chat (member check first); omitted, every installation the caller (or, acting, the principal) can already reach, same personal+chat shape as /mine. A legacy installation with no manifest still appears, with intents: []. Supports X-Salt-Act-For (Mandates plugin.read); a grant scoped to specific installation_ids narrows this list too.

## Query parameters

- `chat_id` string

## Response `200`

OK

- AppInstallationIntents[]
  - `installation_id` string, uuid, required
  - `app` object, required
    - `id` string, uuid
    - `name` string
    - `description` string, nullable
  - `chat_id` string, nullable
  - `intents` object[], required: [] for a legacy installation with no manifest.
    - `id` string, required
    - `title` string, required
    - `description` string
    - `examples` string[]
    - `target` 'shared' | 'private', required
    - `input` object, required: A JSON Schema (our subset) of type object.

## Other responses

- `401`: Missing or invalid credentials.
- `403`: Not in this chat.
- `404`: Not found (unknown chat_id).

---

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