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

# Capability values

> Every value set a capability, capability request or capability grant field accepts or returns, and what each value means.

The values each enumerated field on a capability, a capability request or a capability grant takes. Check it when you are branching on a field's value or choosing what to request.

## `code`

Which capability it is. A feature's code is one of the [`capability`](#capability) values below. A bank's code is the bank's value in [`bank`](https://docs.kirafin.ai/reference/virtual-accounts/values#bank), such as `jp_morgan`.

## `kind`

How a sub-client gets the capability.

| Value | Description |
| - | - |
| `feature` | Requested with [Request a capability](https://docs.kirafin.ai/api-reference/capabilities/request-a-capability.md) and reviewed by compliance. |
| `bank` | Declared in the user's `capabilities.requested_banks` and decided by that bank's verification. It cannot be requested. |

## `capability`

What a sub-client can be enabled for.

| Value | Description |
| - | - |
| `pobo` | Payments on behalf of. Lets a business sub-client pay beneficiaries on behalf of its own customers, and register the [ultimate payors](https://docs.kirafin.ai/reference/ultimate-payors/the-ultimate-payor-object.md) it pays for. |

## request `status`

Where the request stands.

> **View the 5 status values**
>
> | Value | Description |
> | - | - |
> | `requested` | Waiting on the sub-client to answer through `verification_link`. A request sent back by compliance returns here. |
> | `submitted` | The sub-client sent its answers, and compliance is reviewing them. |
> | `approved` | Compliance approved the request. `grant` says whether the sub-client still holds the capability. |
> | `rejected` | Compliance refused the request. It does not change again, and the capability cannot be requested again for this sub-client. |
> | `cancelled` | The request was closed without a review. `cancel_reason` says why. |

## review `answer`

The outcome of the latest review.

| Value | Description |
| - | - |
| `GREEN` | Approved. |
| `RED` | Not approved. `reject_type` says whether the sub-client can try again. |

## review `reject_type`

What a `RED` review means for the request.

| Value | Description |
| - | - |
| `RETRY` | Sent back. The request returns to `requested` with a new link, so the sub-client can complete it. |
| `FINAL` | Refused. The request is `rejected`. |

## grant `status`

Whether the sub-client holds the capability an approval granted.

| Value | Description |
| - | - |
| `granted` | The sub-client holds it. |
| `revoked` | Compliance took it back. The capability cannot be requested again for this sub-client. |

## grant `source`

Where a grant event comes from.

| Value | Description |
| - | - |
| `recorded` | Kira stored the event when it happened. |
| `projected` | Kira worked the event out from the sub-client's bank verification on this read. It has no `id`, `request_id` or `decided_at`. |

## `cancel_reason`

Why a request was cancelled.

| Value | Description |
| - | - |
| `action_not_created` | The link could not be created when the request was opened. Request the capability again. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.