---
title: "List active capabilities"
method: GET
path: "/v1/users/{user_id}/capabilities"
tags: ["Integrations"]
---

# List active capabilities

`GET /v1/users/{user_id}/capabilities`

## Request

- Base URL: `http://0.0.0.0:3000`
- URL: `http://0.0.0.0:3000/v1/users/{user_id}/capabilities`
- Auth: none declared

Returns the set of partner-facing capabilities the user has granted via active integrations.

Use this as the **source of truth** for what a user can do. Webhook events (`capability.granted` / `capability.revoked`) are notifications; this endpoint is the snapshot you reconcile against after missed deliveries or new partner onboarding.

## Path parameters

- `user_id` string, uuid, required

## Response `200`

Default Response

- object
  - `success` boolean, required
  - `error` object
    - `code` string, required
    - `message` string, required
    - `details` unknown
  - `data` object
    - `user_id` string, uuid, required
    - `capabilities` object[], required
      - `capability` 'email' | 'chat' | 'calendar' | 'meet', required
      - `provider` string, required
      - `integration_id` string, required
      - `granted_at` string, date-time, required
      - `account` union
        - object
          - `kind` 'email', required
          - `email` string, email, required
          - `provider_account_id` string
        - object
          - `kind` 'workspace', required
          - `workspace_name` string
          - `workspace_domain` string
          - `user_display_name` string
          - `provider_account_id` string

## Other responses

- `403`: Default Response
- `500`: Default Response

---

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