Fixflo Agentic Access
Fixflo exposes 165 API operations that an AI agent could call, of which 75 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.
By consequence: 90 read, 73 write, and 2 physical.
Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.
By consequence
Highest-consequence actions
The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.
| Method | Path | Consequence | Human-in-loop |
|---|---|---|---|
| POST | /issue/{issueid}/invoicedetails | physical | conditional |
| POST | /issue/{issueid}/submitinvoice | physical | conditional |
Source
Agentic Access
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:
# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fixflo/refs/heads/main/agentic-access/fixflo-agentic-access.yml