The Things Network / The Things Stack ApplicationRegistry API

The ApplicationRegistry API from The Things Network / The Things Stack — 9 operation(s) for applicationregistry.

Operations 11

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /applications List applications I can access · List applications where the given user or organization is a direct collaborator. #
Ask an LLM
“Which Things Stack applications can I see with my credentials?”
“Can I include recently deleted applications when listing them?”
Tell an agent
List all applications I have access to.
List applications where user {user_id} is a direct collaborator.
PUT /applications/{application.ids.application_id} Update an application's settings · Update the application, changing the fields specified by the field mask to the… #
Ask an LLM
“How do I rename an application or change its description?”
“Can I update only certain fields of an application using a field mask?”
Tell an agent
Update application {application_id} with the fields in {field_mask}.
Change application {application_id} to {application}.
GET /applications/{application_ids.application_id} Get an application · Get the application with the given identifiers, selecting the fields specified… #
Ask an LLM
“What are the details of a specific application?”
“Can I choose which fields come back when fetching one application?”
Tell an agent
Show application {application_id}.
Get only the {field_mask} of application {application_id}.
DELETE /applications/{application_id} Delete an application · Delete the application. #
Ask an LLM
“How do I delete an application, and do I need to remove its devices first?”
“Does deleting an application free up its ID for reuse?”
Tell an agent destructive · confirm first
Delete application {application_id}.
Soft-delete application {application_id} after its devices are removed.
POST /applications/{application_id}/dev-eui Issue a DevEUI for a device in an application · Request DevEUI from the configured address block for a device inside the… #
Ask an LLM
“Can the network assign a DevEUI from its address block for a new device in my app?”
“Is there a limit on how many DevEUIs one application can be issued?”
Tell an agent
Issue a new DevEUI for application {application_id}.
Request a DevEUI from the address block for a device in application {application_id}.
DELETE /applications/{application_id}/purge Permanently purge an application · Purge the application. #
Ask an LLM
“How do I purge an application so its ID can be reused?”
“What is the difference between purging an application and a normal delete?”
Tell an agent destructive · confirm first
Purge application {application_id} permanently.
Release application ID {application_id} for reuse by purging it.
POST /applications/{application_id}/restore Restore a deleted application · Restore a recently deleted application #
Ask an LLM
“Can I bring back an application I deleted by mistake?”
“How long after deletion is an application still restorable?”
Tell an agent
Restore deleted application {application_id}.
Undelete application {application_id}.
GET /organizations/{collaborator.organization_ids.organization_id}/applications List an organization's applications · List applications where the given user or organization is a direct collaborator. #
Ask an LLM
“Which applications does my organization collaborate on?”
“Can I list an organization's deleted applications too?”
Tell an agent
List applications for organization {organization_id}.
List organization {organization_id}'s applications including deleted ones: {deleted}.
POST /organizations/{collaborator.organization_ids.organization_id}/applications Create an application under an organization · Create a new application. #
Ask an LLM
“How do I create a new application owned by an organization?”
“Does the organization get full rights on the application it creates?”
Tell an agent
Create application {application} under organization {organization_id}.
Set up a new app {application} owned by organization {organization_id}.
GET /users/{collaborator.user_ids.user_id}/applications List a user's applications · List applications where the given user or organization is a direct collaborator. #
Ask an LLM
“What applications is a given user a direct collaborator on?”
“Can I see a particular user's applications sorted and paginated?”
Tell an agent
List applications for user {user_id}.
Show the first {limit} applications of user {user_id}.
POST /users/{collaborator.user_ids.user_id}/applications Create an application under a user · Create a new application. #
Ask an LLM
“How do I create a personal application owned by my user account?”
“Will I automatically be the first collaborator on an application I create for myself?”
Tell an agent
Create application {application} under user {user_id}.
Set up a new app {application} owned by my user {user_id}.

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/the-things-network:the-things-network-applicationregistry-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.

