The Things Network / The Things Stack · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Things Stack — End Device Registry End Device Claiming…

7 actions 7 updates phrasing extends openapi/the-things-network-enddeviceclaimingserver-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for The Things Network / The Things Stack's API. It is a proposal applied on top of the contract, not a document The Things Network / The Things Stack publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 7

$.info
$.paths['/edcs/applications/{application_ids.application_id}/authorize'].post
$.paths['/edcs/applications/{application_id}/authorize'].delete
$.paths['/edcs/claim'].post
$.paths['/edcs/claim/info'].post
$.paths['/edcs/claim/{application_ids.application_id}/devices/{device_id}'].get
$.paths['/edcs/claim/{application_ids.application_id}/devices/{device_id}'].delete

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Things Stack — End Device Registry End Device Claiming…
  version: 1.0.0
extends: openapi/the-things-network-enddeviceclaimingserver-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 6
- target: $.paths['/edcs/applications/{application_ids.application_id}/authorize'].post
  update:
    x-apievangelist-phrasing:
      intent: Authorize device claiming for an application
      effect: write
      questions:
      - How do I let the claiming server claim devices registered in my application?
      - Does authorizing an application for claiming require an API key?
      instructions:
      - text: Authorize the claiming server on application {application_id} with key {api_key}.
        slots:
          application_id: path.application_ids.application_id
          api_key: requestBody.api_key
      - text: Allow devices in app {application_id} to be claimed.
        slots:
          application_id: path.application_ids.application_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/edcs/applications/{application_id}/authorize'].delete
  update:
    x-apievangelist-phrasing:
      intent: Revoke device claiming for an application
      effect: destructive
      questions:
      - How do I stop the claiming server from claiming devices in my app?
      - Can I undo a claiming authorization I gave an application?
      instructions:
      - text: Unauthorize the claiming server for application {application_id}.
        slots:
          application_id: path.application_id
      - text: Revoke claim access on app {application_id}.
        slots:
          application_id: path.application_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/edcs/claim'].post
  update:
    x-apievangelist-phrasing:
      intent: Claim an end device into an application
      effect: write
      questions:
      - How do I claim a device into my application using its QR code?
      - Can I claim a device with its claim authentication code instead of a QR code?
      instructions:
      - text: Claim the device with QR code {qr_code} into application {application_id}.
        slots:
          qr_code: requestBody.qr_code
          application_id: requestBody.target_application_ids
      - text: Claim device {authenticated_identifiers} into app {application_id} as {device_id}.
        slots:
          authenticated_identifiers: requestBody.authenticated_identifiers
          application_id: requestBody.target_application_ids
          device_id: requestBody.target_device_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/edcs/claim/info'].post
  update:
    x-apievangelist-phrasing:
      intent: Check if claiming is available for a JoinEUI
      effect: read
      questions:
      - Can devices with a given JoinEUI be claimed?
      - Which JoinEUIs support device claiming on this network?
      instructions:
      - text: Check whether JoinEUI {join_eui} supports claiming.
        slots:
          join_eui: requestBody.join_eui
      - text: Tell me if claiming works for JoinEUI {join_eui}.
        slots:
          join_eui: requestBody.join_eui
      method: generated
      generated: '2026-09-26'
- target: $.paths['/edcs/claim/{application_ids.application_id}/devices/{device_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an end device's claim status
      effect: read
      questions:
      - Has my end device been claimed on the Join Server?
      - What is the current claim status of a device in my application?
      instructions:
      - text: Get the claim status of device {device_id} in application {application_id}.
        slots:
          device_id: path.device_id
          application_id: path.application_ids.application_id
      - text: Check whether {device_id} in app {application_id} is claimed.
        slots:
          device_id: path.device_id
          application_id: path.application_ids.application_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/edcs/claim/{application_ids.application_id}/devices/{device_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Unclaim a single end device
      effect: destructive
      questions:
      - How do I release one claimed device from the Join Server?
      - Can I unclaim a single device so someone else can claim it?
      instructions:
      - text: Unclaim device {device_id} in application {application_id}.
        slots:
          device_id: path.device_id
          application_id: path.application_ids.application_id
      - text: Release the claim on {device_id} from app {application_id}.
        slots:
          device_id: path.device_id
          application_id: path.application_ids.application_id
      method: generated
      generated: '2026-09-26'