# 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 — Application Server Application Access API version: 1.0.0 extends: openapi/the-things-network-applicationaccess-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: 12 - target: $.paths['/applications/{application_ids.application_id}/api-keys'].get update: x-apievangelist-phrasing: intent: List an application's API keys effect: read questions: - Which API keys exist for my Things Stack application? - Can I page through an application's API keys in a chosen order? instructions: - text: List the API keys of application {application_id}. slots: application_id: path.application_ids.application_id - text: Show the first {limit} API keys on application {application_id}. slots: limit: query.limit application_id: path.application_ids.application_id method: generated generated: '2026-09-26' - target: $.paths['/applications/{application_ids.application_id}/api-keys'].post update: x-apievangelist-phrasing: intent: Create an application API key effect: write questions: - How do I create an API key that only has access to one application? - Can I set an expiry date and specific rights on a new application key? instructions: - text: Create an API key named {name} for application {application_id}. slots: name: requestBody.name application_id: path.application_ids.application_id - text: Create a key for application {application_id} with rights {rights} expiring {expires_at}. slots: application_id: path.application_ids.application_id rights: requestBody.rights expires_at: requestBody.expires_at method: generated generated: '2026-09-26' - target: $.paths['/applications/{application_ids.application_id}/api-keys/{api_key.id}'].put update: x-apievangelist-phrasing: intent: Change the rights of an application API key effect: write questions: - Can I change what an existing application API key is allowed to do? - What happens if I update an application key to have no rights at all? instructions: - text: Update rights on key {key_id} of application {application_id}. slots: key_id: path.api_key.id application_id: path.application_ids.application_id - text: Revoke all rights from key {key_id} on application {application_id} so it is removed. slots: key_id: path.api_key.id application_id: path.application_ids.application_id method: generated generated: '2026-09-26' - target: $.paths['/applications/{application_ids.application_id}/api-keys/{key_id}'].get update: x-apievangelist-phrasing: intent: Get one application API key effect: read questions: - What rights and expiry does a specific application API key have? - Can I look up a single key on my application by its ID? instructions: - text: Show API key {key_id} of application {application_id}. slots: key_id: path.key_id application_id: path.application_ids.application_id - text: Check the rights and expiry of key {key_id} on application {application_id}. slots: key_id: path.key_id application_id: path.application_ids.application_id method: generated generated: '2026-09-26' - target: $.paths['/applications/{application_ids.application_id}/api-keys/{key_id}'].delete update: x-apievangelist-phrasing: intent: Delete an application API key effect: destructive questions: - How do I revoke an API key that was issued for my application? - Is deleting an application key immediate and permanent? instructions: - text: Delete API key {key_id} from application {application_id}. slots: key_id: path.key_id application_id: path.application_ids.application_id - text: Revoke application {application_id}'s key {key_id} now. slots: application_id: path.application_ids.application_id key_id: path.key_id method: generated generated: '2026-09-26' - target: $.paths['/applications/{application_ids.application_id}/collaborator/organization/{collaborator.organization_ids.organization_id}'].get update: x-apievangelist-phrasing: intent: Get an organization collaborator's rights on an app effect: read questions: - What rights does a member organization have on my application? - Are pseudo-rights like _ALL expanded when I check an organization's access to an app? instructions: - text: Show the rights organization {organization_id} has on application {application_id}. slots: organization_id: path.collaborator.organization_ids.organization_id application_id: path.application_ids.application_id - text: Check what organization {organization_id} is allowed to do on app {application_id}. slots: organization_id: path.collaborator.organization_ids.organization_id application_id: path.application_ids.application_id method: generated generated: '2026-09-26' - target: $.paths['/applications/{application_ids.application_id}/collaborator/organization/{collaborator_ids.organization_ids.organization_id}'].delete update: x-apievangelist-phrasing: intent: Remove an organization from an application effect: destructive questions: - How do I take away an organization's collaborator access to my application? - Can I remove an organization collaborator from an app entirely? instructions: - text: Remove organization {organization_id} as a collaborator on application {application_id}. slots: organization_id: path.collaborator_ids.organization_ids.organization_id application_id: path.application_ids.application_id - text: Revoke organization {organization_id}'s membership of app {application_id}. slots: organization_id: path.collaborator_ids.organization_ids.organization_id application_id: path.application_ids.application_id method: generated generated: '2026-09-26' - target: $.paths['/applications/{application_ids.application_id}/collaborator/user/{collaborator.user_ids.user_id}'].get update: x-apievangelist-phrasing: intent: Get a user collaborator's rights on an app effect: read questions: - What can a particular user do on my application? - Does checking a user's rights on an application show expanded pseudo-rights? instructions: - text: Show the rights user {user_id} has on application {application_id}. slots: user_id: path.collaborator.user_ids.user_id application_id: path.application_ids.application_id - text: Check what user {user_id} is allowed to do on app {application_id}. slots: user_id: path.collaborator.user_ids.user_id application_id: path.application_ids.application_id method: generated generated: '2026-09-26' - target: $.paths['/applications/{application_ids.application_id}/collaborator/user/{collaborator_ids.user_ids.user_id}'].delete update: x-apievangelist-phrasing: intent: Remove a user from an application effect: destructive questions: - How do I remove a person's collaborator access to an application? - Can I kick a single user off an app without touching organization members? instructions: - text: Remove user {user_id} as a collaborator on application {application_id}. slots: user_id: path.collaborator_ids.user_ids.user_id application_id: path.application_ids.application_id - text: Revoke user {user_id}'s membership of app {application_id}. slots: user_id: path.collaborator_ids.user_ids.user_id application_id: path.application_ids.application_id method: generated generated: '2026-09-26' - target: $.paths['/applications/{application_ids.application_id}/collaborators'].get update: x-apievangelist-phrasing: intent: List an application's collaborators effect: read questions: - Who are all the members with access to my application? - Can I page through the users and organizations collaborating on an app? instructions: - text: List all collaborators on application {application_id}. slots: application_id: path.application_ids.application_id - text: Show who can access app {application_id}, {limit} per page. slots: application_id: path.application_ids.application_id limit: query.limit method: generated generated: '2026-09-26' - target: $.paths['/applications/{application_ids.application_id}/collaborators'].put update: x-apievangelist-phrasing: intent: Add a collaborator or set their app rights effect: write questions: - How do I give another user or organization access to my application? - Can I change a collaborator's rights on an application, or remove them by granting no rights? instructions: - text: Set collaborator {collaborator} with its rights on application {application_id}. slots: collaborator: requestBody.collaborator application_id: path.application_ids.application_id - text: Grant {collaborator} the chosen rights on app {application_id}, or pass no rights to remove them. slots: collaborator: requestBody.collaborator application_id: path.application_ids.application_id method: generated generated: '2026-09-26' - target: $.paths['/applications/{application_id}/rights'].get update: x-apievangelist-phrasing: intent: List my rights on an application effect: read questions: - What rights do I have on this application with my current credentials? - Can I check which actions my key is allowed to perform on an app? instructions: - text: List the rights I hold on application {application_id}. slots: application_id: path.application_id - text: Check what my credentials may do on app {application_id}. slots: application_id: path.application_id method: generated generated: '2026-09-26'