Tecnológico de Monterrey Agentic Access
Tecnológico de Monterrey exposes 378 API operations that an AI agent could call, of which 177 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: 201 read, 170 write, 2 physical, and 5 safety-critical.
5 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 |
|---|---|---|---|
| DELETE | /api/v1/access/datafile/{id}/revokeAccess/{identifier} | safety-critical | required |
| DELETE | /api/v1/admin/dataverse/{alias}/curationLabelSet | safety-critical | required |
| DELETE | /api/v1/admin/dataverse/{alias}/storageDriver | safety-critical | required |
| DELETE | /api/v1/datasets/{identifier}/curationLabelSet | safety-critical | required |
| DELETE | /api/v1/datasets/{identifier}/storageDriver | safety-critical | required |
| POST | /api/v1/admin/makeDataCount/sendToHub | physical | conditional |
| POST | /api/v1/builtin-users/{password}/{key}/{sendEmailNotification} | physical | conditional |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/tecnologico-de-monterrey-datahub-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: 378
by_action_class:
connected: 201
acting: 177
by_consequence:
read: 201
write: 170
safety-critical: 5
physical: 2
human_in_the_loop_required: 5
operations:
- path: /api/v1/access/datafile/bundle/{fileId}
method: get
operationId: datafileBundle
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/access/datafile/{fileId:.+}
method: get
operationId: datafile
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/access/datafile/{fileId}/auxiliary
method: get
operationId: listDatafileMetadataAux
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/access/datafile/{fileId}/auxiliary/{formatTag}/{formatVersion}
method: get
operationId: downloadAuxiliaryFile
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/access/datafile/{fileId}/auxiliary/{formatTag}/{formatVersion}
method: post
operationId: saveAuxiliaryFileWithVersion
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/access/datafile/{fileId}/auxiliary/{formatTag}/{formatVersion}
method: delete
operationId: deleteAuxiliaryFileWithVersion
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/access/datafile/{fileId}/auxiliary/{origin}
method: get
operationId: listDatafileMetadataAuxByOrigin
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/access/datafile/{fileId}/metadata
method: get
operationId: tabularDatafileMetadata
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/access/datafile/{fileId}/metadata/ddi
method: get
operationId: tabularDatafileMetadataDDI
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/access/datafile/{id}/grantAccess/{identifier}
method: put
operationId: grantFileAccess
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/access/datafile/{id}/listRequests
method: get
operationId: listFileAccessRequests
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/access/datafile/{id}/rejectAccess/{identifier}
method: put
operationId: rejectFileAccess
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/access/datafile/{id}/requestAccess
method: put
operationId: requestFileAccess
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/access/datafile/{id}/revokeAccess/{identifier}
method: delete
operationId: revokeFileAccess
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v1/access/datafiles
method: post
operationId: postDownloadDatafiles
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/access/datafiles/{fileIds}
method: get
operationId: datafiles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/access/dataset/{id}
method: get
operationId: downloadAllFromLatest
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/access/dataset/{id}/versions/{versionId}
method: get
operationId: downloadAllFromVersion
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/access/dsCardImage/{versionId}
method: get
operationId: dsCardImage
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/access/dvCardImage/{dataverseId}
method: get
operationId: dvCardImage
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/access/fileCardImage/{fileId}
method: get
operationId: fileCardImage
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/access/{id}/allowAccessRequest
method: put
operationId: allowAccessRequest
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/assignee/{idtf}
method: get
operationId: findRoleAssignee
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: '/api/v1/admin/assignments/assignees/{raIdtf: .*}'
method: get
operationId: getAssignmentsFor
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/authenticatedUsers
method: get
operationId: listAuthenticatedUsers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/authenticatedUsers
method: post
operationId: createAuthenicatedUser
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/authenticatedUsers/convert/builtin2oauth
method: put
operationId: builtin2oauth
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/authenticatedUsers/convert/builtin2shib
method: put
operationId: builtin2shib
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/authenticatedUsers/id/{id}
method: delete
operationId: deleteAuthenticatedUserById
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/authenticatedUsers/id/{id}/convertRemoteToBuiltIn
method: put
operationId: convertOAuthUserToBuiltin
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/authenticatedUsers/id/{id}/convertShibToBuiltIn
method: put
operationId: convertShibUserToBuiltin
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/authenticatedUsers/id/{id}/deactivate
method: post
operationId: deactivateAuthenticatedUserById
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/authenticatedUsers/{identifier}
method: get
operationId: getAuthenticatedUserByIdentifier
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/authenticatedUsers/{identifier}
method: delete
operationId: deleteAuthenticatedUser
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/authenticatedUsers/{identifier}/deactivate
method: post
operationId: deactivateAuthenticatedUser
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/authenticationProviderFactories
method: get
operationId: listAuthProviderFactories
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/authenticationProviders
method: get
operationId: listAuthProviders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/authenticationProviders
method: post
operationId: addProvider
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/authenticationProviders/{id}
method: get
operationId: showProvider
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/authenticationProviders/{id}
method: delete
operationId: deleteAuthenticationProvider
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/authenticationProviders/{id}/:enabled
method: post
operationId: enableAuthenticationProvider_deprecated
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/authenticationProviders/{id}/enabled
method: get
operationId: checkAuthenticationProviderEnabled
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/authenticationProviders/{id}/enabled
method: put
operationId: enableAuthenticationProvider
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/bannerMessage
method: get
operationId: getBannerMessages
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/bannerMessage
method: post
operationId: addBannerMessage
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/bannerMessage/{id}
method: delete
operationId: deleteBannerMessage
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/bannerMessage/{id}/deactivate
method: put
operationId: deactivateBannerMessage
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/batch/jobs
method: get
operationId: listBatchJobs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/batch/jobs/name/{jobName}
method: get
operationId: listBatchJobsByName
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/batch/jobs/{jobId}
method: get
operationId: listBatchJobById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/clearMetricsCache
method: delete
operationId: clearMetricsCache
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/clearMetricsCache/{name}
method: delete
operationId: clearMetricsCacheByName
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/computeDataFileHashValue/{fileId}/algorithm/{alg}
method: post
operationId: computeDataFileHashValue
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/confirmEmail/{userId}
method: get
operationId: getConfirmEmailToken
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/confirmEmail/{userId}
method: post
operationId: startConfirmEmailProcess
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/convertUserFromBcryptToSha1
method: post
operationId: convertUserFromBcryptToSha1
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/datafiles/integrity/fixmissingoriginalsizes
method: get
operationId: fixMissingOriginalSizes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/datafiles/integrity/fixmissingoriginaltypes
method: get
operationId: fixMissingOriginalTypes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/datasetfield
method: get
operationId: getAll
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/datasetfield/controlledVocabulary/subject
method: get
operationId: showControlledVocabularyForSubject
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/datasetfield/load
method: post
operationId: loadDatasetFields
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/datasetfield/loadNAControlledVocabularyValue
method: get
operationId: loadNAControlledVocabularyValue
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/datasetfield/loadpropertyfiles
method: post
operationId: loadLanguagePropertyFile
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/datasetfield/{name}
method: get
operationId: getByName
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/datasets/integrity/{datasetVersionId}/fixmissingunf
method: post
operationId: fixUnf
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/datasets/thumbnailMetadata/{id}
method: get
operationId: getDatasetThumbnailMetadata
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/dataverse/curationLabelSets
method: get
operationId: listCurationLabelSets
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/dataverse/storageDrivers
method: get
operationId: listStorageDrivers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/dataverse/{alias}/addRoleAssignmentsToChildren
method: get
operationId: addRoleAssignementsToChildren
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/dataverse/{alias}/curationLabelSet
method: get
operationId: getCurationLabelSet
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/dataverse/{alias}/curationLabelSet
method: put
operationId: setCurationLabelSet
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/dataverse/{alias}/curationLabelSet
method: delete
operationId: resetCurationLabelSet
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v1/admin/dataverse/{alias}/storageDriver
method: get
operationId: getStorageDriver
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/dataverse/{alias}/storageDriver
method: put
operationId: setStorageDriver
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/dataverse/{alias}/storageDriver
method: delete
operationId: resetStorageDriver
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /api/v1/admin/externalTools
method: get
operationId: getExternalTools
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/externalTools
method: post
operationId: addExternalTool
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/externalTools/{id}
method: get
operationId: getExternalTool
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/externalTools/{id}
method: delete
operationId: deleteExternalTool
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/feedback
method: post
operationId: submitFeedback
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/groups/domain
method: get
operationId: listMailDomainGroups
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/groups/domain
method: post
operationId: createMailDomainGroup
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/groups/domain/{groupAlias}
method: get
operationId: getMailDomainGroup
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/groups/domain/{groupAlias}
method: put
operationId: updateMailDomainGroups
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/groups/domain/{groupAlias}
method: delete
operationId: deleteMailDomainGroup
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/groups/ip
method: get
operationId: listIpGroups
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/groups/ip
method: post
operationId: postIpGroup
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/groups/ip/{groupIdtf}
method: get
operationId: getIpGroup
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/groups/ip/{groupIdtf}
method: delete
operationId: deleteIpGroup
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/groups/ip/{groupName}
method: put
operationId: putIpGroups
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/groups/shib
method: get
operationId: listShibGroups
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/groups/shib
method: post
operationId: createShibGroup
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/groups/shib/{primaryKey}
method: delete
operationId: deleteShibGroup
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/index
method: get
operationId: indexAllOrSubset
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/index/clear
method: get
operationId: clearSolrIndex
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/index/clear-orphans
method: get
operationId: clearOrphans
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/index/continue
method: get
operationId: indexAllOrSubsetContinue
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/index/dataset
method: get
operationId: indexDatasetByPersistentId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/index/filemetadata/{dataset_id}
method: get
operationId: getFileMetadataByDatasetId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/index/filesearch
method: get
operationId: filesearch
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/index/mod
method: get
operationId: indexMod
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/index/perms
method: get
operationId: indexAllPermissions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/index/perms/{id}
method: get
operationId: indexPermissions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/index/permsDebug
method: get
operationId: searchPermsDebug
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/index/solr/schema
method: get
operationId: getSolrSchema
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/index/status
method: get
operationId: indexStatus
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/index/test
method: get
operationId: searchDebug
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /api/v1/admin/index/timestamps
method: delete
operationId: deleteAllTimestamps
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/index/timestamps/{dvObjectId}
method: delete
operationId: deleteTimestamp
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /api/v1/admin/index/{type}/{id}
method: get
operationId: indexTypeById
# --- truncated at 32 KB (108 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tecnologico-de-monterrey/refs/heads/main/agentic-access/tecnologico-de-monterrey-agentic-access.yml