generated: '2026-07-19' method: generated source: openapi/hopae-inc-hconnect-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: 42 by_action_class: connected: 18 acting: 24 by_consequence: read: 18 write: 3 safety-critical: 21 human_in_the_loop_required: 21 operations: - path: /v1/providers method: get operationId: getProviders x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/verifications method: post operationId: createVerification 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/verifications/{verificationId} method: get operationId: getVerification x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/verifications/{verificationId} method: delete operationId: deleteVerification 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: /token method: post operationId: exchangeCodeForToken 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/workspace method: get operationId: WorkspaceController_getWorkspace x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/apps method: post operationId: WorkspaceAppsController_createApp 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: /v1/apps method: get operationId: WorkspaceAppsController_listApps x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/apps/batch method: post operationId: WorkspaceAppsController_batchCreateApps 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: /v1/apps/{id}/redirect-uris method: get operationId: WorkspaceAppsController_getRedirectUris x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/apps/{id}/redirect-uris method: put operationId: WorkspaceAppsController_updateRedirectUris 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: /v1/apps/{id}/webhook-config method: get operationId: WorkspaceAppsController_getWebhookConfig x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/apps/{id}/webhook-config method: patch operationId: WorkspaceAppsController_updateWebhookConfig 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: /v1/apps/{id}/webhook-config/rotate-secret method: post operationId: WorkspaceAppsController_rotateWebhookSecret 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: /v1/apps/{id}/providers method: get operationId: WorkspaceAppsController_listProviders x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/apps/{id} method: get operationId: WorkspaceAppsController_getApp x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/apps/{id} method: patch operationId: WorkspaceAppsController_patchApp 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: /v1/apps/{id} method: delete operationId: WorkspaceAppsController_deleteApp 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: /v1/apps/{id}/providers/{providerId}/activation/steps method: get operationId: WorkspaceActivationController_getActivationSteps x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/apps/{id}/providers/{providerId}/activation method: patch operationId: WorkspaceActivationController_enableProvider 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: /v1/apps/{id}/providers/{providerId}/activation/form method: post operationId: WorkspaceActivationController_submitActivationForm 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: /v1/apps/{id}/providers/{providerId}/activation/documents method: post operationId: WorkspaceActivationController_uploadDocuments 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: /v1/apps/{id}/providers/{providerId}/activation/documents/{documentId} method: delete operationId: WorkspaceActivationController_deleteDocument 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: /v1/apps/{id}/workflows/node-types method: get operationId: WorkspaceWorkflowController_getNodeTypes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/apps/{id}/workflows method: post operationId: WorkspaceWorkflowController_createWorkflow 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: /v1/apps/{id}/workflows method: get operationId: WorkspaceWorkflowController_listWorkflows x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/apps/{id}/workflows/{workflowId} method: get operationId: WorkspaceWorkflowController_getWorkflow x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/apps/{id}/workflows/{workflowId} method: patch operationId: WorkspaceWorkflowController_updateWorkflow 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: /v1/apps/{id}/workflows/{workflowId} method: delete operationId: WorkspaceWorkflowController_deleteWorkflow 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: /v1/apps/{id}/workflows/{workflowId}/set-default method: post operationId: WorkspaceWorkflowController_setDefault 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: /v1/apps/{id}/production-tests method: get operationId: WorkspaceProductionTestController_listChallenges x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/apps/{id}/production-tests method: post operationId: WorkspaceProductionTestController_createChallenge 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: /v1/apps/{id}/production-tests/{challengeId}/report method: get operationId: WorkspaceProductionTestController_getChallengeReport x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/console/api-keys method: post operationId: ConsoleController_createApiKey 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: /v1/console/api-keys method: get operationId: ConsoleController_listApiKeys x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/console/api-keys/{id}/revoke method: post operationId: ConsoleController_revokeApiKey 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: /v1/console/api-keys/{id} method: delete operationId: ConsoleController_deleteApiKey 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: /v1/apps/{id}/rotate-client-secret method: post operationId: WorkspaceAppsController_rotateClientSecret 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: /v1/verifications/{verificationId}/evidence method: get operationId: VerificationController_getVerificationEvidence x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/verifications/{verificationId}/userinfo method: get operationId: VerificationController_getVerificationUserinfo x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/verifications/dc-request method: post operationId: VerificationController_createDcRequest 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: /v1/providers/{providerId}/configuration method: get operationId: ProvidersController_getProviderConfiguration x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none