The Things Network / The Things Stack UserRegistry API

The UserRegistry API from The Things Network / The Things Stack — 8 operation(s) for userregistry.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

the-things-network-userregistry-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: The Things Stack — Application Server AppAs UserRegistry API
  version: v3.36
  description: The Things Stack is an open-source LoRaWAN Network Server implementation. This OpenAPI was derived from the upstream gRPC-Gateway generated api.swagger.json published by TheThingsNetwork/lorawan-stack v3.36.
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  contact:
    name: The Things Industries
    url: https://www.thethingsindustries.com
host: eu1.cloud.thethings.industries
basePath: /api/v3
schemes:
- https
consumes:
- application/json
produces:
- application/json
security:
- ApiKeyAuth: []
tags:
- name: UserRegistry
paths:
  /users:
    get:
      summary: List users of the network. This method is typically restricted to admins only.
      operationId: UserRegistry_List
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3Users'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: field_mask
        description: The names of the user fields that should be returned.
        in: query
        required: false
        type: string
      - name: order
        description: 'Order the results by this field path (must be present in the field mask).

          Default ordering is by ID. Prepend with a minus (-) to reverse the order.'
        in: query
        required: false
        type: string
      - name: limit
        description: Limit the number of results per page.
        in: query
        required: false
        type: integer
        format: int64
      - name: page
        description: Page number for pagination. 0 is interpreted as 1.
        in: query
        required: false
        type: integer
        format: int64
      - name: deleted
        description: Only return recently deleted users.
        in: query
        required: false
        type: boolean
      tags:
      - UserRegistry
    post:
      summary: Register a new user. This method may be restricted by network settings.
      operationId: UserRegistry_Create
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3User'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/v3CreateUserRequest'
      tags:
      - UserRegistry
  /users/{user.ids.user_id}:
    put:
      summary: 'Update the user, changing the fields specified by the field mask to the provided values.

        This method can not be used to change the password, see the UpdatePassword method for that.'
      operationId: UserRegistry_Update
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3User'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: user.ids.user_id
        description: This ID shares namespace with organization IDs.
        in: path
        required: true
        type: string
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/v3UserRegistryUpdateBody'
      tags:
      - UserRegistry
  /users/{user_ids.user_id}:
    get:
      summary: 'Get the user with the given identifiers, selecting the fields given by the

        field mask. The method may return more or less fields, depending on the rights

        of the caller.'
      operationId: UserRegistry_Get
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v3User'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: user_ids.user_id
        description: This ID shares namespace with organization IDs.
        in: path
        required: true
        type: string
      - name: user_ids.email
        description: Secondary identifier, which can only be used in specific requests.
        in: query
        required: false
        type: string
      - name: field_mask
        description: The names of the user fields that should be returned.
        in: query
        required: false
        type: string
      tags:
      - UserRegistry
  /users/{user_ids.user_id}/password:
    put:
      summary: Update the password of the user.
      operationId: UserRegistry_UpdatePassword
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties: {}
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: user_ids.user_id
        description: This ID shares namespace with organization IDs.
        in: path
        required: true
        type: string
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/UserRegistryUpdatePasswordBody'
      tags:
      - UserRegistry
  /users/{user_ids.user_id}/temporary_password:
    post:
      summary: 'Create a temporary password that can be used for updating a forgotten password.

        The generated password is sent to the user''s email address.'
      operationId: UserRegistry_CreateTemporaryPassword
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties: {}
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: user_ids.user_id
        description: This ID shares namespace with organization IDs.
        in: path
        required: true
        type: string
      - name: user_ids.email
        description: Secondary identifier, which can only be used in specific requests.
        in: query
        required: false
        type: string
      tags:
      - UserRegistry
  /users/{user_id}:
    delete:
      summary: Delete the user. This may not release the user ID for reuse.
      operationId: UserRegistry_Delete
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties: {}
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: user_id
        description: This ID shares namespace with organization IDs.
        in: path
        required: true
        type: string
      - name: email
        description: Secondary identifier, which can only be used in specific requests.
        in: query
        required: false
        type: string
      tags:
      - UserRegistry
  /users/{user_id}/purge:
    delete:
      summary: 'Purge the user. This will release the user ID for reuse.

        The user is responsible for clearing data from any (external) integrations

        that may store and expose data by user or organization ID.'
      operationId: UserRegistry_Purge
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties: {}
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: user_id
        description: This ID shares namespace with organization IDs.
        in: path
        required: true
        type: string
      - name: email
        description: Secondary identifier, which can only be used in specific requests.
        in: query
        required: false
        type: string
      tags:
      - UserRegistry
  /users/{user_id}/restore:
    post:
      summary: Restore a recently deleted user.
      description: 'Deployment configuration may specify if, and for how long after deletion,

        entities can be restored.'
      operationId: UserRegistry_Restore
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties: {}
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/googlerpcStatus'
      parameters:
      - name: user_id
        description: This ID shares namespace with organization IDs.
        in: path
        required: true
        type: string
      - name: email
        description: Secondary identifier, which can only be used in specific requests.
        in: query
        required: false
        type: string
      tags:
      - UserRegistry
