Indian Institute of Technology Kanpur Agentic Access
Indian Institute of Technology Kanpur exposes 286 API operations that an AI agent could call, of which 154 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: 132 read, 137 write, and 17 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 | /acquisitions/orders | physical | conditional |
| DELETE | /acquisitions/orders/{order_id} | physical | conditional |
| PUT | /acquisitions/orders/{order_id} | physical | conditional |
| POST | /auth/otp/token_delivery | physical | conditional |
| POST | /checkouts | physical | conditional |
| POST | /checkouts/{checkout_id}/renewal | physical | conditional |
| POST | /checkouts/{checkout_id}/renewals | physical | conditional |
| POST | /public/patrons/{patron_id}/checkouts | physical | conditional |
| PUT | /public/patrons/{patron_id}/guarantors/can_see_charges | physical | conditional |
| PUT | /public/patrons/{patron_id}/guarantors/can_see_checkouts | physical | conditional |
| POST | /suggestions | physical | conditional |
| DELETE | /suggestions/{suggestion_id} | physical | conditional |
| PUT | /suggestions/{suggestion_id} | physical | conditional |
| POST | /transfer_limits | physical | conditional |
| DELETE | /transfer_limits/batch | physical | conditional |
| POST | /transfer_limits/batch | physical | conditional |
| DELETE | /transfer_limits/{limit_id} | physical | conditional |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/iit-kanpur-library-rest.yaml
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: 286
by_action_class:
connected: 132
acting: 154
by_consequence:
read: 132
physical: 17
write: 137
human_in_the_loop_required: 0
operations:
- path: /acquisitions/baskets/managers
method: get
operationId: listBasketsManagers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /acquisitions/funds
method: get
operationId: listFunds
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /acquisitions/funds/owners
method: get
operationId: listFundsOwners
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /acquisitions/funds/users
method: get
operationId: listFundsUsers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /acquisitions/orders
method: get
operationId: listOrders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /acquisitions/orders
method: post
operationId: addOrder
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: /acquisitions/orders/{order_id}
method: delete
operationId: deleteOrder
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: /acquisitions/orders/{order_id}
method: get
operationId: getOrder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /acquisitions/orders/{order_id}
method: put
operationId: updateOrder
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: /acquisitions/vendors
method: get
operationId: listVendors
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /acquisitions/vendors
method: post
operationId: addVendor
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: /acquisitions/vendors/{vendor_id}
method: delete
operationId: deleteVendor
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: /acquisitions/vendors/{vendor_id}
method: get
operationId: getVendor
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /acquisitions/vendors/{vendor_id}
method: put
operationId: updateVendor
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: /acquisitions/vendors/{vendor_id}/issues
method: get
operationId: listVendorIssues
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /advanced_editor/macros
method: get
operationId: listMacro
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /advanced_editor/macros
method: post
operationId: addAdvancedEditorMacro
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: /advanced_editor/macros/shared
method: post
operationId: addsharedAdvancedEditorMacro
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: /advanced_editor/macros/shared/{advancededitormacro_id}
method: delete
operationId: deletesharedAdvancedEditorMacro
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: /advanced_editor/macros/shared/{advancededitormacro_id}
method: get
operationId: getsharedAdvancedEditorMacro
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /advanced_editor/macros/shared/{advancededitormacro_id}
method: put
operationId: updatesharedAdvancedEditorMacro
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: /advanced_editor/macros/{advancededitormacro_id}
method: delete
operationId: deleteAdvancedEditorMacro
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: /advanced_editor/macros/{advancededitormacro_id}
method: get
operationId: getAdvancedEditorMacro
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /advanced_editor/macros/{advancededitormacro_id}
method: put
operationId: updateAdvancedEditorMacro
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: /article_requests/{article_request_id}
method: delete
operationId: cancelArticleRequest
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /auth/identity_providers
method: get
operationId: listIdentityProviders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/identity_providers
method: post
operationId: addIdentityProvider
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /auth/identity_providers/{identity_provider_id}
method: delete
operationId: delIdentityProvider
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /auth/identity_providers/{identity_provider_id}
method: get
operationId: getIdentityProvider
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/identity_providers/{identity_provider_id}
method: put
operationId: updateIdentityProvider
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /auth/identity_providers/{identity_provider_id}/domains
method: get
operationId: listIdentityProviderDomains
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/identity_providers/{identity_provider_id}/domains
method: post
operationId: addIdentityProviderDomain
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /auth/identity_providers/{identity_provider_id}/domains/{identity_provider_domain_id}
method: delete
operationId: delIdentityProviderDomain
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /auth/identity_providers/{identity_provider_id}/domains/{identity_provider_domain_id}
method: get
operationId: getIdentityProviderDomain
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/identity_providers/{identity_provider_id}/domains/{identity_provider_domain_id}
method: put
operationId: updateIdentityProviderDomain
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /auth/otp/token_delivery
method: post
operationId: send_otp_token
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: /auth/password/validation
method: post
operationId: validateUserAndPassword
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /auth/two-factor/registration
method: post
operationId: Two factor register
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /auth/two-factor/registration/verification
method: post
operationId: Two factor register verification
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: /authorised_value_categories
method: get
operationId: listAuthorisedValueCategories
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authorised_value_categories/{authorised_value_category_name}/authorised_values
method: get
operationId: listAuthorisedValues
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authorities
method: get
operationId: listAuthorities
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authorities
method: post
operationId: addAuthority
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: /authorities/{authority_id}
method: delete
operationId: deleteAuthority
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: /authorities/{authority_id}
method: get
operationId: getAuthority
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authorities/{authority_id}
method: put
operationId: updateAuthority
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: /biblios
method: get
operationId: listBiblio
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /biblios
method: post
operationId: addBiblio
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: /biblios/{biblio_id}
method: delete
operationId: deleteBiblio
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: /biblios/{biblio_id}
method: get
operationId: getBiblio
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /biblios/{biblio_id}
method: put
operationId: updateBiblio
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: /biblios/{biblio_id}/bookings
method: get
operationId: getBiblioBookings
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /biblios/{biblio_id}/checkouts
method: get
operationId: listBiblioCheckouts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /biblios/{biblio_id}/item_groups
method: get
operationId: listItemGroups
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /biblios/{biblio_id}/item_groups
method: post
operationId: addItemGroup
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: /biblios/{biblio_id}/item_groups/{item_group_id}
method: delete
operationId: deleteItemGroup
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: /biblios/{biblio_id}/item_groups/{item_group_id}
method: get
operationId: getItemGroup
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /biblios/{biblio_id}/item_groups/{item_group_id}
method: put
operationId: updateItemGroup
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: /biblios/{biblio_id}/item_groups/{item_group_id}/items
method: post
operationId: addItemGroupItem
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: /biblios/{biblio_id}/item_groups/{item_group_id}/items/{item_id}
method: delete
operationId: deleteItemGroupItems
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: /biblios/{biblio_id}/items
method: get
operationId: getBiblioItems
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /biblios/{biblio_id}/items
method: post
operationId: addBiblioItem
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: /biblios/{biblio_id}/items/{item_id}
method: put
operationId: updateBiblioItem
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: /biblios/{biblio_id}/merge
method: post
operationId: mergeBiblios
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: /biblios/{biblio_id}/pickup_locations
method: get
operationId: getBiblioPickupLocations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /bookings
method: get
operationId: listBookings
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /bookings
method: post
operationId: addBooking
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: /bookings/{booking_id}
method: delete
operationId: deleteBooking
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: /bookings/{booking_id}
method: get
operationId: getBooking
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /bookings/{booking_id}
method: put
operationId: updateBooking
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: /cash_registers/{cash_register_id}/cashups
method: get
operationId: listCashups
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /cashups/{cashup_id}
method: get
operationId: getCashup
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /checkouts
method: get
operationId: listCheckouts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /checkouts
method: post
operationId: addCheckout
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: /checkouts/availability
method: get
operationId: availabilityCheckouts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /checkouts/{checkout_id}
method: get
operationId: getCheckout
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /checkouts/{checkout_id}/allows_renewal
method: get
operationId: allows_renewalCheckout
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /checkouts/{checkout_id}/renewal
method: post
operationId: renewCheckout
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: /checkouts/{checkout_id}/renewals
method: get
operationId: getRenewals
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /checkouts/{checkout_id}/renewals
method: post
operationId: renewsCheckout
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: /circulation-rules/kinds
method: get
operationId: getCirculationRuleKinds
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /cities
method: get
operationId: listCities
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /cities
method: post
operationId: addCity
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: /cities/{city_id}
method: delete
operationId: deleteCity
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: /cities/{city_id}
method: get
operationId: getCity
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /cities/{city_id}
method: put
operationId: updateCity
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: /clubs/{club_id}/holds
method: post
operationId: addClubHold
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: /config/smtp_servers
method: get
operationId: listSMTPServers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /config/smtp_servers
method: post
operationId: addSMTPServer
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: /config/smtp_servers/{smtp_server_id}
method: delete
operationId: deleteSMTPServer
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: /config/smtp_servers/{smtp_server_id}
method: get
operationId: getSMTPServer
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /config/smtp_servers/{smtp_server_id}
method: put
operationId: updateSMTPServer
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: /erm/agreements
method: get
operationId: listErmAgreements
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /erm/agreements
method: post
operationId: addErmAgreements
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: /erm/agreements/{agreement_id}
method: delete
operationId: deleteErmAgreements
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: /erm/agreements/{agreement_id}
method: get
operationId: getErmAgreements
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /erm/agreements/{agreement_id}
method: put
operationId: updateErmAgreements
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: /erm/config
method: get
operationId: getERMconfig
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /erm/counter_files
method: get
operationId: listErmCounterFiles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /erm/counter_files/{erm_counter_files_id}
method: delete
operationId: deleteERMCounterFiles
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: /erm/counter_files/{erm_counter_files_id}/file/content
method: get
operationId: downloadCounterFile
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /erm/counter_logs
method: get
operationId: listErmCounterLogs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /erm/counter_registry
method: get
operationId: listCounterRegisteredPlatforms
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /erm/default_usage_reports
method: get
operationId: listErmDefaultUsageReports
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /erm/default_usage_reports
method: post
operationId: addErmDefaultUsageReports
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: /erm/default_usage_reports/{erm_default_usage_report_id}
method: delete
operationId: deleteERMDefaultUsageReports
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: /erm/documents/{document_id}/file/content
method: get
operationId: downloadErmDocument
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /erm/eUsage/metric_types_report/{data_type}
method: get
operationId: getERMUsageMetricTypesReport
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /erm/eUsage/monthly_report/{data_type}
method: get
operationId: getERMUsageMonthlyReport
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /erm/eUsage/provider_rollup_report/{data_type}
method: get
operationId: getERMUsageProvide
# --- truncated at 32 KB (83 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/iit-kanpur/refs/heads/main/agentic-access/iit-kanpur-agentic-access.yml