The Things Network / The Things Stack · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Things Stack — Identity Server Entity Registry Search API

11 actions 11 updates phrasing extends openapi/the-things-network-entityregistrysearch-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 11

$.info
$.paths['/applications/{application_ids.application_id}/collaborators/search'].get
$.paths['/clients/{client_ids.client_id}/collaborators/search'].get
$.paths['/gateways/{gateway_ids.gateway_id}/collaborators/search'].get
$.paths['/organizations/{organization_ids.organization_id}/collaborators/search'].get
$.paths['/search/accounts'].get
$.paths['/search/applications'].get
$.paths['/search/clients'].get
$.paths['/search/gateways'].get
$.paths['/search/organizations'].get
$.paths['/search/users'].get

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 — Identity Server Entity Registry Search API
  version: 1.0.0
extends: openapi/the-things-network-entityregistrysearch-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: 10
- target: $.paths['/applications/{application_ids.application_id}/collaborators/search'].get
  update:
    x-apievangelist-phrasing:
      intent: Search accounts to add to an application
      effect: read
      questions:
      - How do I find a user or organization to add as a collaborator on my application?
      - Can I exclude people who are already collaborators on the application?
      instructions:
      - text: Search accounts matching {query} for application {application_id}.
        slots:
          query: query.query
          application_id: path.application_ids.application_id
      - text: Find only users matching {query} who are not yet on application {application_id}, with complement set to {complement}.
        slots:
          query: query.query
          application_id: path.application_ids.application_id
          complement: query.complement_collaborators
      method: generated
      generated: '2026-09-26'
- target: $.paths['/clients/{client_ids.client_id}/collaborators/search'].get
  update:
    x-apievangelist-phrasing:
      intent: Search accounts for an OAuth client
      effect: read
      questions:
      - Can I search for accounts to add as collaborators on an OAuth client?
      - Which users match a name when I'm managing a client's members?
      instructions:
      - text: Search accounts matching {query} for OAuth client {client_id}.
        slots:
          query: query.query
          client_id: path.client_ids.client_id
      - text: Find users only, matching {query}, to add to OAuth client {client_id}; only_users {only_users}.
        slots:
          query: query.query
          client_id: path.client_ids.client_id
          only_users: query.only_users
      method: generated
      generated: '2026-09-26'
- target: $.paths['/gateways/{gateway_ids.gateway_id}/collaborators/search'].get
  update:
    x-apievangelist-phrasing:
      intent: Search accounts for a gateway
      effect: read
      questions:
      - How can I look up a user or organization to share my gateway with?
      - Can I search only users, not organizations, for a gateway's collaborators?
      instructions:
      - text: Search accounts matching {query} for gateway {gateway_id}.
        slots:
          query: query.query
          gateway_id: path.gateway_ids.gateway_id
      - text: Find only users named like {query} for gateway {gateway_id}, only_users {only_users}.
        slots:
          query: query.query
          gateway_id: path.gateway_ids.gateway_id
          only_users: query.only_users
      method: generated
      generated: '2026-09-26'
- target: $.paths['/organizations/{organization_ids.organization_id}/collaborators/search'].get
  update:
    x-apievangelist-phrasing:
      intent: Search accounts for an organization
      effect: read
      questions:
      - How do I search for people to invite into my organization?
      - Can I leave out accounts that are already members of the organization?
      instructions:
      - text: Search accounts matching {query} for organization {organization_id}.
        slots:
          query: query.query
          organization_id: path.organization_ids.organization_id
      - text: Find people matching {query} who are not yet members of organization {organization_id}, complement {complement}.
        slots:
          query: query.query
          organization_id: path.organization_ids.organization_id
          complement: query.complement_collaborators
      method: generated
      generated: '2026-09-26'
- target: $.paths['/search/accounts'].get
  update:
    x-apievangelist-phrasing:
      intent: Search user and organization accounts
      effect: read
      questions:
      - How do I search all user and organization accounts by name?
      - Can I search accounts without tying it to a specific entity?
      instructions:
      - text: Search accounts matching {query}.
        slots:
          query: query.query
      - text: Look up user accounts only matching {query}, only_users {only_users}.
        slots:
          query: query.query
          only_users: query.only_users
      method: generated
      generated: '2026-09-26'
- target: $.paths['/search/applications'].get
  update:
    x-apievangelist-phrasing:
      intent: Search applications
      effect: read
      questions:
      - Which of my applications have an ID or name containing a word?
      - Can I search applications by description text?
      - Does application search include deleted applications?
      instructions:
      - text: Search applications whose name contains {name}.
        slots:
          name: query.name_contains
      - text: Find applications with an ID containing {id}.
        slots:
          id: query.id_contains
      method: generated
      generated: '2026-09-26'
- target: $.paths['/search/clients'].get
  update:
    x-apievangelist-phrasing:
      intent: Search OAuth clients
      effect: read
      questions:
      - How do I find OAuth clients by name or ID?
      - Can I filter OAuth clients by their approval state?
      instructions:
      - text: Search OAuth clients whose name contains {name}.
        slots:
          name: query.name_contains
      - text: Find OAuth clients in state {state}.
        slots:
          state: query.state
      method: generated
      generated: '2026-09-26'
- target: $.paths['/search/gateways'].get
  update:
    x-apievangelist-phrasing:
      intent: Search gateways
      effect: read
      questions:
      - Can I search my gateways by part of their EUI?
      - Which gateways have a description mentioning a keyword?
      instructions:
      - text: Search gateways with an EUI containing {eui}.
        slots:
          eui: query.eui_contains
      - text: Find gateways whose name contains {name}.
        slots:
          name: query.name_contains
      method: generated
      generated: '2026-09-26'
- target: $.paths['/search/organizations'].get
  update:
    x-apievangelist-phrasing:
      intent: Search organizations
      effect: read
      questions:
      - How can I find an organization by part of its name?
      - Can I search organizations by ID fragment?
      instructions:
      - text: Search organizations whose name contains {name}.
        slots:
          name: query.name_contains
      - text: Find organizations with an ID containing {id}.
        slots:
          id: query.id_contains
      method: generated
      generated: '2026-09-26'
- target: $.paths['/search/users'].get
  update:
    x-apievangelist-phrasing:
      intent: Search users (admin only)
      effect: read
      questions:
      - As an admin, how do I search user accounts by name?
      - Can I find users in a particular state, like those awaiting approval?
      instructions:
      - text: Search users whose name contains {name}.
        slots:
          name: query.name_contains
      - text: Find users in state {state}.
        slots:
          state: query.state
      method: generated
      generated: '2026-09-26'