OpenAPI Specification

the-things-network-applicationregistry-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Things Stack — Application Server Application Registry 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
servers:
- url: https://eu1.cloud.thethings.industries/api/v3
security:
- ApiKeyAuth: []
tags:
- name: ApplicationRegistry
paths:
  /applications:
    get:
      summary: List applications where the given user or organization is a direct collaborator.
      operationId: ApplicationRegistry_List
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v3Applications'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
      parameters:
      - name: collaborator.organization_ids.organization_id
        description: This ID shares namespace with user IDs.
        in: query
        required: false
        schema:
          type: string
      - name: collaborator.user_ids.user_id
        description: This ID shares namespace with organization IDs.
        in: query
        required: false
        schema:
          type: string
      - name: collaborator.user_ids.email
        description: Secondary identifier, which can only be used in specific requests.
        in: query
        required: false
        schema:
          type: string
      - name: field_mask
        description: The names of the application fields that should be returned.
        in: query
        required: false
        schema:
          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
        schema:
          type: string
      - name: limit
        description: Limit the number of results per page.
        in: query
        required: false
        schema:
          type: integer
          format: int64
      - name: page
        description: Page number for pagination. 0 is interpreted as 1.
        in: query
        required: false
        schema:
          type: integer
          format: int64
      - name: deleted
        description: Only return recently deleted applications.
        in: query
        required: false
        schema:
          type: boolean
      tags:
      - ApplicationRegistry
  /applications/{application.ids.application_id}:
    put:
      summary: Update the application, changing the fields specified by the field mask to the…
      operationId: ApplicationRegistry_Update
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v3Application'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
      parameters:
      - name: application.ids.application_id
        in: path
        required: true
        schema:
          type: string
      tags:
      - ApplicationRegistry
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v3ApplicationRegistryUpdateBody'
        required: true
  /applications/{application_ids.application_id}:
    get:
      summary: Get the application with the given identifiers, selecting the fields specified…
      operationId: ApplicationRegistry_Get
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v3Application'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
      parameters:
      - name: application_ids.application_id
        in: path
        required: true
        schema:
          type: string
      - name: field_mask
        description: The names of the application fields that should be returned.
        in: query
        required: false
        schema:
          type: string
      tags:
      - ApplicationRegistry
  /applications/{application_id}:
    delete:
      summary: Delete the application.
      operationId: ApplicationRegistry_Delete
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                type: object
                properties: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
      parameters:
      - name: application_id
        in: path
        required: true
        schema:
          type: string
      tags:
      - ApplicationRegistry
  /applications/{application_id}/dev-eui:
    post:
      summary: Request DevEUI from the configured address block for a device inside the…
      operationId: ApplicationRegistry_IssueDevEUI
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v3IssueDevEUIResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
      parameters:
      - name: application_id
        in: path
        required: true
        schema:
          type: string
      tags:
      - ApplicationRegistry
  /applications/{application_id}/purge:
    delete:
      summary: Purge the application.
      operationId: ApplicationRegistry_Purge
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                type: object
                properties: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
      parameters:
      - name: application_id
        in: path
        required: true
        schema:
          type: string
      tags:
      - ApplicationRegistry
  /applications/{application_id}/restore:
    post:
      summary: Restore a recently deleted application
      description: 'Deployment configuration may specify if, and for how long after deletion,

        entities can be restored.'
      operationId: ApplicationRegistry_Restore
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                type: object
                properties: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
      parameters:
      - name: application_id
        in: path
        required: true
        schema:
          type: string
      tags:
      - ApplicationRegistry
  /organizations/{collaborator.organization_ids.organization_id}/applications:
    get:
      summary: List applications where the given user or organization is a direct collaborator.
      operationId: ApplicationRegistry_List3
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v3Applications'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
      parameters:
      - name: collaborator.organization_ids.organization_id
        description: This ID shares namespace with user IDs.
        in: path
        required: true
        schema:
          type: string
      - name: collaborator.user_ids.user_id
        description: This ID shares namespace with organization IDs.
        in: query
        required: false
        schema:
          type: string
      - name: collaborator.user_ids.email
        description: Secondary identifier, which can only be used in specific requests.
        in: query
        required: false
        schema:
          type: string
      - name: field_mask
        description: The names of the application fields that should be returned.
        in: query
        required: false
        schema:
          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
        schema:
          type: string
      - name: limit
        description: Limit the number of results per page.
        in: query
        required: false
        schema:
          type: integer
          format: int64
      - name: page
        description: Page number for pagination. 0 is interpreted as 1.
        in: query
        required: false
        schema:
          type: integer
          format: int64
      - name: deleted
        description: Only return recently deleted applications.
        in: query
        required: false
        schema:
          type: boolean
      tags:
      - ApplicationRegistry
    post:
      summary: Create a new application.
      operationId: ApplicationRegistry_Create2
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v3Application'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
      parameters:
      - name: collaborator.organization_ids.organization_id
        description: This ID shares namespace with user IDs.
        in: path
        required: true
        schema:
          type: string
      tags:
      - ApplicationRegistry
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v3ApplicationRegistryCreateBody'
        required: true
  /users/{collaborator.user_ids.user_id}/applications:
    get:
      summary: List applications where the given user or organization is a direct collaborator.
      operationId: ApplicationRegistry_List2
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v3Applications'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
      parameters:
      - name: collaborator.user_ids.user_id
        description: This ID shares namespace with organization IDs.
        in: path
        required: true
        schema:
          type: string
      - name: collaborator.organization_ids.organization_id
        description: This ID shares namespace with user IDs.
        in: query
        required: false
        schema:
          type: string
      - name: collaborator.user_ids.email
        description: Secondary identifier, which can only be used in specific requests.
        in: query
        required: false
        schema:
          type: string
      - name: field_mask
        description: The names of the application fields that should be returned.
        in: query
        required: false
        schema:
          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
        schema:
          type: string
      - name: limit
        description: Limit the number of results per page.
        in: query
        required: false
        schema:
          type: integer
          format: int64
      - name: page
        description: Page number for pagination. 0 is interpreted as 1.
        in: query
        required: false
        schema:
          type: integer
          format: int64
      - name: deleted
        description: Only return recently deleted applications.
        in: query
        required: false
        schema:
          type: boolean
      tags:
      - ApplicationRegistry
    post:
      summary: Create a new application.
      operationId: ApplicationRegistry_Create
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v3Application'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/googlerpcStatus'
      parameters:
      - name: collaborator.user_ids.user_id
        description: This ID shares namespace with organization IDs.
        in: path
        required: true
        schema:
          type: string
      tags:
      - ApplicationRegistry
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v3ApplicationRegistryCreateBody'
        required: true
