Propertyware Agentic Access
Propertyware exposes 162 API operations that an AI agent could call, of which 86 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: 76 read, 62 write, and 24 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 | /accounting/bankdeposits | physical | conditional |
| DELETE | /accounting/bankdeposits/{bankDepositID} | physical | conditional |
| POST | /accounting/glaccounts/bulk | physical | conditional |
| POST | /bills/payment | physical | conditional |
| PUT | /bills/payment/{billPaymentID} | physical | conditional |
| POST | /bills/payments/bulk | physical | conditional |
| POST | /leases/autocharges | physical | conditional |
| POST | /leases/charges | physical | conditional |
| POST | /leases/charges/bulk | physical | conditional |
| PUT | /leases/charges/{chargeID} | physical | conditional |
| DELETE | /leases/charges/{chargeID} | physical | conditional |
| POST | /leases/payments | physical | conditional |
| PUT | /leases/payments/{entityID} | physical | conditional |
| POST | /leases/refunds | physical | conditional |
| PUT | /leases/refunds/{refundID} | physical | conditional |
| POST | /workorders | physical | conditional |
| POST | /workorders/bulk | physical | conditional |
| PUT | /workorders/closeworkorder/{workOrderID} | physical | conditional |
| PUT | /workorders/customfields | physical | conditional |
| DELETE | /workorders/{workOrderID} | physical | conditional |
| DELETE | /workorders/{workOrderID}/tasks/{taskID} | physical | conditional |
| POST | /workorders/{workOrderId}/tasks | physical | conditional |
| PUT | /workorders/{workOrderId}/tasks/{taskId} | physical | conditional |
| POST | /workorders/{workOrderId}/tasks/{taskId}/comments | physical | conditional |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/propertyware-openapi.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: 162
by_action_class:
acting: 86
connected: 76
by_consequence:
physical: 24
read: 76
write: 62
human_in_the_loop_required: 0
operations:
- path: /accounting/bankdeposits
method: post
operationId: createBankDeposit
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: /accounting/bankdeposits/{bankDepositID}
method: delete
operationId: deleteBankDeposit
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: /accounting/generalledger
method: get
operationId: getGeneralLedgerTransactions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounting/glaccounts
method: get
operationId: getAccounts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounting/glaccounts
method: post
operationId: createGLAccount
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: /accounting/glaccounts/bulk
method: post
operationId: createBillPayments
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: /accounting/glaccounts/{glAccountID}
method: get
operationId: getAccount
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounting/glaccounts/{glAccountID}
method: put
operationId: updateGLAccount
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: /accounting/glaccounts/{glAccount}
method: delete
operationId: deleteGLAccount
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: /accounting/ownercontributions
method: get
operationId: getOwnerContributions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounting/ownercontributions
method: post
operationId: createOwnerContribution
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: /accounting/ownercontributions/{ownerContributionID}
method: delete
operationId: deleteOwnerContribution
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: /accounting/ownerdraws
method: get
operationId: getOwnerDraws
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /accounting/ownerdraws
method: post
operationId: createOwnerDraw
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: /accounting/ownerdraws/{drawID}
method: put
operationId: updateOwnerDraw
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: /bills
method: get
operationId: getBills
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /bills
method: post
operationId: createBill
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: /bills/bulk
method: post
operationId: createBills
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: /bills/credit
method: post
operationId: createCredit
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: /bills/credit/{creditID}
method: put
operationId: updateCredit
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: /bills/payment
method: post
operationId: createBillPayment
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: /bills/payment/{billPaymentID}
method: put
operationId: updateBillPayment
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: /bills/payments
method: get
operationId: getBillPayments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /bills/payments/bulk
method: post
operationId: createBillPaymentsUsingPOST_1
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: /bills/payments/{billPaymentID}
method: get
operationId: getBillPayment
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /bills/vendorchecks
method: get
operationId: getVendorChecks
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /bills/vendorchecks
method: post
operationId: createVendorCheck
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: /bills/vendorchecks/{vendorCheckID}
method: put
operationId: updateVendorCheck
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: /bills/{billID}
method: get
operationId: getBill
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /bills/{billID}
method: delete
operationId: deleteBill
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: /bills/{billId}
method: put
operationId: updateBill
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: /buildings
method: get
operationId: getBuildings
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /buildings
method: post
operationId: createBuilding
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: /buildings/bulk
method: post
operationId: createContacts
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: /buildings/customfields
method: put
operationId: updateBuilding
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: /buildings/{buildingID}
method: get
operationId: getBuilding
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /buildings/{buildingID}
method: put
operationId: updateBuildingUsingPUT_1
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: /buildings/{buildingID}
method: delete
operationId: deleteBuilding
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: /buildings/{buildingID}/conversations
method: get
operationId: getBuildingConversations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /buildings/{buildingID}/conversations/{conversationID}
method: get
operationId: getBuildingConversation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /buildings/{buildingID}/conversations/{conversationID}
method: delete
operationId: deleteBuildingConversation
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: /buildings/{buildingID}/managementfees
method: get
operationId: getBuildingManagementFee
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /buildings/{buildingID}/managers
method: get
operationId: getBuildingManagers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /buildings/{buildingID}/notes
method: get
operationId: getBuildingNotes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contacts
method: get
operationId: getContacts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contacts
method: post
operationId: createContact
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: /contacts/bulk
method: post
operationId: createContactsUsingPOST_1
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: /contacts/categories
method: get
operationId: getContactCategories
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contacts/customfields
method: put
operationId: updateContact
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: /contacts/{contactID}
method: get
operationId: getContact
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contacts/{contactID}
method: put
operationId: updateContactUsingPUT_1
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: /contacts/{contactID}
method: delete
operationId: deleteContact
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: /contacts/{contactID}/conversations
method: get
operationId: getContactConversations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contacts/{contactID}/conversations/{conversationID}
method: get
operationId: getContactConversation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /contacts/{contactID}/conversations/{conversationID}
method: delete
operationId: deleteContactConversation
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: /customfields/{entityType}/definitions
method: get
operationId: retrieveCustomFieldDefinitions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /docs
method: get
operationId: retrieveAllDocuments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /docs
method: post
operationId: uploadDocument
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: /docs/{documentId}
method: get
operationId: retrieveDocument
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /docs/{documentId}
method: put
operationId: updateDocument
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: /docs/{documentId}
method: delete
operationId: deleteDocument
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: /docs/{documentId}/download
method: get
operationId: downloadDocument
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /health
method: get
operationId: health
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /inspections
method: get
operationId: getInspections
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /inspections/{inspectionId}
method: get
operationId: getInspection
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases
method: get
operationId: getLeases
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases
method: post
operationId: createLease
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: /leases/adjustments
method: get
operationId: getLeaseAdjustments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases/adjustments
method: post
operationId: createLeaseAdjustment
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: /leases/adjustments/{adjustmentID}
method: put
operationId: updateLeaseAdjustment
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: /leases/autocharges
method: get
operationId: getLeaseAutoCharges
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases/autocharges
method: post
operationId: createLeaseAutoCharges
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: /leases/charges
method: get
operationId: getLeaseCharges
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases/charges
method: post
operationId: createLeaseCharge
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: /leases/charges/bulk
method: post
operationId: createLeaseCharges
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: /leases/charges/{chargeID}
method: put
operationId: updateLeaseCharge
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: /leases/charges/{chargeID}
method: delete
operationId: deleteLeaseCharge
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: /leases/creditmemos
method: get
operationId: getLeaseCreditMemos
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases/customfields
method: put
operationId: updateLease
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: /leases/discounts
method: get
operationId: getLeaseDiscounts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases/discounts
method: post
operationId: createLeaseDiscount
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: /leases/discounts/{discountID}
method: put
operationId: updateLeaseDiscount
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: /leases/journalentries
method: get
operationId: getLeaseJournalEntryUsingGET_1
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases/journalentries
method: post
operationId: createJournalEntry
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: /leases/journalentries/{journalentryID}
method: put
operationId: updateLeaseJournalEntry
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: /leases/journalentries/{leaseID}
method: get
operationId: getLeaseJournalEntry
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases/payments
method: get
operationId: getLeasePayments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases/payments
method: post
operationId: createLeasePayment
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: /leases/payments/{entityID}
method: put
operationId: updateLeasePayment
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: /leases/refunds
method: get
operationId: getLeaseRefunds
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases/refunds
method: post
operationId: createLeaseRefund
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: /leases/refunds/{refundID}
method: put
operationId: updateLeaseRefund
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: /leases/statuses
method: get
operationId: getAllLeaseStatuses
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases/{leaseID}
method: delete
operationId: deleteLease
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: /leases/{leaseID}/conversations
method: get
operationId: getLeaseConversations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases/{leaseID}/conversations
method: post
operationId: createLeaseConversation
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: /leases/{leaseID}/conversations/{conversationID}
method: get
operationId: getLeaseConversation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases/{leaseID}/conversations/{conversationID}
method: delete
operationId: deleteLeaseConversation
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: /leases/{leaseID}/conversations/{conversationID}/comments
method: post
operationId: addCommentToLeaseConversation
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: /leases/{leaseId}
method: get
operationId: getLease
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases/{leaseId}
method: put
operationId: updateLeaseUsingPUT_1
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: /leases/{leaseId}/autocharges
method: get
operationId: getLeaseAutoChargesUsingGET_1
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases/{leaseId}/autoepayments
method: get
operationId: getLeaseAutoEPayments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases/{leaseId}/autojournalentries
method: get
operationId: getLeaseAutoJournalEntries
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases/{leaseId}/contacts
method: get
operationId: getLeaseContacts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases/{leaseId}/customfields
method: get
operationId: getLeaseCustomFields
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases/{leaseId}/document
method: get
operationId: getLeaseDocuments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases/{leaseId}/latefeerule
method: get
operationId: getLeaseLateFee
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases/{leaseId}/notes
method: get
operationId: getLeaseNotes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /leases/{leaseId}/workorders
method: get
operationId: getLeaseWorkOrders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
au
# --- truncated at 32 KB (47 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/propertyware/refs/heads/main/agentic-access/propertyware-agentic-access.yml