FOSSology Agentic Access
FOSSology exposes 167 API operations that an AI agent could call, of which 85 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: 82 read, 83 write, and 2 safety-critical.
2 operations are classed safety-critical and should require human-in-the-loop approval at runtime.
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 |
|---|---|---|---|
| PUT | /license/adminacknowledgements | safety-critical | required |
| PUT | /license/stdcomments | safety-critical | required |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/fossology-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: 167
by_action_class:
acting: 85
connected: 82
by_consequence:
write: 83
read: 82
safety-critical: 2
human_in_the_loop_required: 2
operations:
- path: /tokens
method: post
operationId: createToken
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: /info
method: get
operationId: getInfo
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /openapi
method: get
operationId: getOpenApi
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /maintenance
method: post
operationId: initiateMaintenance
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: /health
method: get
operationId: getHealth
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /obligations/list
method: get
operationId: getObligationsList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /obligations/{id}
method: get
operationId: getObligationsData
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /obligations/{id}
method: delete
operationId: deleteObligationsData
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: /obligations/import-csv
method: post
operationId: importObligationCsv
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: /obligations/export-csv
method: get
operationId: exportLicenseObligations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /obligations/import-json
method: post
operationId: importObligationsFromJSON
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: /obligations/export-json
method: get
operationId: exportObligationsToJSON
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /obligations
method: get
operationId: getAllObligationsData
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}
method: get
operationId: getUploadById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}
method: delete
operationId: deleteUploadById
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: /uploads/{id}
method: patch
operationId: updateUploadById
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: /uploads/{id}
method: put
operationId: moveUploadById
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: /uploads
method: get
operationId: getUploads
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads
method: post
operationId: createUpload
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: /uploads/{id}/download
method: get
operationId: getUploadFileById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/summary
method: get
operationId: getSummaryByUploadId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/item/{itemId}/info
method: get
operationId: getItemInfo
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/licenses
method: get
operationId: getLicensesByUploadId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/copyrights
method: get
operationId: getCopyrightsByUploadId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/permissions
method: put
operationId: setUploadPermissions
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: /uploads/{id}/perm-groups
method: get
operationId: getGroupsWithPermissions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/item/{itemId}/highlight
method: get
operationId: getHighlightEntries
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/item/{itemId}/view
method: get
operationId: viewTheContentOfTheFile
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/item/{itemId}/clearing-decision
method: put
operationId: setClearingDecision
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: /uploads/{id}/item/{itemId}/bulk-scan
method: post
operationId: scheduleBulkScan
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: /uploads/{id}/item/{itemId}/bulk-history
method: get
operationId: getBulkHistory
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/item/{itemId}/licenses
method: get
operationId: getLicenseDecisions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/item/{itemId}/licenses
method: put
operationId: addEditDeleteLicenseDecision
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: /uploads/{id}/licenses/main
method: get
operationId: getMainLicenses
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/licenses/main
method: post
operationId: setMainLicense
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: /uploads/{id}/licenses/{shortName}/main
method: delete
operationId: deleteMainLicense
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: /uploads/{id}/item/{itemId}/prev-next
method: get
operationId: getPreviousAndNextItem
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/item/{itemId}/clearing-history
method: get
operationId: getClearingHistory
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/clearing-progress
method: get
operationId: getClearingProgressInfo
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/licenses/histogram
method: get
operationId: getLicensesHistogram
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/agents
method: get
operationId: getAgentsByUploadId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/licenses/edited
method: get
operationId: getAllEditedLicenses
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/licenses/scanned
method: get
operationId: getAllScannedLicenses
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/item/{itemId}/tree/view
method: get
operationId: getItemTreeView
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/topitem
method: get
operationId: getTopItemId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/licenses/reuse
method: get
operationId: getLicensesReuseSummary
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/agents/revision
method: get
operationId: getRevisionsForAgents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/oneshot/nomos
method: post
operationId: runOneShotNomos
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: /uploads/oneshot/monk
method: post
operationId: runOneShotMonk
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: /uploads/oneshot/ceu
method: post
operationId: runOneShotCEU
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: /search
method: get
operationId: searchFile
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /users
method: post
operationId: createUser
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: /users
method: get
operationId: getUsers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /users/{id}
method: get
operationId: getUserById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /users/{id}
method: put
operationId: modifyUserById
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: /users/{id}
method: delete
operationId: deleteUserById
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: /users/self
method: get
operationId: getSelf
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /users/tokens
method: post
operationId: createRestApiToken
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: /users/tokens/{type}
method: get
operationId: getTokensByType
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/item/{itemId}/copyrights
method: get
operationId: getFileCopyrights
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/item/{itemId}/copyrights/{hash}
method: delete
operationId: deleteFileCopyrights
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: /uploads/{id}/item/{itemId}/copyrights/{hash}
method: patch
operationId: restoreFileCopyrights
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: /uploads/{id}/item/{itemId}/copyrights/{hash}
method: put
operationId: updateFileCopyrights
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: /uploads/{id}/item/{itemId}/user-copyrights
method: get
operationId: getFileUserCopyrights
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/item/{itemId}/user-copyrights/{hash}
method: delete
operationId: deleteFileUserCopyright
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: /uploads/{id}/item/{itemId}/user-copyrights/{hash}
method: patch
operationId: restoreFileUserCopyright
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: /uploads/{id}/item/{itemId}/user-copyrights/{hash}
method: put
operationId: updateFileUserCopyright
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: /uploads/{id}/item/{itemId}/scancode-copyrights
method: get
operationId: getFileScanCodeCopyrights
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/item/{itemId}/scancode-copyrights/{hash}
method: delete
operationId: deleteFileScanCodeCopyright
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: /uploads/{id}/item/{itemId}/scancode-copyrights/{hash}
method: patch
operationId: restoreFileScanCodeCopyright
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: /uploads/{id}/item/{itemId}/scancode-copyrights/{hash}
method: put
operationId: updateFileScanCodeCopyright
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: /uploads/{id}/item/{itemId}/emails
method: get
operationId: getFileEmails
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/item/{itemId}/emails/{hash}
method: delete
operationId: deleteFileEmails
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: /uploads/{id}/item/{itemId}/emails/{hash}
method: patch
operationId: restoreFileEmail
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: /uploads/{id}/item/{itemId}/emails/{hash}
method: put
operationId: updateFileEmail
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: /uploads/{id}/item/{itemId}/scancode-emails
method: get
operationId: getFileScanCodeEmail
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/item/{itemId}/scancode-emails/{hash}
method: delete
operationId: deleteFileScanCodeEmail
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: /uploads/{id}/item/{itemId}/scancode-emails/{hash}
method: patch
operationId: restoreFileScanCodeEmail
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: /uploads/{id}/item/{itemId}/scancode-emails/{hash}
method: put
operationId: updateFileScanCodeEmail
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: /uploads/{id}/item/{itemId}/urls
method: get
operationId: getFileUrls
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/item/{itemId}/urls/{hash}
method: delete
operationId: deleteFileUrl
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: /uploads/{id}/item/{itemId}/urls/{hash}
method: patch
operationId: restoreFileUrl
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: /uploads/{id}/item/{itemId}/urls/{hash}
method: put
operationId: updateFileUrl
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: /uploads/{id}/item/{itemId}/scancode-urls
method: get
operationId: getFileScanCodeUrl
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/item/{itemId}/scancode-urls/{hash}
method: delete
operationId: deleteFileScanCodeUrl
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: /uploads/{id}/item/{itemId}/scancode-urls/{hash}
method: patch
operationId: restoreFileScanCodeUrl
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: /uploads/{id}/item/{itemId}/scancode-urls/{hash}
method: put
operationId: updateFileScanCodeUrl
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: /uploads/{id}/item/{itemId}/authors
method: get
operationId: getFileAuthors
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/item/{itemId}/authors/{hash}
method: delete
operationId: deleteFileAuthor
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: /uploads/{id}/item/{itemId}/authors/{hash}
method: patch
operationId: restoreFileAuthor
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: /uploads/{id}/item/{itemId}/authors/{hash}
method: put
operationId: updateFileAuthor
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: /uploads/{id}/item/{itemId}/scancode-authors
method: get
operationId: getFileScanCodeAuthor
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/item/{itemId}/scancode-authors/{hash}
method: delete
operationId: deleteFileScanCodeAuthor
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: /uploads/{id}/item/{itemId}/scancode-authors/{hash}
method: patch
operationId: restoreFileScanCodeAuthor
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: /uploads/{id}/item/{itemId}/scancode-authors/{hash}
method: put
operationId: updateFileScanCodeAuthor
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: /uploads/{id}/item/{itemId}/eccs
method: get
operationId: getFileEccs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/item/{itemId}/eccs/{hash}
method: delete
operationId: deleteFileEcc
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: /uploads/{id}/item/{itemId}/eccs/{hash}
method: patch
operationId: restoreFileEcc
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: /uploads/{id}/item/{itemId}/eccs/{hash}
method: put
operationId: updateFileEcc
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: /uploads/{id}/item/{itemId}/keywords
method: get
operationId: getFileKeywords
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/item/{itemId}/keywords/{hash}
method: delete
operationId: deleteFileKeyword
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: /uploads/{id}/item/{itemId}/keywords/{hash}
method: patch
operationId: restoreFileKeyword
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: /uploads/{id}/item/{itemId}/keywords/{hash}
method: put
operationId: updateFileKeyword
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: /uploads/{id}/item/{itemId}/ipras
method: get
operationId: getFileIpras
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /uploads/{id}/item/{itemId}/ipras/{hash}
method: delete
operationId: deleteFileIpra
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: /uploads/{id}/item/{itemId}/ipras/{hash}
method: patch
operationId: restoreFileIpra
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: /uploads/{id}/item/{itemId}/ipras/{hash}
method: put
operationId: updateFileIpra
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: /jobs
method: get
operationId: getJobs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /jobs
method: post
operationId: startJobs
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: /jobs/all
method: get
operationId: getAllJobs
x-agentic-access:
action-class: co
# --- truncated at 32 KB (47 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fossology/refs/heads/main/agentic-access/fossology-agentic-access.yml