generated: '2026-07-26' method: generated source: openapi/fixflo-api-v2-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: 165 by_action_class: acting: 75 connected: 90 by_consequence: write: 73 read: 90 physical: 2 human_in_the_loop_required: 0 operations: - path: /Agent method: post operationId: post-agent 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: /Agent method: get operationId: get-agent x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Agent/{Id}/Brand method: post operationId: post-Agent-Id-Brand 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: /Agents method: get operationId: get-Agents x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Block method: get operationId: get-Block x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Block method: post operationId: post-Block 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: /Blocks method: get operationId: get-blocks x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Block/{Id}/Tags method: get operationId: get-Block-Id-Tags x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Block/{Id}/Tags method: post operationId: post-block-Id-Tags 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: /Block/{Id}/Brand method: get operationId: get-Block-id-Brand x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Block/{Id}/Brand method: post operationId: post-Block-id-Brand 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: /CostCode method: get operationId: get-costcode x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /CostCode method: post operationId: post-CostCode 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: /CostCodes method: get operationId: get-costcodes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Brand/{BrandId} method: get operationId: get-brand x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Brands method: get operationId: get-brands x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Contractor/{id} method: get operationId: get-contractor x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Contractor method: post operationId: post-Contractor 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: /Contractor/{Id}/Brand method: post operationId: post-Contractor-Id-Brand 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: /Contractors method: get operationId: get-contractors x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Contractor/Services method: get operationId: get-contractor-services x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Estate/{id} method: get operationId: get-estate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Estate method: post operationId: post-estate 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: /Estates method: get operationId: get-estates x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /FaultTree/Walk/{id} method: get operationId: get-faulttree-walk x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Issue/{Id} method: get operationId: get-Issue x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Issue/ method: post operationId: post-Issue 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: /Issue/{Id}/ExternalRef method: post operationId: post-Issue-externalref 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: /Issues method: get operationId: get-issues x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Issue/{Id}/Report method: get operationId: get-issue-id-report x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Issues/JobAwarded method: get operationId: get-issues-jobawarded x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /IssueDraft/Commit method: post operationId: post-IssueDraft-Commit 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: /Issues/JobCompleted method: get operationId: get-issues-jobcompleted x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Issues/Closed method: get operationId: get-issues-closed x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /IssueDraft method: get operationId: get-issuedraft x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /IssueDraft method: post operationId: post-IssueDraft 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: /IssueDraft/{id}/IssueDraftMedia method: get operationId: get-issuedraftmedia x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /IssueDraft/Delete method: post operationId: post-IssueDraft-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: /IssueDraftMedia method: get operationId: get-issuedraftmedia-Id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /IssueDraftMedia method: post operationId: post-IssueDraftMedia-Id 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: /IssueDraft/{Id}/Assets method: get operationId: get-issuedraft-asset-Id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /IssueDraft/{Id}/Assets method: post operationId: post-issuedraft-asset-Id 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: /IssueDraftMedia/{Id}/Download method: get operationId: get-issuedraftmedia-Id-download x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Job/{id} method: get operationId: get-job-id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Landlord method: get operationId: get-landlord x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Landlord method: post operationId: post-Landlord 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: /Landlord/{id}/Brand method: get operationId: get-landlord-id-brand x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Landlord/{id}/Brand method: post operationId: landlord-brand-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: /Landlords method: get operationId: get-landlords x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /LandlordProperty method: get operationId: get-landlordproperty x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /LandlordProperty method: post operationId: post-LandlordProperty 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: /LandlordPropertyJoin method: get operationId: get-landlordpropertyJoin x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /LandlordPropertyJoin method: post operationId: post-LandlordPropertyJoin 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: /Landlord/{LandlordId}/LandlordProperties method: get operationId: get-landlord-LandlordId-landlordproperties x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /LandlordProperty/Delete method: post operationId: post-LandlordProperty-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: /LandlordPropertyJoin/Delete method: post operationId: post-LandlordPropertyJoin-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: /LeaseholderPropertyJoin/Delete method: post operationId: post-LeaseholderPropertyJoin-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: /LeaseholderPropertyJoin method: get operationId: get-LeaseholderpropertyJoin x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /LeaseholderPropertyJoin method: post operationId: post-LeaseholderPropertyJoin 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: /LeaseholderPropertyJoin/Search method: get operationId: get-leaseholderpropertyjoin-search x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Leaseholder/{id}/Brand method: get operationId: get-leaseholder-brand x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Leaseholder/{id}/Brand method: post operationId: post-Leaseholder-id-Brand 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: /Leaseholder method: get operationId: get-leaseholder x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Leaseholder method: post operationId: post-Leaseholder 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: /Leaseholders method: get operationId: get-leaseholders x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /LeaseholderProperty method: get operationId: get-leaseholderproperty x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Leaseholder/{LeaseholderId}/LeaseholderProperties method: get operationId: get-leaseholder-leaseholderproperties x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /LeaseholderProperty/Delete method: post operationId: get-leaseholderproperty-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: /Property/{Id}/Addresses method: get operationId: get-property-id-addresses x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Property method: get operationId: get-property x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Property method: post operationId: post-property 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: /Property/{Id}/Issues method: get operationId: get-property-Id-issues x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Property/Issues method: get operationId: get-property-Issues?externalPropertyRef=-ExternalPropertyRef x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Property/{Id}/Tags method: get operationId: get-Property-Id-Tags x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Property/{Id}/Tags method: post operationId: post-property-Id-Tags 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: /Property/{Id}/Notes method: get operationId: get-Property-Id-Notes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Property/{Id}/Notes method: post operationId: post-property-Id-Notes 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: /Property/{Id}/Notes method: delete operationId: delete-Property-PropertyId-Notes 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: /Property/{Id}/Tenants method: get operationId: get-property-id-tenants x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Property/{PropertyId}/LandlordProperties method: get operationId: get-property-propertyId-landlordproperties x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /PropertyAddress/{Id} method: get operationId: get-propertyaddress-Id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /PropertyAddress/Merge method: post operationId: post-propertyaddress-merge 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: /PropertyAddress/Split method: post operationId: post-propertyaddress-split 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: /PropertyAddress/Search method: get operationId: get-propertyaddress-search x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Property/UpdateAddress method: post operationId: post-Property-UpdateAddress 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: /ServiceProgrammeDef method: get operationId: get-serviceprogrammedef x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ServiceProgrammeDef method: post operationId: post-serviceprogrammedef 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: /ServiceProgrammeDefs method: get operationId: get-serviceprogrammedefs?pg=-pg-&keyword=-keyword-&IsDisabled=-isDisabled x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ServiceProgramme/{Id} method: get operationId: get-serviceprogramme x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ServiceProgrammes method: get operationId: get-serviceprogrammes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Property/{propertyId}/ServiceProgrammes method: get operationId: get-serviceprogrammes-by-property x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ServiceEvent/{id} method: get operationId: get-ServiceEvent x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ServiceEvents method: get operationId: get-ServiceEvents x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ServiceEvent/{id}/Medias method: get operationId: get-ServiceEvent-Media x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Team method: get operationId: get-team x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Team method: post operationId: post-team 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: /Teams method: get operationId: get-teams?pg=-pg x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Tenant method: get operationId: get-tenant x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Tenant method: post operationId: post-Tenant 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: /Tenant/{id}/Brand method: post operationId: post-tenant-id-brand 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: /Tenants method: get operationId: get-tenants x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Warranty/Add method: post operationId: post-warranty-add 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: /Warranty/Save method: post operationId: post-warranty-save 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: /Warranty/{id}/Delete method: post operationId: post-warranty-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: /Webhooks method: get operationId: get-webhooks x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Webhook/Activity method: get operationId: get-webhook-activity x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Webhook/Subscribe method: post operationId: get-webhook-subscribe 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/Unsubscribe method: delete operationId: get-webhook-unsubscribe 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: /Issue/{issueid}/jobjobber method: post operationId: post-Issue-issueid-jobjobber 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: /Issue/{issueid}/jobcompletiondetails method: get operationId: get-Issue-issueid-jobcompletiondetails x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Issue/{issueid}/jobcompletiondetails method: post operationId: post-Issue-issueid-jobcompletiondetails 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: /issue/{issueid}/completiondoc method: post operationId: post-job-completion-document 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: /issue/{issueid}/completiondoc/{mediaid} method: get operationId: get-job-completion-document x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /issue/{issueid}/completiondoc/{mediaid} method: post operationId: post-issue-issueid-completiondoc-mediaid 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: /issue/{issueid}/completiondoc/{mediaid}/delete method: delete operationId: delete-job-completion-document 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: /issue/{issueid}/completiondocs method: get operationId: get-job-completion-documents x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Issue/{issueId}/completioncertificatedoc method: post operationId: post-Issue-issueId-completioncertificatedoc 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: /Issue/{issueId}/completioncertificatedoc/{mediaId} method: get operationId: get-Issue-issueId-completioncertificatedocument-mediaId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Issue/{issueId}/completioncertificatedoc/{mediaId}/delete method: delete operationId: delete-Issue-issueId-completioncertificatedoc-mediaId-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: /issue/{issueid}/invoicedetails method: get operationId: get-invoice-details x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /issue/{issueid}/invoicedetails method: post operationId: post-issue-issueid-invoicedetails 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: /issue/{issueid}/submitinvoice method: post operationId: submit-invoice 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: /Issue/{issueId}/quotes method: get operationId: get-Issue-issueId-quotes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Issue/{Id}/Tags method: get operationId: get-Issue-Id-Tags x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Issue/{issueId}/quote method: post operationId: post-Issue-issueId-Quote 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: /Issue/{issueId}/quote/{quoteId} method: post operationId: post-Issue-issueId-amendquote-quoteId 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: /Issue/{issueId}/declinetoquote method: post operationId: post-Issue-issueId-declinetoquote 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: /Issue/{issueId}/declinejob method: post operationId: post-Issue-issueId-declineJob 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: /Issue/{issueId}/appointment method: post operationId: post-Issue-issueId-appointment 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: /Issue/{issueId}/appointment/{appointmentId}/cancel method: put operationId: put-Issue-issueId-appointment 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: /Issue/{issueId}/createfurtherworks method: post operationId: post-Issue-issueId-createfurtherworks 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: /Issue/{issueId}/quotefurtherworks method: post operationId: post-Issue-issueId-quotefurtherworks 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: /Issue/{issueId}/quoteinstead method: post operationId: post-Issue-issueId-quoteinstead 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: /Issue/{issueId}/contractornetworkcomment method: post operationId: post-Issue-issueId-contractornetworkcomment 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: /Agencies method: get operationId: get-Agencies x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Agency/{id} method: get operationId: get-Agency x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Agency method: post operationId: post-Agency 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: /Agency/{id}/SetupIntegrationTemplates method: get operationId: SetupAgencyIntegrationTemplates x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Customers method: get operationId: get-Customer-Customers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Customer/{Id} method: get operationId: get-Customer-Id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Assets method: get operationId: get-Assets x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Property/Search method: get operationId: get-Property-Search x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Asset method: post operationId: post-Asset 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: /Asset/{id} method: get operationId: get-Asset-id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Asset/{id} method: put operationId: put-Asset-id 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: /Agency/Settings method: get operationId: get-Agency-Settings x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ServiceEvent/CreateRemedial method: post operationId: post-ServiceEvent-CreateRemedial 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: /Tenant/{Id}/Properties method: get operationId: get-Tenant-Id-Properties x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Tenant/{Id}/Property/{PropertyId} method: delete operationId: delete-Tenant-Id-Property-PropertId 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: /Tenant/{Id}/Property/{PropertyId} method: get operationId: get-Tenant-Id-Property-PropertyId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Tenant/{Id}/Property method: post operationId: post-Tenant-Id-Property 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: /Tenant/{Id}/Anonymise method: post operationId: post-Tenant-Id-Anonymise 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: /Medias/PropertyCertificate method: get operationId: get-Medias x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Media/PropertyCertificate/{Id} method: get operationId: get-Media x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Media/PropertyCertificate/{Id} method: post operationId: post-Media-PropertyCertificate-Id 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: /Media/{Id}/Download method: get operationId: get-Media-Id-Download x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Property/{propertyId}/ServiceProgramme/{serviceProgrammeId}/ServiceEvent method: post operationId: post-Property-propertyId-ServiceProgramme-serviceProgrammeId-ServiceEvent 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: /Property/{propertyId}/ServiceProgramme/{serviceProgrammeId}/ServiceEvents method: get operationId: get-Property-propertyId-ServiceProgramme-serviceProgrammeId-ServiceEvents x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Property/{propertyId}/ServiceProgramme/{serviceProgrammeId}/ServiceEvent/{serviceEventId} method: get operationId: get-Property-propertyId-ServiceProgramme-serviceProgrammeId-ServiceEvent-serviceEventId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Property/{propertyId}/ServiceProgramme/{serviceProgrammeId}/ServiceEvent/{serviceEventId} method: post operationId: post-Property-propertyId-ServiceProgramme-serviceProgrammeId-ServiceEvent-serviceEventId 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: /Property/{propertyId}/ServiceProgramme/{serviceProgrammeId}/ServiceEvent/{serviceEventId} method: options operationId: options-Property-propertyId-ServiceProgramme-serviceProgrammeId-ServiceEvent-serviceEventId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Issue/{Id}/Comments method: get operationId: get-Issue-Id-Comments x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /Issue/{issueId}/Comment method: post operationId: post-Issue-Id-Comment 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: /Issues/Merge method: post operationId: Merge 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: /Property/{propertyId}/ServiceProgramme/{serviceProgramme}/ServiceEvent/Complete method: post operationId: post-Property-propertyId-ServiceProgramme-serviceProgramme-ServiceEvent-Complete 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