generated: '2026-07-15' method: generated source: openapi/sap-brim-convergent-charging-openapi.yml, openapi/sap-brim-subscription-billing-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: 43 by_action_class: acting: 29 connected: 14 by_consequence: write: 23 physical: 6 read: 14 human_in_the_loop_required: 0 operations: - path: /rating/rate method: post operationId: rateUsageEvent 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 scope: - read - write - path: /rating/rate-batch method: post operationId: rateUsageEventBatch 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 scope: - read - write - path: /rating/simulate method: post operationId: simulateRating 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 scope: - read - write - path: /charging/charge method: post operationId: chargeAccount 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 scope: - read - write - path: /charging/refund method: post operationId: refundCharge 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 scope: - read - write - path: /charging/authorize method: post operationId: authorizeCharge 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 scope: - read - write - path: /charging/authorize/{authorizationId}/confirm method: post operationId: confirmAuthorization 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 scope: - read - write - path: /charging/authorize/{authorizationId}/release method: post operationId: releaseAuthorization 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 scope: - read - write - path: /pricing/plans method: get operationId: listPricingPlans x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /pricing/plans method: post operationId: createPricingPlan 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 scope: - read - write - path: /pricing/plans/{planId} method: get operationId: getPricingPlan x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /pricing/plans/{planId} method: put operationId: updatePricingPlan 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 scope: - read - write - path: /pricing/plans/{planId} method: delete operationId: deletePricingPlan 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 scope: - read - write - path: /pricing/plans/{planId}/rate-cards method: get operationId: listRateCards x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /pricing/plans/{planId}/rate-cards method: post operationId: createRateCard 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 scope: - read - write - path: /balances/{accountId} method: get operationId: getAccountBalance x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /balances/{accountId}/topup method: post operationId: topUpBalance 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 scope: - read - write - path: /usage-events method: post operationId: submitUsageEvent 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 scope: - read - write - path: /usage-events/{eventId} method: get operationId: getUsageEvent x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /subscriptions method: get operationId: listSubscriptions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /subscriptions method: post operationId: createSubscription 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 scope: - read - write - path: /subscriptions/{subscriptionId} method: get operationId: getSubscription x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /subscriptions/{subscriptionId} method: patch operationId: updateSubscription 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 scope: - read - write - path: /subscriptions/{subscriptionId} method: delete operationId: deleteSubscription 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 scope: - read - write - path: /subscriptions/{subscriptionId}/activate method: post operationId: activateSubscription 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 scope: - read - write - path: /subscriptions/{subscriptionId}/suspend method: post operationId: suspendSubscription 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 scope: - read - write - path: /subscriptions/{subscriptionId}/cancel method: post operationId: cancelSubscription 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 scope: - read - write - path: /subscriptions/{subscriptionId}/renew method: post operationId: renewSubscription 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 scope: - read - write - path: /subscriptions/{subscriptionId}/change-plan method: post operationId: changeSubscriptionPlan 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 scope: - read - write - path: /subscriptions/{subscriptionId}/items method: get operationId: listSubscriptionItems x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /subscriptions/{subscriptionId}/items method: post operationId: addSubscriptionItem 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 scope: - read - write - path: /subscriptions/{subscriptionId}/items/{itemId} method: get operationId: getSubscriptionItem x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /subscriptions/{subscriptionId}/items/{itemId} method: patch operationId: updateSubscriptionItem 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 scope: - read - write - path: /subscriptions/{subscriptionId}/items/{itemId} method: delete operationId: removeSubscriptionItem 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 scope: - read - write - path: /subscriptions/{subscriptionId}/billing-history method: get operationId: getSubscriptionBillingHistory x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /subscriptions/{subscriptionId}/generate-invoice method: post operationId: generateInvoice 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 scope: - read - write - path: /plans method: get operationId: listPlans x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /plans method: post operationId: createPlan 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 scope: - read - write - path: /plans/{planId} method: get operationId: getPlan x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /plans/{planId} method: put operationId: updatePlan 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 scope: - read - write - path: /plans/{planId} method: delete operationId: deletePlan 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 scope: - read - write - path: /customers/{customerId}/subscriptions method: get operationId: listCustomerSubscriptions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /customers/{customerId}/billing-summary method: get operationId: getCustomerBillingSummary x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write