components:
  schemas:
    googlerpcStatus:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
        details:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/protobufAny'
    v3Application:
      type: object
      properties:
        ids:
          $ref: '#/components/schemas/v3ApplicationIdentifiers'
          description: The identifiers of the application. These are public and can be seen by any authenticated user in the network.
        created_at:
          type: string
          format: date-time
          description: When the application 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 application 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 application 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 application.
        description:
          type: string
          description: A description for the application.
        attributes:
          type: object
          additionalProperties:
            type: string
          description: Key-value attributes for this application. Typically used for organizing applications or for storing integration-specific data.
        contact_info:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/v3ContactInfo'
          description: 'Contact information for this application. Typically used to indicate who to contact with technical/security questions about the application.

            This field is deprecated. Use administrative_contact and technical_contact instead.'
        administrative_contact:
          $ref: '#/components/schemas/v3OrganizationOrUserIdentifiers'
        technical_contact:
          $ref: '#/components/schemas/v3OrganizationOrUserIdentifiers'
        network_server_address:
          type: string
          description: 'The address of the Network Server where this application is supposed to be registered.

            If set, this fields indicates where end devices for this application should be registered.


            Stored in Entity Registry.

            The typical format of the address is "host:port". If the port is omitted,

            the normal port inference (with DNS lookup, otherwise defaults) is used.

            The connection shall be established with transport layer security (TLS).

            Custom certificate authorities may be configured out-of-band.'
        application_server_address:
          type: string
          description: 'The address of the Application Server where this application is supposed to be registered.

            If set, this fields indicates where end devices for this application should be registered.


            Stored in Entity Registry.

            The typical format of the address is "host:port". If the port is omitted,

            the normal port inference (with DNS lookup, otherwise defaults) is used.

            The connection shall be established with transport layer security (TLS).

            Custom certificate authorities may be configured out-of-band.'
        join_server_address:
          type: string
          description: 'The address of the Join Server where this application is supposed to be registered.

            If set, this fields indicates where end devices for this application should be registered.


            Stored in Entity Registry.

            The typical format of the address is "host:port". If the port is omitted,

            the normal port inference (with DNS lookup, otherwise defaults) is used.

            The connection shall be established with transport layer security (TLS).

            Custom certificate authorities may be configured out-of-band.'
        dev_eui_counter:
          type: integer
          format: int64
      description: Application is the message that defines an Application in the network.
    v3ContactInfo:
      type: object
      properties:
        contact_type:
          $ref: '#/components/schemas/v3ContactType'
        contact_method:
          $ref: '#/components/schemas/v3ContactMethod'
        value:
          type: string
        public:
          type: boolean
        validated_at:
          type: string
          format: date-time
    v3ApplicationRegistryCreateBody:
      type: object
      properties:
        application:
          $ref: '#/components/schemas/v3Application'
        collaborator:
          type: object
          properties:
            organization_ids:
              type: object
            user_ids:
              $ref: '#/components/schemas/v3UserIdentifiers'
          description: Collaborator to grant all rights on the newly created application.
          title: Collaborator to grant all rights on the newly created application.
    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.
    v3ContactType:
      type: string
      enum:
      - CONTACT_TYPE_OTHER
      - CONTACT_TYPE_ABUSE
      - CONTACT_TYPE_BILLING
      - CONTACT_TYPE_TECHNICAL
      default: CONTACT_TYPE_OTHER
    v3OrganizationIdentifiers:
      type: object
      properties:
        organization_id:
          type: string
          description: This ID shares namespace with user IDs.
    v3Applications:
      type: object
      properties:
        applications:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/v3Application'
    v3IssueDevEUIResponse:
      type: object
      properties:
        dev_eui:
          type: string
          format: string
          example: 70B3D57ED000ABCD
    v3OrganizationOrUserIdentifiers:
      type: object
      properties:
        organization_ids:
          $ref: '#/components/schemas/v3OrganizationIdentifiers'
        user_ids:
          $ref: '#/components/schemas/v3UserIdentifiers'
      description: OrganizationOrUserIdentifiers contains either organization or user identifiers.
    v3ApplicationRegistryUpdateBody:
      type: object
      properties:
        application:
          type: object
          properties:
            ids:
              type: object
              description: The identifiers of the application. These are public and can be seen by any authenticated user in the network.
              title: The identifiers of the application. These are public and can be seen by any authenticated user in the network.
            created_at:
              type: string
              format: date-time
              description: When the application 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 application 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 application 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 application.
            description:
              type: string
              description: A description for the application.
            attributes:
              type: object
              additionalProperties:
                type: string
              description: Key-value attributes for this application. Typically used for organizing applications or for storing integration-specific data.
            contact_info:
              type: array
              items:
                type: object
                $ref: '#/components/schemas/v3ContactInfo'
              description: 'Contact information for this application. Typically used to indicate who to contact with technical/security questions about the application.

                This field is deprecated. Use administrative_contact and technical_contact instead.'
            administrative_contact:
              $ref: '#/components/schemas/v3OrganizationOrUserIdentifiers'
            technical_contact:
              $ref: '#/components/schemas/v3OrganizationOrUserIdentifiers'
            network_server_address:
              type: string
              description: 'The address of the Network Server where this application is supposed to be registered.

                If set, this fields indicates where end devices for this application should be registered.


                Stored in Entity Registry.

                The typical format of the address is "host:port". If the port is omitted,

                the normal port inference (with DNS lookup, otherwise defaults) is used.

                The connection shall be established with transport layer security (TLS).

                Custom certificate authorities may be configured out-of-band.'
            application_server_address:
              type: string
              description: 'The address of the Application Server where this application is supposed to be registered.

                If set, this fields indicates where end devices for this application should be registered.


                Stored in Entity Registry.

                The typical format of the address is "host:port". If the port is omitted,

                the normal port inference (with DNS lookup, otherwise defaults) is used.

                The connection shall be established with transport layer security (TLS).

                Custom certificate authorities may be configured out-of-band.'
            join_server_address:
              type: string
              description: 'The address of the Join Server where this application is supposed to be registered.

                If set, this fields indicates where end devices for this application should be registered.


                Stored in Entity Registry.

                The typical format of the address is "host:port". If the port is omitted,

                the normal port inference (with DNS lookup, otherwise defaults) is used.

                The connection shall be established with transport layer security (TLS).

                Custom certificate authorities may be configured out-of-band.'
            dev_eui_counter:
              type: integer
              format: int64
          description: Application is the message that defines an Application in the network.
        field_mask:
          type: string
          description: The names of the application fields that should be updated.
    v3ApplicationIdentifiers:
      type: object
      properties:
        application_id:
          type: string
    protobufAny:
      type: object
      properties:
        '@type':
          type: string
          description: "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n  value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n  URL, or have them precompiled into a binary to avoid any\n  lookup. Therefore, binary compatibility needs to be preserved\n  on changes to types. (Use versioned type names to manage\n  breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics."
      additionalProperties: {}
      description: "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n    Foo foo = ...;\n    Any any;\n    any.PackFrom(foo);\n    ...\n    if (any.UnpackTo(&foo)) {\n      ...\n    }\n\nExample 2: Pack and unpack a message in Java.\n\n    Foo foo = ...;\n    Any any = Any.pack(foo);\n    ...\n    if (any.is(Foo.class)) {\n      foo = any.unpack(Foo.class);\n    }\n    // or ...\n    if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n      foo = any.unpack(Foo.getDefaultInstance());\n    }\n\n Example 3: Pack and unpack a message in Python.\n\n    foo = Foo(...)\n    any = Any()\n    any.Pack(foo)\n    ...\n    if any.Is(Foo.DESCRIPTOR):\n      any.Unpack(foo)\n      ...\n\n Example 4: Pack and unpack a message in Go\n\n     foo := &pb.Foo{...}\n     any, err := anypb.New(foo)\n     if err != nil {\n       ...\n     }\n     ...\n     foo := &pb.Foo{}\n     if err := any.UnmarshalTo(foo); err != nil {\n       ...\n     }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n    package google.profile;\n    message Person {\n      string first_name = 1;\n      string last_name = 2;\n    }\n\n    {\n      \"@type\": \"type.googleapis.com/google.profile.Person\",\n      \"firstName\": <string>,\n      \"lastName\": <string>\n    }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n    {\n      \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n      \"value\": \"1.212s\"\n    }"
    v3ContactMethod:
      type: string
      enum:
      - CONTACT_METHOD_OTHER
      - CONTACT_METHOD_EMAIL
      - CONTACT_METHOD_PHONE
      default: CONTACT_METHOD_OTHER
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: 'Bearer API key. Set Authorization: Bearer NNSXS.xxxxxxxxxx.'