generated: '2026-07-19' method: generated source: openapi/fordefi-openapi-original.json description: Recommended x-agentic-access execution contracts, classified heuristically from the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind audience per deployment. See research/curity/agentic-governance/. summary: operations: 75 by_action_class: connected: 30 acting: 45 by_consequence: read: 30 write: 44 physical: 1 human_in_the_loop_required: 0 operations: - path: /api/v1/blockchains method: get operationId: list_chains_api_v1_blockchains_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/blockchains/suggested-fees method: get operationId: get_suggested_fees_api_v1_blockchains_suggested_fees_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/users method: get operationId: list_users_api_v1_users_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/users/{id} method: get operationId: get_user_api_v1_users__id__get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/user-groups method: get operationId: list_user_groups_api_v1_user_groups_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/user-groups/{id} method: get operationId: get_user_group_api_v1_user_groups__id__get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/vaults method: get operationId: list_vaults_api_v1_vaults_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/vaults method: post operationId: create_vault_api_v1_vaults_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/vaults/export_async method: get operationId: export_vaults_with_assets_async_api_v1_vaults_export_async_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/vaults/{id} method: get operationId: get_vault_api_v1_vaults__id__get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/vaults/{id}/assets/{asset_id} method: get operationId: get_vault_asset_api_v1_vaults__id__assets__asset_id__get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/vaults/{id}/assets method: get operationId: get_vault_assets_api_v1_vaults__id__assets_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/vaults/{id}/proposals method: post operationId: submit_update_vault_change_proposal_api_v1_vaults__id__proposals_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/vaults/{id}/archive method: post operationId: archive_vault_api_v1_vaults__id__archive_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/vaults/{id}/restore method: post operationId: restore_vault_api_v1_vaults__id__restore_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/vaults/{id}/name method: put operationId: rename_vault_api_v1_vaults__id__name_put x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/vaults/{id}/addresses method: post operationId: create_address_api_v1_vaults__id__addresses_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/vaults/{id}/addresses method: get operationId: list_vault_addresses_api_v1_vaults__id__addresses_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/vaults/addresses/{id}/name method: put operationId: rename_vault_address_api_v1_vaults_addresses__id__name_put x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/vault-groups method: get operationId: list_vault_groups_api_v1_vault_groups_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/assets/owned-assets/{id} method: get operationId: get_owned_asset_api_v1_assets_owned_assets__id__get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/assets/owned-assets method: get operationId: list_owned_assets_api_v1_assets_owned_assets_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/assets method: put operationId: update_asset_configuration_api_v1_assets_put x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/assets/prices method: post operationId: fetch_asset_prices_api_v1_assets_prices_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/assets/asset-infos method: post operationId: create_asset_info_api_v1_assets_asset_infos_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/transactions/export method: get operationId: export_transactions_api_v1_transactions_export_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/transactions/index-by-hash method: post operationId: index_transaction_by_hash_api_v1_transactions_index_by_hash_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/transactions/{id} method: get operationId: get_transaction_api_v1_transactions__id__get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/transactions method: get operationId: list_transactions_api_v1_transactions_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/transactions method: post operationId: create_transaction_api_v1_transactions_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/transactions/transfer method: post operationId: create_transfer_api_v1_transactions_transfer_post x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/transactions/create-and-wait method: post operationId: create_transaction_and_wait_api_v1_transactions_create_and_wait_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/transactions/{id}/approve method: post operationId: approve_transaction_api_v1_transactions__id__approve_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/transactions/{id}/abort method: post operationId: abort_transaction_api_v1_transactions__id__abort_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/transactions/{id}/release method: post operationId: release_transaction_api_v1_transactions__id__release_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/transactions/predict method: post operationId: predict_transaction_api_v1_transactions_predict_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/transactions/{id}/push method: post operationId: push_transaction_api_v1_transactions__id__push_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/transactions/{id}/update-spam-state method: put operationId: update_transaction_spam_state_api_v1_transactions__id__update_spam_state_put x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/transactions/{id}/trigger-signing method: post operationId: trigger_transaction_signing_api_v1_transactions__id__trigger_signing_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/transactions/{id}/unfreeze method: post operationId: unfreeze_transaction_api_v1_transactions__id__unfreeze_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/transactions/{id}/freeze method: post operationId: freeze_transaction_api_v1_transactions__id__freeze_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/batch-transactions method: post operationId: create_batch_transaction_api_v1_batch_transactions_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/batch-transactions/predict method: post operationId: predict_batch_transaction_api_v1_batch_transactions_predict_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/batch-transactions/{batch_id}/abort method: post operationId: abort_batch_transaction_api_v1_batch_transactions__batch_id__abort_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/batch-transactions/{batch_id}/approve method: post operationId: approve_batch_transaction_api_v1_batch_transactions__batch_id__approve_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/addressbook/contacts method: post operationId: create_contact_api_v1_addressbook_contacts_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/addressbook/contacts method: get operationId: list_contacts_api_v1_addressbook_contacts_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/addressbook/contacts/batch method: post operationId: create_batch_contacts_api_v1_addressbook_contacts_batch_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/addressbook/contacts/proposals/{proposal_id}/abort method: post operationId: abort_contact_change_proposal_api_v1_addressbook_contacts_proposals__proposal_id__abort_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/addressbook/contacts/{id}/proposals method: post operationId: edit_contact_api_v1_addressbook_contacts__id__proposals_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/webhooks/test method: post operationId: test_webhook_api_v1_webhooks_test_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/webhooks/trigger/transaction/{id} method: post operationId: trigger_transaction_webhook_api_v1_webhooks_trigger_transaction__id__post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/webhooks/trigger/audit-log/{id} method: post operationId: trigger_audit_log_webhook_api_v1_webhooks_trigger_audit_log__id__post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/organizations/import-keys method: post operationId: import_keys_api_v1_organizations_import_keys_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/organizations/abort-import-keys method: post operationId: abort_import_keys_api_v1_organizations_abort_import_keys_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/organizations/import-keys-status method: get operationId: get_import_keys_status_api_v1_organizations_import_keys_status_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/organizations/list-keys method: get operationId: list_keys_api_v1_organizations_list_keys_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/end-users method: get operationId: list_end_users_api_v1_end_users_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/end-users method: post operationId: create_end_user_api_v1_end_users_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/end-users/current method: get operationId: get_current_end_user_api_v1_end_users_current_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/end-users/{id} method: get operationId: get_end_user_api_v1_end_users__id__get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/end-users/{id} method: delete operationId: delete_end_user_api_v1_end_users__id__delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/end-users/{id}/set-export-end-user-keys-permissions method: put operationId: set_export_end_user_keys_permissions_api_v1_end_users__id__set_export_end_user_keys_permissions_put x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/authorization-tokens method: post operationId: issue_authorization_token_api_v1_authorization_tokens_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/authorization-tokens method: get operationId: list_authorization_tokens_api_v1_authorization_tokens_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/authorization-tokens/{id} method: delete operationId: delete_authorization_token_api_v1_authorization_tokens__id__delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/audit-log method: get operationId: list_audit_log_records_api_v1_audit_log_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/audit-log/export method: get operationId: export_audit_log_api_v1_audit_log_export_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/exports/{id} method: get operationId: get_export_api_v1_exports__id__get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/exports/{id}/abort method: post operationId: abort_export_api_v1_exports__id__abort_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/swaps/providers/{chain_type} method: get operationId: get_providers_api_v1_swaps_providers__chain_type__get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/v1/swaps/quotes method: post operationId: get_quotes_api_v1_swaps_quotes_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/swaps method: post operationId: create_transaction_api_v1_swaps_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/swaps/predict method: post operationId: predict_transaction_api_v1_swaps_predict_post x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/v1/enclave-keys method: get operationId: list_enclave_keys_api_v1_enclave_keys_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none