# Capabilities and entitlements

> Discover which capability keys the authenticated organization can use before creating work.

Canonical guide: <https://api.blackpearl.com/docs/feature-flags>

Raw Markdown: <https://api.blackpearl.com/docs/raw/feature-flags.md>

OpenAPI: <https://api.blackpearl.com/v1/openapi.json>

Call capabilities before presenting a capability-specific workflow:

```bash
curl --fail-with-body --silent --show-error \
  "$BLACKPEARL_API_BASE_URL/v1/capabilities" \
  --header "Authorization: Bearer $BLACKPEARL_API_KEY" | jq .
```

```json
{
  "capabilities": [
    {
      "key": "playbooks",
      "name": "Playbooks",
      "description": "Generate AI sales playbooks for a target account.",
      "category": "Generation",
      "enabled": true,
      "status": "ga",
      "docs_slug": "playbooks"
    }
  ]
}
```

The endpoint returns enabled capabilities for the key's organization. Use `key` as the stable programmatic identifier and `docs_slug` to link to the corresponding guide. `status` is `ga` or `coming_soon`; the latter maps to Preview documentation, not a GA compatibility promise. Clients must still tolerate future additive enum values and optional response fields.

Console visibility and execution entitlement are independent internal controls. The public response includes only executable capabilities. A create request for unavailable functionality returns `capability_disabled`; obtain access before retrying.

This is OpenAPI operation `capabilities_v1_capabilities_get` with schema `PublicCapabilitiesResponse`. Continue with [Prospecting](https://api.blackpearl.com/docs/prospecting), [Account research](https://api.blackpearl.com/docs/prospect-research), [Documents](https://api.blackpearl.com/docs/documents), [Audiences](https://api.blackpearl.com/docs/audiences), or [Playbooks](https://api.blackpearl.com/docs/playbooks).
