---
title: "Discover Fin's capabilities"
method: POST
path: "/fin/capabilities"
tags: ["Fin Agent"]
---

# Discover Fin's capabilities

`POST /fin/capabilities`

## Request

- Base URL: `https://api.intercom.io`
- URL: `https://api.intercom.io/fin/capabilities`
- Auth: HTTP bearer

Return a machine-readable, per-user list of what Fin can do for a given end user, so an
orchestrating agent can decide which endpoint to call.

The response is audience-matched to the supplied user: each live, API-triggerable
procedure is checked against that user before being included, alongside the static
`reply` and `ask` actions.

{% admonition type="warning" %}
To request access to the Fin Agent API, go to **Settings > Integrations > Fin Agent API** in your workspace and tell us about your use case. Once access is granted, **Fin Agent API** appears under **Fin AI Agent > Deploy**.
{% /admonition %}

## Headers

- `Intercom-Version` '1.0' | '1.1' | '1.2' | '1.3' | '1.4' | '2.0' | '2.1' | '2.2' | '2.3' | '2.4' | '2.5' | '2.6' | '2.7' | '2.8' | '2.9' | '2.10' | '2.11' | '2.12' | '2.13' | '2.14': Intercom API version.</br>By default, it's equal to the version set in the app package.

## Request body

- object
  - `user` object, required: The user to list capabilities for. If no user exists for the id, one is created from the supplied details; if the user already exists, the supplied email and attributes update it.
    - `id` string, required: The ID of the user. This value will be used to uniquely identify the user during a conversation with Fin. Maps to the user_id field on the Intercom User object.
    - `name` string: The name of the user.
    - `email` string, email: The email of the user.
    - `attributes` object: A hash of attributes associated with the user. Attributes can be used by Fin to target content and responses. Limit to 10 attributes.

## Response `200`

Capabilities returned successfully

- object
  - `version` string: The API version the capabilities document was generated for.
  - `capabilities` object[]: The list of capabilities available to this user.
    - `type` string: The kind of capability — `procedure` for a runnable procedure, or a static action such as `reply`, `ask`, or `escalate`.
    - `id` string: The procedure ID. Present only when `type` is `procedure`.
    - `name` string: The procedure name. Present only when `type` is `procedure`.
    - `description` string: A human-readable description of the capability.
    - `endpoint` string: The endpoint path to call to use this capability.
    - `method` string: The HTTP method to use.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized

## Changes

- **2026-09-28** (2.14) `0a3fd70024a8`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/intercom/apis/intercom-api/changes/fin/capabilities/post.md)

---

[API](https://skmtc.dev/intercom/apis/intercom-api.md) - [All operations](https://skmtc.dev/intercom/apis/intercom-api/llms.txt) - [OpenAPI document](https://skmtc.dev/intercom/apis/intercom-api/revisions/15220f68d145?raw)
