generated: '2026-07-24' method: generated source: openapi/paystone-datacandy-openapi.yml 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: 38 by_action_class: connected: 27 acting: 11 by_consequence: read: 27 write: 11 human_in_the_loop_required: 0 operations: - path: /v1/clients/{accessKey}/portals/balance method: get operationId: api_v1clients_accessKeyportalsbalance_get_collection x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/clients method: get operationId: api_v1clients_get_collection x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/clients method: post operationId: api_v1clients_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: /v1/clients/{id} method: get operationId: api_v1clients_id_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/clients/{id} method: patch operationId: api_v1clients_id_patch 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: /v1/clients/{id}/complete method: post operationId: api_v1clients_idcomplete_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: /contacts method: get operationId: api_contacts_get_collection x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /contacts/{id} method: get operationId: api_contacts_id_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/clients/{accessKey}/account-types/gift method: get operationId: api_v1clients_accessKeyaccount-typesgift_get_collection x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/clients/{accessKey}/account-types/gift/{id} method: get operationId: api_v1clients_accessKeyaccount-typesgift_id_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /items/{id} method: get operationId: api_items_id_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/clients/{accessKey}/account-types/loyalty method: get operationId: api_v1clients_accessKeyaccount-typesloyalty_get_collection x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/clients/{accessKey}/account-types/loyalty/{id} method: get operationId: api_v1clients_accessKeyaccount-typesloyalty_id_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /loyalty-transactions method: get operationId: api_loyalty-transactions_get_collection x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /loyalty-transactions/{id} method: get operationId: api_loyalty-transactions_id_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/clients/{accessKey}/portals/member method: get operationId: api_v1clients_accessKeyportalsmember_get_collection x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /merchants method: get operationId: api_merchants_get_collection x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /merchants/{id} method: get operationId: api_merchants_id_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/clients/{accessKey}/merchants method: get operationId: api_v1clients_accessKeymerchants_get_collection x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/clients/{accessKey}/merchants method: post operationId: api_v1clients_accessKeymerchants_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: /v1/clients/{accessKey}/merchants/by-external-reference/{externalReference} method: get operationId: api_v1clients_accessKeymerchantsby-external-reference_externalReference_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/clients/{accessKey}/merchants/by-external-reference/{externalReference} method: patch operationId: api_v1clients_accessKeymerchantsby-external-reference_externalReference_patch 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: /v1/clients/{accessKey}/merchants/{id} method: get operationId: api_v1clients_accessKeymerchants_id_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/clients/{accessKey}/merchants/{id} method: patch operationId: api_v1clients_accessKeymerchants_id_patch 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: /prepaid-transactions method: get operationId: api_prepaid-transactions_get_collection x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /prepaid-transactions/{id} method: get operationId: api_prepaid-transactions_id_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/clients/{accessKey}/account-types/promo method: get operationId: api_v1clients_accessKeyaccount-typespromo_get_collection x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/clients/{accessKey}/account-types/promo/{id} method: get operationId: api_v1clients_accessKeyaccount-typespromo_id_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /rewards/{id} method: get operationId: api_rewards_id_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/clients/{accessKey}/users method: get operationId: api_v1clients_accessKeyusers_get_collection x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/clients/{accessKey}/users method: post operationId: api_v1clients_accessKeyusers_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: /v1/clients/{accessKey}/users/{username} method: get operationId: api_v1clients_accessKeyusers_username_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/clients/{accessKey}/users/{username} method: patch operationId: api_v1clients_accessKeyusers_username_patch 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: /webhooks method: get operationId: api_webhooks_get_collection x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /webhooks method: post operationId: api_webhooks_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: /webhooks/{id} method: get operationId: api_webhooks_id_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /webhooks/{id} method: put operationId: api_webhooks_id_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: /webhooks/{id} method: patch operationId: api_webhooks_id_patch 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