definitions:
  UserConsolePreferencesSortBy:
    type: object
    properties:
      api_key:
        type: string
      application:
        type: string
      collaborator:
        type: string
      end_device:
        type: string
      gateway:
        type: string
      organization:
        type: string
      user:
        type: string
    description: SortBy defines the field to which the Console will sort the display of entities.
  v3ConsoleTheme:
    type: string
    enum:
    - CONSOLE_THEME_SYSTEM
    - CONSOLE_THEME_LIGHT
    - CONSOLE_THEME_DARK
    default: CONSOLE_THEME_SYSTEM
    description: "ConsoleTheme is the theme of the Console.\n\n - CONSOLE_THEME_SYSTEM: The user prefers the system mode.\n - CONSOLE_THEME_LIGHT: The user prefers the light mode.\n - CONSOLE_THEME_DARK: The user prefers the dark mode."
  v3User:
    type: object
    properties:
      ids:
        $ref: '#/definitions/v3UserIdentifiers'
        description: The identifiers of the user. These are public and can be seen by any authenticated user in the network.
      created_at:
        type: string
        format: date-time
        description: When the user was created. This information is public and can be seen by any authenticated user in the network.
      updated_at:
        type: string
        format: date-time
        description: When the user was last updated. This information is public and can be seen by any authenticated user in the network.
      deleted_at:
        type: string
        format: date-time
        description: When the user was deleted. This information is public and can be seen by any authenticated user in the network.
      name:
        type: string
        description: The name of the user. This information is public and can be seen by any authenticated user in the network.
      description:
        type: string
        description: A description for the user. This information is public and can be seen by any authenticated user in the network.
      attributes:
        type: object
        additionalProperties:
          type: string
        description: Key-value attributes for this users. Typically used for storing integration-specific data.
      contact_info:
        type: array
        items:
          type: object
          $ref: '#/definitions/v3ContactInfo'
        description: 'Contact information for this user. Typically used to indicate who to contact with security/billing questions about the user.

          This field is deprecated.'
      primary_email_address:
        type: string
        description: 'Primary email address that can be used for logging in.

          This address is not public, use contact_info for that.'
      primary_email_address_validated_at:
        type: string
        format: date-time
        description: When the primary email address was validated. Note that email address validation is not required on all networks.
      password:
        type: string
        description: 'The password field is only considered when creating a user.

          It is not returned on API calls, and can not be updated by updating the User.

          See the UpdatePassword method of the UserRegistry service for more information.'
      password_updated_at:
        type: string
        format: date-time
      require_password_update:
        type: boolean
      state:
        $ref: '#/definitions/v3State'
        description: 'The reviewing state of the user.

          This information is public and can be seen by any authenticated user in the network.

          This field can only be modified by admins.'
      state_description:
        type: string
        description: 'A description for the state field.

          This field can only be modified by admins, and should typically only be updated

          when also updating `state`.'
      admin:
        type: boolean
        description: 'This user is an admin.

          This information is public and can be seen by any authenticated user in the network.

          This field can only be modified by other admins.'
      temporary_password:
        type: string
        description: 'The temporary password can only be used to update a user''s password; never returned on API calls.

          It is not returned on API calls, and can not be updated by updating the User.

          See the CreateTemporaryPassword method of the UserRegistry service for more information.'
      temporary_password_created_at:
        type: string
        format: date-time
      temporary_password_expires_at:
        type: string
        format: date-time
      profile_picture:
        $ref: '#/definitions/v3Picture'
        description: 'A profile picture for the user.

          This information is public and can be seen by any authenticated user in the network.'
      console_preferences:
        $ref: '#/definitions/v3UserConsolePreferences'
        description: Console preferences contains the user's preferences regarding the behavior of the Console.
      email_notification_preferences:
        $ref: '#/definitions/v3EmailNotificationPreferences'
      universal_rights:
        type: array
        items:
          $ref: '#/definitions/v3Right'
        description: Universal rights are capable of restricting the user's interactions with the API, be it an admin or not.
    description: User is the message that defines a user on the network.
  PictureEmbedded:
    type: object
    properties:
      mime_type:
        type: string
        description: MIME type of the picture.
      data:
        type: string
        format: byte
        description: 'Picture data. A data URI can be constructed as follows:

          `data:<mime_type>;base64,<data>`.'
  v3ContactMethod:
    type: string
    enum:
    - CONTACT_METHOD_OTHER
    - CONTACT_METHOD_EMAIL
    - CONTACT_METHOD_PHONE
    default: CONTACT_METHOD_OTHER
  v3ContactType:
    type: string
    enum:
    - CONTACT_TYPE_OTHER
    - CONTACT_TYPE_ABUSE
    - CONTACT_TYPE_BILLING
    - CONTACT_TYPE_TECHNICAL
    default: CONTACT_TYPE_OTHER
  v3EmailNotificationPreferences:
    type: object
    properties:
      types:
        type: array
        items:
          $ref: '#/definitions/v3NotificationType'
    description: EmailNotificationPreferences is the message that defines the types of notifications for which the user wants to receive an email.
  v3UserRegistryUpdateBody:
    type: object
    properties:
      user:
        type: object
        properties:
          ids:
            type: object
            properties:
              email:
                type: string
                description: Secondary identifier, which can only be used in specific requests.
            description: The identifiers of the user. These are public and can be seen by any authenticated user in the network.
            title: The identifiers of the user. These are public and can be seen by any authenticated user in the network.
          created_at:
            type: string
            format: date-time
            description: When the user was created. This information is public and can be seen by any authenticated user in the network.
          updated_at:
            type: string
            format: date-time
            description: When the user was last updated. This information is public and can be seen by any authenticated user in the network.
          deleted_at:
            type: string
            format: date-time
            description: When the user was deleted. This information is public and can be seen by any authenticated user in the network.
          name:
            type: string
            description: The name of the user. This information is public and can be seen by any authenticated user in the network.
          description:
            type: string
            description: A description for the user. This information is public and can be seen by any authenticated user in the network.
          attributes:
            type: object
            additionalProperties:
              type: string
            description: Key-value attributes for this users. Typically used for storing integration-specific data.
          contact_info:
            type: array
            items:
              type: object
              $ref: '#/definitions/v3ContactInfo'
            description: 'Contact information for this user. Typically used to indicate who to contact with security/billing questions about the user.

              This field is deprecated.'
          primary_email_address:
            type: string
            description: 'Primary email address that can be used for logging in.

              This address is not public, use contact_info for that.'
          primary_email_address_validated_at:
            type: string
            format: date-time
            description: When the primary email address was validated. Note that email address validation is not required on all networks.
          password:
            type: string
            description: 'The password field is only considered when creating a user.

              It is not returned on API calls, and can not be updated by updating the User.

              See the UpdatePassword method of the UserRegistry service for more information.'
          password_updated_at:
            type: string
            format: date-time
          require_password_update:
            type: boolean
          state:
            $ref: '#/definitions/v3State'
            description: 'The reviewing state of the user.

              This information is public and can be seen by any authenticated user in the network.

              This field can only be modified by admins.'
          state_description:
            type: string
            description: 'A description for the state field.

              This field can only be modified by admins, and should typically only be updated

              when also updating `state`.'
          admin:
            type: boolean
            description: 'This user is an admin.

              This information is public and can be seen by any authenticated user in the network.

              This field can only be modified by other admins.'
          temporary_password:
            type: string
            description: 'The temporary password can only be used to update a user''s password; never returned on API calls.

              It is not returned on API calls, and can not be updated by updating the User.

              See the CreateTemporaryPassword method of the UserRegistry service for more information.'
          temporary_password_created_at:
            type: string
            format: date-time
          temporary_password_expires_at:
            type: string
            format: date-time
          profile_picture:
            $ref: '#/definitions/v3Picture'
            description: 'A profile picture for the user.

              This information is public and can be seen by any authenticated user in the network.'
          console_preferences:
            $ref: '#/definitions/v3UserConsolePreferences'
            description: Console preferences contains the user's preferences regarding the behavior of the Console.
          email_notification_preferences:
            $ref: '#/definitions/v3EmailNotificationPreferences'
          universal_rights:
            type: array
            items:
              $ref: '#/definitions/v3Right'
            description: Universal rights are capable of restricting the user's interactions with the API, be it an admin or not.
        description: User is the message that defines a user on the network.
      field_mask:
        type: string
        description: The names of the user fields that should be updated.
  UserConsolePreferencesDashboardLayouts:
    type: object
    properties:
      api_key:
        $ref: '#/definitions/v3DashboardLayout'
      application:
        $ref: '#/definitions/v3DashboardLayout'
      collaborator:
        $ref: '#/definitions/v3DashboardLayout'
      end_device:
        $ref: '#/definitions/v3DashboardLayout'
      gateway:
        $ref: '#/definitions/v3DashboardLayout'
      organization:
        $ref: '#/definitions/v3DashboardLayout'
      overview:
        $ref: '#/definitions/v3DashboardLayout'
      user:
        $ref: '#/definitions/v3DashboardLayout'
  UserConsolePreferencesTutorials:
    type: object
    properties:
      seen:
        type: array
        items:
          $ref: '#/definitions/v3Tutorial'
  v3UserConsolePreferences:
    type: object
    properties:
      console_theme:
        $ref: '#/definitions/v3ConsoleTheme'
      dashboard_layouts:
        $ref: '#/definitions/UserConsolePreferencesDashboardLayouts'
      sort_by:
        $ref: '#/definitions/UserConsolePreferencesSortBy'
      tutorials:
        $ref: '#/definitions/UserConsolePreferencesTutorials'
    description: UserConsolePreferences is the message that defines the user preferences for the Console.
  v3Users:
    type: object
    properties:
      users:
        type: array
        items:
          type: object
          $ref: '#/definitions/v3User'
  v3Right:
    type: string
    enum:
    - right_invalid
    - RIGHT_USER_INFO
    - RIGHT_USER_SETTINGS_BASIC
    - RIGHT_USER_LIST
    - RIGHT_USER_CREATE
    - RIGHT_USER_SETTINGS_API_KEYS
    - RIGHT_USER_DELETE
    - RIGHT_USER_PURGE
    - RIGHT_USER_AUTHORIZED_CLIENTS
    - RIGHT_USER_APPLICATIONS_LIST
    - RIGHT_USER_APPLICATIONS_CREATE
    - RIGHT_USER_GATEWAYS_LIST
    - RIGHT_USER_GATEWAYS_CREATE
    - RIGHT_USER_CLIENTS_LIST
    - RIGHT_USER_CLIENTS_CREATE
    - RIGHT_USER_ORGANIZATIONS_LIST
    - RIGHT_USER_ORGANIZATIONS_CREATE
    - RIGHT_USER_NOTIFICATIONS_READ
    - RIGHT_USER_ALL
    - RIGHT_APPLICATION_INFO
    - RIGHT_APPLICATION_SETTINGS_BASIC
    - RIGHT_APPLICATION_SETTINGS_API_KEYS
    - RIGHT_APPLICATION_SETTINGS_COLLABORATORS
    - RIGHT_APPLICATION_SETTINGS_PACKAGES
    - RIGHT_APPLICATION_DELETE
    - RIGHT_APPLICATION_PURGE
    - RIGHT_APPLICATION_DEVICES_READ
    - RIGHT_APPLICATION_DEVICES_WRITE
    - RIGHT_APPLICATION_DEVICES_READ_KEYS
    - RIGHT_APPLICATION_DEVICES_WRITE_KEYS
    - RIGHT_APPLICATION_TRAFFIC_READ
    - RIGHT_APPLICATION_TRAFFIC_UP_WRITE
    - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE
    - RIGHT_APPLICATION_LINK
    - RIGHT_APPLICATION_ALL
    - RIGHT_CLIENT_ALL
    - RIGHT_CLIENT_INFO
    - RIGHT_CLIENT_SETTINGS_BASIC
    - RIGHT_CLIENT_SETTINGS_COLLABORATORS
    - RIGHT_CLIENT_DELETE
    - RIGHT_CLIENT_PURGE
    - RIGHT_GATEWAY_INFO
    - RIGHT_GATEWAY_SETTINGS_BASIC
    - RIGHT_GATEWAY_SETTINGS_API_KEYS
    - RIGHT_GATEWAY_SETTINGS_COLLABORATORS
    - RIGHT_GATEWAY_DELETE
    - RIGHT_GATEWAY_PURGE
    - RIGHT_GATEWAY_TRAFFIC_READ
    - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE
    - RIGHT_GATEWAY_LINK
    - RIGHT_GATEWAY_STATUS_READ
    - RIGHT_GATEWAY_LOCATION_READ
    - RIGHT_GATEWAY_WRITE_SECRETS
    - RIGHT_GATEWAY_READ_SECRETS
    - RIGHT_GATEWAY_ALL
    - RIGHT_ORGANIZATION_INFO
    - RIGHT_ORGANIZATION_SETTINGS_BASIC
    - RIGHT_ORGANIZATION_SETTINGS_API_KEYS
    - RIGHT_ORGANIZATION_SETTINGS_MEMBERS
    - RIGHT_ORGANIZATION_DELETE
    - RIGHT_ORGANIZATION_PURGE
    - RIGHT_ORGANIZATION_APPLICATIONS_LIST
    - RIGHT_ORGANIZATION_APPLICATIONS_CREATE
    - RIGHT_ORGANIZATION_GATEWAYS_LIST
    - RIGHT_ORGANIZATION_GATEWAYS_CREATE
    - RIGHT_ORGANIZATION_CLIENTS_LIST
    - RIGHT_ORGANIZATION_CLIENTS_CREATE
    - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR
    - RIGHT_ORGANIZATION_ALL
    - RIGHT_SEND_INVITES
    - RIGHT_ALL
    default: right_invalid
    description: "Right is the enum that defines all the different rights to do something in the network.\n\n - RIGHT_USER_INFO: The right to view user information.\n - RIGHT_USER_SETTINGS_BASIC: The right to edit basic user settings.\n - RIGHT_USER_LIST: The right to list users accounts.\n - RIGHT_USER_CREATE: The right to create an user account.\n - RIGHT_USER_SETTINGS_API_KEYS: The right to view and edit user API keys.\n - RIGHT_USER_DELETE: The right to delete user account.\n - RIGHT_USER_PURGE: The right to delete user account.\n - RIGHT_USER_AUTHORIZED_CLIENTS: The right to view and edit authorized OAuth clients of the user.\n - RIGHT_USER_APPLICATIONS_LIST: The right to list applications the user is a collaborator of.\n - RIGHT_USER_APPLICATIONS_CREATE: The right to create an application under the user account.\n - RIGHT_USER_GATEWAYS_LIST: The right to list gateways the user is a collaborator of.\n - RIGHT_USER_GATEWAYS_CREATE: The right to create a gateway under the account of the user.\n - RIGHT_USER_CLIENTS_LIST: The right to list OAuth clients the user is a collaborator of.\n - RIGHT_USER_CLIENTS_CREATE: The right to create an OAuth client under the account of the user.\n - RIGHT_USER_ORGANIZATIONS_LIST: The right to list organizations the user is a member of.\n - RIGHT_USER_ORGANIZATIONS_CREATE: The right to create an organization under the user account.\n - RIGHT_USER_NOTIFICATIONS_READ: The right to read notifications sent to the user.\n - RIGHT_USER_ALL: The pseudo-right for all (current and future) user rights.\n - RIGHT_APPLICATION_INFO: The right to view application information.\n - RIGHT_APPLICATION_SETTINGS_BASIC: The right to edit basic application settings.\n - RIGHT_APPLICATION_SETTINGS_API_KEYS: The right to view and edit application API keys.\n - RIGHT_APPLICATION_SETTINGS_COLLABORATORS: The right to view and edit application collaborators.\n - RIGHT_APPLICATION_SETTINGS_PACKAGES: The right to view and edit application packages and associations.\n - RIGHT_APPLICATION_DELETE: The right to delete application.\n - RIGHT_APPLICATION_PURGE: The right to purge application.\n - RIGHT_APPLICATION_DEVICES_READ: The right to view devices in application.\n - RIGHT_APPLICATION_DEVICES_WRITE: The right to create devices in application.\n - RIGHT_APPLICATION_DEVICES_READ_KEYS: The right to view device keys in application.\nNote that keys may not be stored in a way that supports viewing them.\n - RIGHT_APPLICATION_DEVICES_WRITE_KEYS: The right to edit device keys in application.\n - RIGHT_APPLICATION_TRAFFIC_READ: The right to read application traffic (uplink and downlink).\n - RIGHT_APPLICATION_TRAFFIC_UP_WRITE: The right to write uplink application traffic.\n - RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE: The right to write downlink application traffic.\n - RIGHT_APPLICATION_LINK: The right to link as Application to a Network Server for traffic exchange,\ni.e. read uplink and write downlink (API keys only).\nThis right is typically only given to an Application Server.\nThis right implies RIGHT_APPLICATION_INFO, RIGHT_APPLICATION_TRAFFIC_READ,\nand RIGHT_APPLICATION_TRAFFIC_DOWN_WRITE.\n - RIGHT_APPLICATION_ALL: The pseudo-right for all (current and future) application rights.\n - RIGHT_CLIENT_ALL: The pseudo-right for all (current and future) OAuth client rights.\n - RIGHT_CLIENT_INFO: The right to read client information.\n - RIGHT_CLIENT_SETTINGS_BASIC: The right to edit basic client settings.\n - RIGHT_CLIENT_SETTINGS_COLLABORATORS: The right to view and edit client collaborators.\n - RIGHT_CLIENT_DELETE: The right to delete a client.\n - RIGHT_CLIENT_PURGE: The right to purge a client.\n - RIGHT_GATEWAY_INFO: The right to view gateway information.\n - RIGHT_GATEWAY_SETTINGS_BASIC: The right to edit basic gateway settings.\n - RIGHT_GATEWAY_SETTINGS_API_KEYS: The right to view and edit gateway API keys.\n - RIGHT_GATEWAY_SETTINGS_COLLABORATORS: The right to view and edit gateway collaborators.\n - RIGHT_GATEWAY_DELETE: The right to delete gateway.\n - RIGHT_GATEWAY_PURGE: The right to purge gateway.\n - RIGHT_GATEWAY_TRAFFIC_READ: The right to read gateway traffic.\n - RIGHT_GATEWAY_TRAFFIC_DOWN_WRITE: The right to write downlink gateway traffic.\n - RIGHT_GATEWAY_LINK: The right to link as Gateway to a Gateway Server for traffic exchange,\ni.e. write uplink and read downlink (API keys only)\nThis right is typically only given to a gateway.\nThis right implies RIGHT_GATEWAY_INFO.\n - RIGHT_GATEWAY_STATUS_READ: The right to view gateway status.\n - RIGHT_GATEWAY_LOCATION_READ: The right to view view gateway location.\n - RIGHT_GATEWAY_WRITE_SECRETS: The right to store secrets associated with this gateway.\n - RIGHT_GATEWAY_READ_SECRETS: The right to retrieve secrets associated with this gateway.\n - RIGHT_GATEWAY_ALL: The pseudo-right for all (current and future) gateway rights.\n - RIGHT_ORGANIZATION_INFO: The right to view organization information.\n - RIGHT_ORGANIZATION_SETTINGS_BASIC: The right to edit basic organization settings.\n - RIGHT_ORGANIZATION_SETTINGS_API_KEYS: The right to view and edit organization API keys.\n - RIGHT_ORGANIZATION_SETTINGS_MEMBERS: The right to view and edit organization members.\n - RIGHT_ORGANIZATION_DELETE: The right to delete organization.\n - RIGHT_ORGANIZATION_PURGE: The right to purge organization.\n - RIGHT_ORGANIZATION_APPLICATIONS_LIST: The right to list the applications the organization is a collaborator of.\n - RIGHT_ORGANIZATION_APPLICATIONS_CREATE: The right to create an application under the organization.\n - RIGHT_ORGANIZATION_GATEWAYS_LIST: The right to list the gateways the organization is a collaborator of.\n - RIGHT_ORGANIZATION_GATEWAYS_CREATE: The right to create a gateway under the organization.\n - RIGHT_ORGANIZATION_CLIENTS_LIST: The right to list the OAuth clients the organization is a collaborator of.\n - RIGHT_ORGANIZATION_CLIENTS_CREATE: The right to create an OAuth client under the organization.\n - RIGHT_ORGANIZATION_ADD_AS_COLLABORATOR: The right to add the organization as a collaborator on an existing entity.\n - RIGHT_ORGANIZATION_ALL: The pseudo-right for all (current and future) organization rights.\n - RIGHT_SEND_INVITES: The right to send invites to new users.\nNote that this is not prefixed with \"USER_\"; it is not a right on the user entity.\n - RIGHT_ALL: The pseudo-right for all (current and future) possible rights."
  v3NotificationType:
    type: string
    enum:
    - UNKNOWN
    - API_KEY_CREATED
    - API_KEY_CHANGED
    - CLIENT_REQUESTED
    - COLLABORATOR_CHANGED
    - ENTITY_STATE_CHANGED
    - INVITATION
    - LOGIN_TOKEN
    - PASSWORD_CHANGED
    - TEMPORARY_PASSWORD
    - USER_REQUESTED
    - VALIDATE
    default: UNKNOWN
  v3Tutorial:
    type: string
    enum:
    - TUTORIAL_UNKNOWN
    - TUTORIAL_LIVE_DATA_SPLIT_VIEW
    default: TUTORIAL_UNKNOWN
    description: Tutorial is a set of possible tutorials in the Console.
  v3DashboardLayout:
    type: string
    enum:
    - DASHBOARD_LAYOUT_TABLE
    - DASHBOARD_LAYOUT_LIST
    - DASHBOARD_LAYOUT_GRID
    default: DASHBOARD_LAYOUT_TABLE
    description: DashboardLayout is a set of possible layout values to be used in the Console.
  googlerpcStatus:
    type: object
    properties:
      code:
        type: integer
        format: int32
      message:
        type: string
      details:
        type: array
        items:
          type: object
          $ref: '#/definitions/protobufAny'
  v3CreateUserRequest:
    type: object
    properties:
      user:
        $ref: '#/definitions/v3User'
      invitation_token:
        type: string
        description: The invitation token that was sent to the user (some networks require an invitation in order to register new users).
  v3UserIdentifiers:
    type: object
    properties:
      user_id:
        type: string
        description: This ID shares namespace with organization IDs.
      email:
        type: string
        description: Secondary identifier, which can only be used in specific requests.
  v3State:
    typ

# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/the-things-network/refs/heads/main/openapi/the-things-network-userregistry-api-openapi.yml