Capabilities
Returns all capabilities for the given account. Capabilities are permissions attached to accounts that control what verification flows frameOS runs and what payment methods an account can use.
The Capability object
Attributes
Unique identifier for the capability.
Object type identifier. Always capability.
The capability type. One of kyc, phone_verification, kyc_prefill, age_verification, address_verification, card_verification, bank_account_verification, creator_shield, geo_compliance, card_send, card_receive, bank_account_send, or bank_account_receive.
ID of the account this capability belongs to.
Current status. One of pending, active, or disabled.
Why the capability is disabled. Present only when status is disabled.
Field keys still required before this capability can activate. Empty when already active.
Errors from failed requirement verifications. Cleared automatically when the requirement is verified or waived.
ISO 8601 timestamp of when the capability was created.
ISO 8601 timestamp of when the capability was last updated.
ISO 8601 timestamp of when the capability was disabled. null if not disabled.
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567891",
"object": "capability",
"name": "kyc",
"account_id": "99c6b0da-2570-42a7-838a-5eaa318b07df",
"status": "pending",
"disabled_reason": null,
"currently_due": [
"profile.individual.name",
"profile.individual.address",
"profile.individual.ssn_last_four"
],
"errors": [],
"created": "2024-07-15T01:10:05Z",
"updated": "2024-07-15T01:10:05Z",
"disabled": null
}
List capabilities
Returns all capabilities for the given account. Capabilities are permissions attached to accounts that control what verification flows frameOS runs and what payment methods an account can use.
Path parameters
The ID of the account.
Returns
A dictionary with a data property containing an array of capability objects.
curl --request GET \
--url https://api.framepayments.com/v1/accounts/a70cd72f-e74a-40f2-96a2-3f60714aac4a/capabilities \
--header 'Authorization: Bearer API_KEY'
{
"data": [
{
"id": "1d05c5bd-c1d9-4ecb-a8be-92fae0e1cd6e",
"object": "capability",
"name": "card_send",
"account_id": "64dfac44-8295-4f12-b38f-f5e7db72b89d",
"status": "pending",
"disabled_reason": null,
"ineligible_reason": null,
"currently_due": [],
"errors": [],
"created": "2026-06-10T18:24:26Z",
"updated": "2026-06-10T18:24:26Z",
"disabled": null
}
]
}
Request capabilities
Requests one or more capabilities for an account. Capability dependencies are resolved automatically — for example, requesting kyc_prefill also creates kyc and phone_verification capabilities.
Requesting an already-active capability is a no-op. The endpoint returns 201 when at least one new capability was created, and 200 when all requested capabilities already existed.
Path parameters
The ID of the account.
Body parameters
An array of capability names to request (e.g. ["kyc", "card_receive"]).
Returns
Returns an array of capability objects when all requested capabilities already existed.
curl --request POST \
--url https://api.framepayments.com/v1/accounts/a70cd72f-e74a-40f2-96a2-3f60714aac4a/capabilities \
--header 'Authorization: Bearer API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"capabilities": [
"kyc"
]
}'
[
{
"id": "b6d7060e-1fe2-4abe-83fb-20bf29741111",
"object": "capability",
"name": "card_send",
"account_id": "6b03a482-5c46-4fe9-9fa3-7d62e045ad20",
"status": "pending",
"disabled_reason": null,
"ineligible_reason": null,
"currently_due": [],
"errors": [],
"created": "2026-06-10T18:24:26Z",
"updated": "2026-06-10T18:24:26Z",
"disabled": null
}
]
Get capability
Retrieves a single capability by name for the given account. Returns the full capability object including current status, any outstanding requirements, and any errors.
Path parameters
The ID of the account.
The name of the capability to retrieve (e.g. kyc). One of kyc, phone_verification, kyc_prefill, age_verification, address_verification, card_verification, bank_account_verification, creator_shield, geo_compliance, card_send, card_receive, bank_account_send, or bank_account_receive.
Returns
Returns the capability object.
curl --request GET \
--url https://api.framepayments.com/v1/accounts/a70cd72f-e74a-40f2-96a2-3f60714aac4a/capabilities/<name> \
--header 'Authorization: Bearer API_KEY'
{
"id": "58657156-b3ac-43f3-8e0d-48626a71d15d",
"object": "capability",
"name": "card_send",
"account_id": "620ca80b-fe51-44c8-80f4-0e98c0cee9b3",
"status": "active",
"disabled_reason": null,
"ineligible_reason": null,
"currently_due": [],
"errors": [],
"created": "2026-06-10T18:24:27Z",
"updated": "2026-06-10T18:24:27Z",
"disabled": null
}
Disable capability
Disables a capability for an account. If disabling the capability leaves the account with no active capabilities, the account is automatically restricted.
If the capability is already disabled, the request returns 200 with no state change.
Path parameters
The ID of the account.
The name of the capability to disable (e.g. kyc). One of kyc, phone_verification, kyc_prefill, age_verification, address_verification, card_verification, bank_account_verification, creator_shield, geo_compliance, card_send, card_receive, bank_account_send, or bank_account_receive.
Returns
Returns the disabled capability object.
curl --request DELETE \
--url https://api.framepayments.com/v1/accounts/a70cd72f-e74a-40f2-96a2-3f60714aac4a/capabilities/<name> \
--header 'Authorization: Bearer API_KEY'
{
"id": "faeafe90-a6df-4569-92dd-9c9fe73f710f",
"object": "capability",
"name": "card_send",
"account_id": "dc3a4615-d576-4198-91f2-7c8fa4680945",
"status": "disabled",
"disabled_reason": null,
"ineligible_reason": null,
"currently_due": [],
"errors": [],
"created": "2026-06-10T18:24:27Z",
"updated": "2026-06-10T18:24:27Z",
"disabled": "2026-06-10T18:24:27Z"
}