generated: '2026-07-15' method: generated source: openapi/arcadia-plug-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: 46 by_action_class: acting: 24 connected: 22 by_consequence: write: 20 read: 22 physical: 2 safety-critical: 2 human_in_the_loop_required: 2 operations: - path: /auth/access_token method: post operationId: createApiAccessToken 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: /auth/connect_token method: post operationId: createConnectToken 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: /auth/connect_url method: post operationId: createConnectUrl 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: /ping method: get operationId: ping x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /utility_accounts method: get operationId: getUtilityAccounts x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /utility_accounts/{utility_account_id} method: get operationId: getUtilityAccount x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users method: get operationId: getUsers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users/{client_user_id} method: get operationId: getUser x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users/{client_user_id} method: delete operationId: deleteUser 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: /utility_credentials method: get operationId: getUtilityCredentials x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /utility_credentials/{utility_credential_id} method: get operationId: getUtilityCredential x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /utility_meters method: get operationId: getUtilityMeters x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /utility_meters/{utility_meter_id} method: get operationId: getUtilityMeter x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /plug/utility_statements method: get operationId: getUtilityStatements x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /plug/utility_statements/{utility_statement_id} method: get operationId: getUtilityStatement x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /plug/utility_statements/{utility_statement_id}/intervals method: get operationId: getUtilityStatementIntervals x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /plug/utility_intervals method: get operationId: getUtilityIntervals x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /plug/utility_intervals/metadata method: get operationId: getUtilityIntervalMetadata x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /spark/charge_curve/cost method: post operationId: calculateChargeCost 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: /spark/charge_curve/schedule method: post operationId: calculateSmartChargeSchedule 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: /spark/tariff_rates method: post operationId: retrieveTariffRates 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: /spark/optimized_tariffs/load_serving_entities method: get operationId: searchLoadServingEntities x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /spark/optimized_tariffs/applicabilities method: get operationId: getOptimizedTariffsApplicabilities x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /spark/optimized_tariffs/recommendations method: post operationId: searchOptimizedTariffsByApplicabilities 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: /spark/optimized_tariffs/scenario_cost method: post operationId: calculateOptimizedTariffsScenarioCost 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: /spark/storage_optimization/schedules method: post operationId: calculateStorageOptimizationSchedules x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /bundle/utility_remittance/utility_credentials/{utility_credential_id}/enroll method: post operationId: enrollUtilityRemittance 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: /bundle/utility_remittance/utility_credentials/{utility_credential_id}/remove method: delete operationId: removeUtilityRemittance 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: /bundle/utility_remittance/utility_statements/{utility_statement_id}/utility_remittance_items method: post operationId: createUtilityRemittanceItem 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: /bundle/utility_remittance/utility_remittance_items/{utility_remittance_item_id} method: get operationId: getUtilityRemittanceItem x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /bundle/utility_remittance/utility_account/{utility_account_id}/enrollment method: get operationId: showUtilityRemittanceEnrollment x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /webhook/endpoints method: get operationId: getWebhooks x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /webhook/endpoints method: post operationId: createWebhook 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: /webhook/endpoints/{webhook_endpoint_id} method: delete operationId: deleteWebhook 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: /webhook/endpoints/{webhook_endpoint_id} method: get operationId: getWebhookEndpoint x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /webhook/endpoints/{webhook_endpoint_id} method: patch operationId: updateWebhookEndpoint 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: /webhook/endpoints/{webhook_endpoint_id}/test method: put operationId: requestWebookTestEvent 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: /webhook/endpoints/{webhook_endpoint_id}/events method: get operationId: getWebhookEvents x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /webhook/endpoints/{webhook_endpoint_id}/events/{webhook_event_id} method: get operationId: getWebhookEvent x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sandbox/bundle/utility_remittance/utility_credentials/{utility_credential_id}/accept method: post operationId: sandboxUtilityRemittanceAccept 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: /sandbox/bundle/utility_remittance/utility_credentials/{utility_credential_id}/reject method: post operationId: sandboxUtilityRemittanceReject 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: /sandbox/bundle/utility_remittance/utility_credentials/{utility_credential_id}/remove method: post operationId: sandboxUtilityRemittanceRemove 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: /sandbox/connect/submit_test_credentials method: post operationId: submitTestCredentials 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: /sandbox/webhook/trigger/new_utility_statement_available method: post operationId: triggerNewUtilityStatementAvailable 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: /sandbox/webhook/trigger/new_utility_intervals_available method: post operationId: triggerNewUtilityIntervalsAvailable 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: /sandbox/webhook/trigger/utility_credential_revoked method: post operationId: triggerUtilityCredentialRevoked x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required