The Things Network / The Things Stack Agentic Access
The Things Network / The Things Stack exposes 329 API operations that an AI agent could call, of which 174 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: 155 read, 152 write, 19 physical, and 3 safety-critical.
3 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 | /invitations | safety-critical | required |
| PATCH | /ns/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id} | safety-critical | required |
| DELETE | /users/{user_ids.user_id}/sessions/{session_id} | safety-critical | required |
| DELETE | /as/applications/{application_ids.application_id}/devices/batch | physical | conditional |
| DELETE | /as/applications/{application_ids.application_id}/devices/{device_id} | physical | conditional |
| POST | /as/applications/{end_device.ids.application_ids.application_id}/devices | physical | conditional |
| PUT | /as/applications/{end_device.ids.application_ids.application_id}/devices/{end_device.ids.device_id} | physical | conditional |
| POST | /edcs/applications/{application_ids.application_id}/authorize | physical | conditional |
| DELETE | /edcs/applications/{application_id}/authorize | physical | conditional |
| POST | /events | physical | conditional |
| POST | /gcls/claim | physical | conditional |
| POST | /invitations | physical | conditional |
| DELETE | /js/applications/{application_ids.application_id}/devices/batch | physical | conditional |
| DELETE | /js/applications/{application_ids.application_id}/devices/{device_id} | physical | conditional |
| PUT | /js/applications/{application_ids.application_id}/provision-devices | physical | conditional |
| POST | /js/applications/{end_device.ids.application_ids.application_id}/devices | physical | conditional |
| PUT | /js/applications/{end_device.ids.application_ids.application_id}/devices/{end_device.ids.device_id} | physical | conditional |
| DELETE | /ns/applications/{application_ids.application_id}/devices/batch | physical | conditional |
| POST | /ns/applications/{application_ids.application_id}/devices/mac_settings_profile/batch | physical | conditional |
| DELETE | /ns/applications/{application_ids.application_id}/devices/{device_id} | physical | conditional |
| POST | /ns/applications/{end_device.ids.application_ids.application_id}/devices | physical | conditional |
| PUT | /ns/applications/{end_device.ids.application_ids.application_id}/devices/{end_device.ids.device_id} | physical | conditional |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/the-things-stack-application-server-openapi.yml, openapi/the-things-stack-end-device-registry-openapi.yml,
openapi/the-things-stack-events-openapi.yml, openapi/the-things-stack-gateway-server-openapi.yml,
openapi/the-things-stack-identity-server-openapi.yml, openapi/the-things-stack-integrations-openapi.yml,
openapi/the-things-stack-join-server-openapi.yml, openapi/the-things-stack-network-server-openapi.yml,
openapi/the-things-stack-packet-broker-agent-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: 329
by_action_class:
connected: 155
acting: 174
by_consequence:
read: 155
write: 152
physical: 19
safety-critical: 3
human_in_the_loop_required: 3
operations:
- path: /applications
method: get
operationId: ApplicationRegistry_List
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applications/{application.ids.application_id}
method: put
operationId: ApplicationRegistry_Update
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: /applications/{application_ids.application_id}
method: get
operationId: ApplicationRegistry_Get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applications/{application_ids.application_id}/api-keys
method: get
operationId: ApplicationAccess_ListAPIKeys
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applications/{application_ids.application_id}/api-keys
method: post
operationId: ApplicationAccess_CreateAPIKey
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: /applications/{application_ids.application_id}/api-keys/{api_key.id}
method: put
operationId: ApplicationAccess_UpdateAPIKey
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: /applications/{application_ids.application_id}/api-keys/{key_id}
method: get
operationId: ApplicationAccess_GetAPIKey
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applications/{application_ids.application_id}/api-keys/{key_id}
method: delete
operationId: ApplicationAccess_DeleteAPIKey
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: /applications/{application_ids.application_id}/collaborator/organization/{collaborator.organization_ids.organization_id}
method: get
operationId: ApplicationAccess_GetCollaborator2
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applications/{application_ids.application_id}/collaborator/organization/{collaborator_ids.organization_ids.organization_id}
method: delete
operationId: ApplicationAccess_DeleteCollaborator2
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: /applications/{application_ids.application_id}/collaborator/user/{collaborator.user_ids.user_id}
method: get
operationId: ApplicationAccess_GetCollaborator
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applications/{application_ids.application_id}/collaborator/user/{collaborator_ids.user_ids.user_id}
method: delete
operationId: ApplicationAccess_DeleteCollaborator
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: /applications/{application_ids.application_id}/collaborators
method: get
operationId: ApplicationAccess_ListCollaborators
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applications/{application_ids.application_id}/collaborators
method: put
operationId: ApplicationAccess_SetCollaborator
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: /applications/{application_id}
method: delete
operationId: ApplicationRegistry_Delete
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /applications/{application_id}/dev-eui
method: post
operationId: ApplicationRegistry_IssueDevEUI
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: /applications/{application_id}/purge
method: delete
operationId: ApplicationRegistry_Purge
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: /applications/{application_id}/restore
method: post
operationId: ApplicationRegistry_Restore
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: /applications/{application_id}/rights
method: get
operationId: ApplicationAccess_ListRights
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /as/applications/{application_ids.application_id}/devices/batch
method: delete
operationId: AsEndDeviceBatchRegistry_Delete
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: /as/applications/{application_ids.application_id}/devices/{device_id}
method: delete
operationId: AsEndDeviceRegistry_Delete
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: /as/applications/{application_ids.application_id}/devices/{device_id}/down
method: get
operationId: AppAs_DownlinkQueueList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /as/applications/{application_ids.application_id}/devices/{device_id}/packages
method: get
operationId: ApplicationPackageRegistry_List
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /as/applications/{application_ids.application_id}/link
method: get
operationId: As_GetLink
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /as/applications/{application_ids.application_id}/link
method: put
operationId: As_SetLink
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: /as/applications/{application_ids.application_id}/packages/associations/{f_port}
method: delete
operationId: ApplicationPackageRegistry_DeleteDefaultAssociation
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: /as/applications/{application_ids.application_id}/packages/storage/{type}
method: get
operationId: ApplicationUpStorage_GetStoredApplicationUp2
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /as/applications/{application_ids.application_id}/packages/storage/{type}/count
method: get
operationId: ApplicationUpStorage_GetStoredApplicationUpCount2
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /as/applications/{application_id}/link
method: delete
operationId: As_DeleteLink
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: /as/applications/{application_id}/link/stats
method: get
operationId: As_GetLinkStats
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /as/applications/{application_id}/mqtt-connection-info
method: get
operationId: AppAs_GetMQTTConnectionInfo
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /as/applications/{association.ids.end_device_ids.application_ids.application_id}/devices/{association.ids.end_device_ids.device_id}/packages/associations/{association.ids.f_port}
method: put
operationId: ApplicationPackageRegistry_SetAssociation
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: /as/applications/{default.ids.application_ids.application_id}/packages/associations/{default.ids.f_port}
method: put
operationId: ApplicationPackageRegistry_SetDefaultAssociation
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: /as/applications/{end_device.ids.application_ids.application_id}/devices
method: post
operationId: AsEndDeviceRegistry_Set2
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: /as/applications/{end_device.ids.application_ids.application_id}/devices/{end_device.ids.device_id}
method: put
operationId: AsEndDeviceRegistry_Set
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: /as/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}
method: get
operationId: AsEndDeviceRegistry_Get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /as/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}/down/decode
method: post
operationId: AppAs_DecodeDownlink
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: /as/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}/down/encode
method: post
operationId: AppAs_EncodeDownlink
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: /as/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}/down/push
method: post
operationId: AppAs_DownlinkQueuePush
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: /as/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}/down/replace
method: post
operationId: AppAs_DownlinkQueueReplace
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: /as/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}/packages/associations/{f_port}
method: delete
operationId: ApplicationPackageRegistry_DeleteAssociation
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: /as/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}/packages/storage/{type}
method: get
operationId: ApplicationUpStorage_GetStoredApplicationUp
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /as/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}/packages/storage/{type}/count
method: get
operationId: ApplicationUpStorage_GetStoredApplicationUpCount
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /as/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}/up/decode
method: post
operationId: AppAs_DecodeUplink
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: /as/applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}/up/simulate
method: post
operationId: AppAs_SimulateUplink
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: /as/applications/{ids.application_ids.application_id}/devices/{ids.device_id}/packages/associations
method: get
operationId: ApplicationPackageRegistry_ListAssociations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /as/applications/{ids.application_ids.application_id}/packages/associations/{ids.f_port}
method: get
operationId: ApplicationPackageRegistry_GetDefaultAssociation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /as/applications/{ids.application_id}/packages/associations
method: get
operationId: ApplicationPackageRegistry_ListDefaultAssociations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /as/applications/{ids.end_device_ids.application_ids.application_id}/devices/{ids.end_device_ids.device_id}/packages/associations/{ids.f_port}
method: get
operationId: ApplicationPackageRegistry_GetAssociation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /as/configuration
method: get
operationId: As_GetConfiguration
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /js/applications/{application_ids.application_id}/settings
method: get
operationId: ApplicationActivationSettingRegistry_Get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /js/applications/{application_ids.application_id}/settings
method: delete
operationId: ApplicationActivationSettingRegistry_Delete
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /js/applications/{application_ids.application_id}/settings
method: post
operationId: ApplicationActivationSettingRegistry_Set
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: /organizations/{collaborator.organization_ids.organization_id}/applications
method: get
operationId: ApplicationRegistry_List3
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{collaborator.organization_ids.organization_id}/applications
method: post
operationId: ApplicationRegistry_Create2
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/{collaborator.user_ids.user_id}/applications
method: get
operationId: ApplicationRegistry_List2
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /users/{collaborator.user_ids.user_id}/applications
method: post
operationId: ApplicationRegistry_Create
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: /applications/{application_ids.application_id}/devices
method: get
operationId: EndDeviceRegistry_List
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applications/{application_ids.application_id}/devices/batch
method: get
operationId: EndDeviceBatchRegistry_Get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applications/{application_ids.application_id}/devices/batch
method: delete
operationId: EndDeviceBatchRegistry_Delete
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /applications/{application_ids.application_id}/devices/count
method: get
operationId: EndDeviceRegistry_Count
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applications/{application_ids.application_id}/devices/filter
method: post
operationId: EndDeviceRegistry_List2
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: /applications/{application_ids.application_id}/devices/{device_id}
method: delete
operationId: EndDeviceRegistry_Delete
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /applications/{end_device.ids.application_ids.application_id}/devices
method: post
operationId: EndDeviceRegistry_Create
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: /applications/{end_device.ids.application_ids.application_id}/devices/{end_device.ids.device_id}
method: put
operationId: EndDeviceRegistry_Update
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: /applications/{end_device_ids.application_ids.application_id}/devices/{end_device_ids.device_id}
method: get
operationId: EndDeviceRegistry_Get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dr/applications/{application_ids.application_id}/brands
method: get
operationId: DeviceRepository_ListBrands2
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dr/applications/{application_ids.application_id}/brands/{brand_id}
method: get
operationId: DeviceRepository_GetBrand2
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dr/applications/{application_ids.application_id}/brands/{brand_id}/models
method: get
operationId: DeviceRepository_ListModels4
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dr/applications/{application_ids.application_id}/brands/{brand_id}/models/{model_id}
method: get
operationId: DeviceRepository_GetModel2
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dr/applications/{application_ids.application_id}/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/formatters/downlink/decoder
method: get
operationId: DeviceRepository_GetDownlinkDecoder2
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dr/applications/{application_ids.application_id}/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/formatters/downlink/encoder
method: get
operationId: DeviceRepository_GetDownlinkEncoder2
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dr/applications/{application_ids.application_id}/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/formatters/uplink/decoder
method: get
operationId: DeviceRepository_GetUplinkDecoder2
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dr/applications/{application_ids.application_id}/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/template
method: get
operationId: DeviceRepository_GetTemplate3
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dr/applications/{application_ids.application_id}/models
method: get
operationId: DeviceRepository_ListModels3
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dr/applications/{application_ids.application_id}/vendors/{end_device_profile_ids.vendor_id}/profiles/{end_device_profile_ids.vendor_profile_id}/template
method: get
operationId: DeviceRepository_GetTemplate4
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dr/brands
method: get
operationId: DeviceRepository_ListBrands
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dr/brands/{brand_id}
method: get
operationId: DeviceRepository_GetBrand
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dr/brands/{brand_id}/models
method: get
operationId: DeviceRepository_ListModels2
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dr/brands/{brand_id}/models/{model_id}
method: get
operationId: DeviceRepository_GetModel
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dr/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/formatters/downlink/decoder
method: get
operationId: DeviceRepository_GetDownlinkDecoder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dr/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/formatters/downlink/encoder
method: get
operationId: DeviceRepository_GetDownlinkEncoder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dr/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/formatters/uplink/decoder
method: get
operationId: DeviceRepository_GetUplinkDecoder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dr/brands/{version_ids.brand_id}/models/{version_ids.model_id}/{version_ids.firmware_version}/{version_ids.band_id}/template
method: get
operationId: DeviceRepository_GetTemplate
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dr/models
method: get
operationId: DeviceRepository_ListModels
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /dr/vendors/{end_device_profile_ids.vendor_id}/profiles/{end_device_profile_ids.vendor_profile_id}/template
method: get
operationId: DeviceRepository_GetTemplate2
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /edcs/applications/{application_ids.application_id}/authorize
method: post
operationId: EndDeviceClaimingServer_AuthorizeApplication
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: /edcs/applications/{application_id}/authorize
method: delete
operationId: EndDeviceClaimingServer_UnauthorizeApplication
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: /edcs/claim
method: post
operationId: EndDeviceClaimingServer_Claim
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: /edcs/claim/info
method: post
operationId: EndDeviceClaimingServer_GetInfoByJoinEUI
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: /edcs/claim/info/batch
method: post
operationId: EndDeviceBatchClaimingServer_GetInfoByJoinEUIs
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: /edcs/claim/{application_ids.application_id}/devices/batch
method: delete
operationId: EndDeviceBatchClaimingServer_Unclaim
x-agentic-access:
action-class: acting
cons
# --- truncated at 32 KB (110 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/the-things-network/refs/heads/main/agentic-access/the-things-network-agentic-access.yml