The Things Network / The Things Stack · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Things Stack — Gateway Server Gateway Registry API
12 actions
12 updates
phrasing
extends
openapi/the-things-network-gatewayregistry-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.
What the actions change
x-apievangelist-phrasing
Targets 12
$.info
$.paths['/gateways'].get
$.paths['/gateways/filter'].post
$.paths['/gateways/{gateway.ids.gateway_id}'].put
$.paths['/gateways/{gateway_ids.gateway_id}'].get
$.paths['/gateways/{gateway_id}'].delete
$.paths['/gateways/{gateway_id}/purge'].delete
$.paths['/gateways/{gateway_id}/restore'].post
$.paths['/organizations/{collaborator.organization_ids.organization_id}/gateways'].get
$.paths['/organizations/{collaborator.organization_ids.organization_id}/gateways'].post
$.paths['/users/{collaborator.user_ids.user_id}/gateways'].get
$.paths['/users/{collaborator.user_ids.user_id}/gateways'].post
OpenAPI Overlay
# 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 — Gateway Server Gateway Registry API
version: 1.0.0
extends: openapi/the-things-network-gatewayregistry-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: 11
- target: $.paths['/gateways'].get
update:
x-apievangelist-phrasing:
intent: List gateways I can access
effect: read
questions:
- Which gateways do I have access to on The Things Stack?
- Can I include recently deleted gateways when listing?
- What gateways is a given user a direct collaborator on?
instructions:
- text: List all gateways I have access to.
- text: List gateways where user {user_id} is a direct collaborator.
slots:
user_id: query.collaborator.user_ids.user_id
- text: List deleted gateways too, with deleted set to {deleted}.
slots:
deleted: query.deleted
method: generated
generated: '2026-09-26'
- target: $.paths['/gateways/filter'].post
update:
x-apievangelist-phrasing:
intent: List gateways with filters
effect: read
questions:
- Can I list gateways using filter criteria in a request body?
- Is there a way to apply structured filters when listing gateways?
instructions:
- text: Filter my gateways using {filters}.
slots:
filters: requestBody.filters
- text: List gateways matching filters {filters}, limited to {limit}.
slots:
filters: requestBody.filters
limit: requestBody.limit
method: generated
generated: '2026-09-26'
- target: $.paths['/gateways/{gateway.ids.gateway_id}'].put
update:
x-apievangelist-phrasing:
intent: Update a gateway's settings
effect: write
questions:
- How do I change a gateway's name, frequency plan or other settings?
- Can I update only certain fields of a gateway using a field mask?
instructions:
- text: Update gateway {gateway_id} with {gateway}.
slots:
gateway_id: path.gateway.ids.gateway_id
gateway: requestBody.gateway
- text: Change fields {field_mask} on gateway {gateway_id}.
slots:
field_mask: requestBody.field_mask
gateway_id: path.gateway.ids.gateway_id
method: generated
generated: '2026-09-26'
- target: $.paths['/gateways/{gateway_ids.gateway_id}'].get
update:
x-apievangelist-phrasing:
intent: Get a gateway
effect: read
questions:
- What are the details of one of my gateways?
- Can I pick which fields of a gateway come back?
instructions:
- text: Show gateway {gateway_id}.
slots:
gateway_id: path.gateway_ids.gateway_id
- text: Get fields {field_mask} for gateway {gateway_id}.
slots:
field_mask: query.field_mask
gateway_id: path.gateway_ids.gateway_id
method: generated
generated: '2026-09-26'
- target: $.paths['/gateways/{gateway_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a gateway (restorable)
effect: destructive
questions:
- What happens to the gateway EUI when I delete a gateway?
- Can a deleted gateway be restored later?
instructions:
- text: Delete gateway {gateway_id}.
slots:
gateway_id: path.gateway_id
- text: Soft-delete gateway {gateway_id} and release its EUI.
slots:
gateway_id: path.gateway_id
method: generated
generated: '2026-09-26'
- target: $.paths['/gateways/{gateway_id}/purge'].delete
update:
x-apievangelist-phrasing:
intent: Permanently purge a gateway
effect: destructive
questions:
- How do I permanently remove a gateway so both its ID and EUI can be reused?
- Is purging a gateway different from deleting it?
instructions:
- text: Purge gateway {gateway_id} permanently.
slots:
gateway_id: path.gateway_id
- text: Free up the ID of gateway {gateway_id} by purging it.
slots:
gateway_id: path.gateway_id
method: generated
generated: '2026-09-26'
- target: $.paths['/gateways/{gateway_id}/restore'].post
update:
x-apievangelist-phrasing:
intent: Restore a recently deleted gateway
effect: write
questions:
- Can I undo deleting a gateway?
- Does restoring a deleted gateway bring back its EUI?
instructions:
- text: Restore deleted gateway {gateway_id}.
slots:
gateway_id: path.gateway_id
- text: Undo the deletion of gateway {gateway_id}.
slots:
gateway_id: path.gateway_id
method: generated
generated: '2026-09-26'
- target: $.paths['/organizations/{collaborator.organization_ids.organization_id}/gateways'].get
update:
x-apievangelist-phrasing:
intent: List an organization's gateways
effect: read
questions:
- Which gateways does my organization collaborate on?
- Can I list an organization's gateways including deleted ones?
instructions:
- text: List the gateways of organization {organization_id}.
slots:
organization_id: path.collaborator.organization_ids.organization_id
- text: Show {limit} gateways per page for organization {organization_id}.
slots:
limit: query.limit
organization_id: path.collaborator.organization_ids.organization_id
method: generated
generated: '2026-09-26'
- target: $.paths['/organizations/{collaborator.organization_ids.organization_id}/gateways'].post
update:
x-apievangelist-phrasing:
intent: Register a gateway under an organization
effect: write
questions:
- How do I register a new gateway owned by an organization?
- Does the organization get full rights on a gateway it creates?
instructions:
- text: Create gateway {gateway} under organization {organization_id}.
slots:
gateway: requestBody.gateway
organization_id: path.collaborator.organization_ids.organization_id
- text: Register a new gateway owned by organization {organization_id}.
slots:
organization_id: path.collaborator.organization_ids.organization_id
method: generated
generated: '2026-09-26'
- target: $.paths['/users/{collaborator.user_ids.user_id}/gateways'].get
update:
x-apievangelist-phrasing:
intent: List a user's gateways
effect: read
questions:
- Which gateways is a specific user a direct collaborator on?
- Can I list gateways for a user by their user ID in the path?
instructions:
- text: List gateways belonging to user {user_id}.
slots:
user_id: path.collaborator.user_ids.user_id
- text: Show gateways for user {user_id} sorted by {order}.
slots:
user_id: path.collaborator.user_ids.user_id
order: query.order
method: generated
generated: '2026-09-26'
- target: $.paths['/users/{collaborator.user_ids.user_id}/gateways'].post
update:
x-apievangelist-phrasing:
intent: Register a gateway under a user
effect: write
questions:
- How do I register a new gateway on my personal user account?
- What rights does the user get on a gateway they create?
instructions:
- text: Create gateway {gateway} for user {user_id}.
slots:
gateway: requestBody.gateway
user_id: path.collaborator.user_ids.user_id
- text: Register a new gateway on user account {user_id}.
slots:
user_id: path.collaborator.user_ids.user_id
method: generated
generated: '2026-09-26'
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/the-things-network-gatewayregistry-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.