swagger: '2.0' info: title: The Things Stack — Identity Server 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 securityDefinitions: ApiKeyAuth: type: apiKey in: header name: Authorization description: 'Bearer API key. Set Authorization: Bearer NNSXS.xxxxxxxxxx.' security: - ApiKeyAuth: [] tags: - name: UserRegistry - name: UserAccess - name: UserInvitationRegistry - name: UserSessionRegistry - name: UserBookmarkRegistry - name: OrganizationRegistry - name: OrganizationAccess - name: ClientRegistry - name: ClientAccess - name: OAuthAuthorizationRegistry - name: ContactInfoRegistry - name: EmailValidationRegistry - name: EntityAccess - name: EntityRegistrySearch - name: EndDeviceRegistrySearch - name: Is - name: Configuration - name: NotificationService paths: /applications/{application_ids.application_id}/collaborators/search: get: summary: Search for accounts that match the conditions specified in the request. operationId: EntityRegistrySearch_SearchAccounts2 responses: '200': description: A successful response. schema: $ref: '#/definitions/v3SearchAccountsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: query in: query required: false type: string - name: only_users in: query required: false type: boolean - name: client_ids.client_id in: query required: false type: string - name: gateway_ids.gateway_id in: query required: false type: string - name: gateway_ids.eui description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string format: string - name: organization_ids.organization_id description: This ID shares namespace with user IDs. in: query required: false type: string - name: complement_collaborators in: query required: false type: boolean tags: - EntityRegistrySearch /auth_info: get: summary: AuthInfo returns information about the authentication that is used on the request. operationId: EntityAccess_AuthInfo responses: '200': description: A successful response. schema: $ref: '#/definitions/v3AuthInfoResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' tags: - EntityAccess /clients: get: summary: 'List OAuth clients where the given user or organization is a direct collaborator. If no user or organization is given, this returns the OAuth clients the caller has access to. Similar to Get, this selects the fields specified in the field mask. More or less fields may be returned, depending on the rights of the caller.' operationId: ClientRegistry_List responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Clients' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: collaborator.organization_ids.organization_id description: This ID shares namespace with user IDs. in: query required: false type: string - name: collaborator.user_ids.user_id description: This ID shares namespace with organization IDs. in: query required: false type: string - name: collaborator.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 client 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 clients. in: query required: false type: boolean tags: - ClientRegistry /clients/{client.ids.client_id}: put: summary: Update the OAuth client, changing the fields specified by the field mask to the provided values. operationId: ClientRegistry_Update responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Client' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: client.ids.client_id in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/v3ClientRegistryUpdateBody' tags: - ClientRegistry /clients/{client_ids.client_id}: get: summary: 'Get the OAuth client with the given identifiers, selecting the fields specified in the field mask. More or less fields may be returned, depending on the rights of the caller.' operationId: ClientRegistry_Get responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Client' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: client_ids.client_id in: path required: true type: string - name: field_mask description: The names of the client fields that should be returned. in: query required: false type: string tags: - ClientRegistry /clients/{client_ids.client_id}/collaborator/organization/{collaborator.organization_ids.organization_id}: get: summary: 'Get the rights of a collaborator (member) of the client. Pseudo-rights in the response (such as the "_ALL" right) are not expanded.' operationId: ClientAccess_GetCollaborator2 responses: '200': description: A successful response. schema: $ref: '#/definitions/v3GetCollaboratorResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: client_ids.client_id in: path required: true type: string - name: collaborator.organization_ids.organization_id description: This ID shares namespace with user IDs. in: path required: true type: string - name: collaborator.user_ids.user_id description: This ID shares namespace with organization IDs. in: query required: false type: string - name: collaborator.user_ids.email description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string tags: - ClientAccess /clients/{client_ids.client_id}/collaborator/user/{collaborator.user_ids.user_id}: get: summary: 'Get the rights of a collaborator (member) of the client. Pseudo-rights in the response (such as the "_ALL" right) are not expanded.' operationId: ClientAccess_GetCollaborator responses: '200': description: A successful response. schema: $ref: '#/definitions/v3GetCollaboratorResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: client_ids.client_id in: path required: true type: string - name: collaborator.user_ids.user_id description: This ID shares namespace with organization IDs. in: path required: true type: string - name: collaborator.organization_ids.organization_id description: This ID shares namespace with user IDs. in: query required: false type: string - name: collaborator.user_ids.email description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string tags: - ClientAccess /clients/{client_ids.client_id}/collaborators: get: summary: List the collaborators on this OAuth client. operationId: ClientAccess_ListCollaborators responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Collaborators' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: client_ids.client_id in: path required: true 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: 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 tags: - ClientAccess put: summary: 'Set the rights of a collaborator (member) on the OAuth client. This method can also be used to delete the collaborator, by giving them no rights. The caller is required to have all assigned or/and removed rights.' operationId: ClientAccess_SetCollaborator responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: client_ids.client_id in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/v3ClientAccessSetCollaboratorBody' tags: - ClientAccess /clients/{client_ids.client_id}/collaborators/organization/{collaborator_ids.organization_ids.organization_id}: delete: summary: DeleteCollaborator removes a collaborator from a client. operationId: ClientAccess_DeleteCollaborator2 responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: client_ids.client_id in: path required: true type: string - name: collaborator_ids.organization_ids.organization_id description: This ID shares namespace with user IDs. in: path required: true type: string - name: collaborator_ids.user_ids.user_id description: This ID shares namespace with organization IDs. in: query required: false type: string - name: collaborator_ids.user_ids.email description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string tags: - ClientAccess /clients/{client_ids.client_id}/collaborators/search: get: summary: Search for accounts that match the conditions specified in the request. operationId: EntityRegistrySearch_SearchAccounts3 responses: '200': description: A successful response. schema: $ref: '#/definitions/v3SearchAccountsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: client_ids.client_id in: path required: true type: string - name: query in: query required: false type: string - name: only_users in: query required: false type: boolean - name: application_ids.application_id in: query required: false type: string - name: gateway_ids.gateway_id in: query required: false type: string - name: gateway_ids.eui description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string format: string - name: organization_ids.organization_id description: This ID shares namespace with user IDs. in: query required: false type: string - name: complement_collaborators in: query required: false type: boolean tags: - EntityRegistrySearch /clients/{client_ids.client_id}/collaborators/user/{collaborator_ids.user_ids.user_id}: delete: summary: DeleteCollaborator removes a collaborator from a client. operationId: ClientAccess_DeleteCollaborator responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: client_ids.client_id in: path required: true type: string - name: collaborator_ids.user_ids.user_id description: This ID shares namespace with organization IDs. in: path required: true type: string - name: collaborator_ids.organization_ids.organization_id description: This ID shares namespace with user IDs. in: query required: false type: string - name: collaborator_ids.user_ids.email description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string tags: - ClientAccess /clients/{client_id}: delete: summary: Delete the OAuth client. This may not release the client ID for reuse. operationId: ClientRegistry_Delete responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: client_id in: path required: true type: string tags: - ClientRegistry /clients/{client_id}/purge: delete: summary: Purge the client. This will release the client ID for reuse. operationId: ClientRegistry_Purge responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: client_id in: path required: true type: string tags: - ClientRegistry /clients/{client_id}/restore: post: summary: Restore a recently deleted client. description: 'Deployment configuration may specify if, and for how long after deletion, entities can be restored.' operationId: ClientRegistry_Restore responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: client_id in: path required: true type: string tags: - ClientRegistry /clients/{client_id}/rights: get: summary: List the rights the caller has on this application. operationId: ClientAccess_ListRights responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Rights' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: client_id in: path required: true type: string tags: - ClientAccess /configuration/bands: get: operationId: Configuration_ListBands responses: '200': description: A successful response. schema: $ref: '#/definitions/v3ListBandsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: band_id description: 'Optional Band ID to filter the results. If unused, all supported Bands are returned.' in: query required: false type: string - name: phy_version description: 'Optional PHY version to filter the results. If unused, all supported versions are returned.' in: query required: false type: string enum: - PHY_UNKNOWN - PHY_V1_0 - TS001_V1_0 - PHY_V1_0_1 - TS001_V1_0_1 - PHY_V1_0_2_REV_A - RP001_V1_0_2 - PHY_V1_0_2_REV_B - RP001_V1_0_2_REV_B - PHY_V1_1_REV_A - RP001_V1_1_REV_A - PHY_V1_1_REV_B - RP001_V1_1_REV_B - PHY_V1_0_3_REV_A - RP001_V1_0_3_REV_A - RP002_V1_0_0 - RP002_V1_0_1 - RP002_V1_0_2 - RP002_V1_0_3 - RP002_V1_0_4 default: PHY_UNKNOWN tags: - Configuration /configuration/bands/{band_id}: get: operationId: Configuration_ListBands2 responses: '200': description: A successful response. schema: $ref: '#/definitions/v3ListBandsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: band_id description: 'Optional Band ID to filter the results. If unused, all supported Bands are returned.' in: path required: true type: string - name: phy_version description: 'Optional PHY version to filter the results. If unused, all supported versions are returned.' in: query required: false type: string enum: - PHY_UNKNOWN - PHY_V1_0 - TS001_V1_0 - PHY_V1_0_1 - TS001_V1_0_1 - PHY_V1_0_2_REV_A - RP001_V1_0_2 - PHY_V1_0_2_REV_B - RP001_V1_0_2_REV_B - PHY_V1_1_REV_A - RP001_V1_1_REV_A - PHY_V1_1_REV_B - RP001_V1_1_REV_B - PHY_V1_0_3_REV_A - RP001_V1_0_3_REV_A - RP002_V1_0_0 - RP002_V1_0_1 - RP002_V1_0_2 - RP002_V1_0_3 - RP002_V1_0_4 default: PHY_UNKNOWN tags: - Configuration /configuration/bands/{band_id}/{phy_version}: get: operationId: Configuration_ListBands3 responses: '200': description: A successful response. schema: $ref: '#/definitions/v3ListBandsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: band_id description: 'Optional Band ID to filter the results. If unused, all supported Bands are returned.' in: path required: true type: string - name: phy_version description: 'Optional PHY version to filter the results. If unused, all supported versions are returned.' in: path required: true type: string enum: - PHY_UNKNOWN - PHY_V1_0 - TS001_V1_0 - PHY_V1_0_1 - TS001_V1_0_1 - PHY_V1_0_2_REV_A - RP001_V1_0_2 - PHY_V1_0_2_REV_B - RP001_V1_0_2_REV_B - PHY_V1_1_REV_A - RP001_V1_1_REV_A - PHY_V1_1_REV_B - RP001_V1_1_REV_B - PHY_V1_0_3_REV_A - RP001_V1_0_3_REV_A - RP002_V1_0_0 - RP002_V1_0_1 - RP002_V1_0_2 - RP002_V1_0_3 - RP002_V1_0_4 tags: - Configuration /configuration/frequency-plans: get: operationId: Configuration_ListFrequencyPlans responses: '200': description: A successful response. schema: $ref: '#/definitions/v3ListFrequencyPlansResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: base_frequency description: Optional base frequency in MHz for hardware support (433, 470, 868 or 915) in: query required: false type: integer format: int64 - name: band_id description: Optional Band ID to filter the results. in: query required: false type: string - name: gateways_only description: Optional field to include only gateway related results. in: query required: false type: boolean tags: - Configuration /configuration/phy-versions: get: summary: Returns a list of supported LoRaWAN PHY Versions for the given Band ID. operationId: Configuration_GetPhyVersions responses: '200': description: A successful response. schema: $ref: '#/definitions/v3GetPhyVersionsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: band_id description: 'Optional Band ID to filter the results. If unused, all supported Bands and their versions are returned.' in: query required: false type: string tags: - Configuration /contact_info/validation: post: summary: Request validation for the non-validated contact info for the given entity. operationId: ContactInfoRegistry_RequestValidation responses: '200': description: A successful response. schema: $ref: '#/definitions/lorawanv3ContactInfoValidation' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: body description: EntityIdentifiers contains one of the possible entity identifiers. in: body required: true schema: $ref: '#/definitions/v3EntityIdentifiers' tags: - ContactInfoRegistry patch: summary: Validate confirms a contact info validation. operationId: ContactInfoRegistry_Validate responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/lorawanv3ContactInfoValidation' tags: - ContactInfoRegistry /email/validation: post: summary: Request validation for the non-validated contact info for the given entity. operationId: EmailValidationRegistry_RequestValidation responses: '200': description: A successful response. schema: $ref: '#/definitions/v3EmailValidation' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/v3UserIdentifiers' tags: - EmailValidationRegistry patch: summary: Validate confirms a contact info validation. operationId: EmailValidationRegistry_Validate responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/v3ValidateEmailRequest' tags: - EmailValidationRegistry /gateways/{gateway_ids.gateway_id}/collaborators/search: get: summary: Search for accounts that match the conditions specified in the request. operationId: EntityRegistrySearch_SearchAccounts4 responses: '200': description: A successful response. schema: $ref: '#/definitions/v3SearchAccountsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: gateway_ids.gateway_id in: path required: true type: string - name: query in: query required: false type: string - name: only_users in: query required: false type: boolean - name: application_ids.application_id in: query required: false type: string - name: client_ids.client_id in: query required: false type: string - name: gateway_ids.eui description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string format: string - name: organization_ids.organization_id description: This ID shares namespace with user IDs. in: query required: false type: string - name: complement_collaborators in: query required: false type: boolean tags: - EntityRegistrySearch /invitations: get: summary: List the invitations the caller has sent. operationId: UserInvitationRegistry_List responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Invitations' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - 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 tags: - UserInvitationRegistry delete: summary: Delete (revoke) a user invitation. operationId: UserInvitationRegistry_Delete responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: email in: query required: false type: string tags: - UserInvitationRegistry post: summary: Invite a user to join the network. operationId: UserInvitationRegistry_Send responses: '200': description: A successful response. schema: $ref: '#/definitions/lorawanv3Invitation' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: body in: body required: true schema: $ref: '#/definitions/v3SendInvitationRequest' tags: - UserInvitationRegistry /is/configuration: get: summary: 'Get the configuration of the Identity Server. The response is typically used to enable or disable features in a user interface.' operationId: Is_GetConfiguration responses: '200': description: A successful response. schema: $ref: '#/definitions/v3GetIsConfigurationResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' tags: - Is /organizations: get: summary: 'List organizations where the given user or organization is a direct collaborator. If no user or organization is given, this returns the organizations the caller has access to. Similar to Get, this selects the fields given by the field mask. More or less fields may be returned, depending on the rights of the caller.' operationId: OrganizationRegistry_List responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Organizations' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: collaborator.organization_ids.organization_id description: This ID shares namespace with user IDs. in: query required: false type: string - name: collaborator.user_ids.user_id description: This ID shares namespace with organization IDs. in: query required: false type: string - name: collaborator.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 organization 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 organizations. in: query required: false type: boolean tags: - OrganizationRegistry /organizations/{collaborator.organization_ids.organization_id}/clients: get: summary: 'List OAuth clients where the given user or organization is a direct collaborator. If no user or organization is given, this returns the OAuth clients the caller has access to. Similar to Get, this selects the fields specified in the field mask. More or less fields may be returned, depending on the rights of the caller.' operationId: ClientRegistry_List3 responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Clients' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: collaborator.organization_ids.organization_id description: This ID shares namespace with user IDs. in: path required: true type: string - name: collaborator.user_ids.user_id description: This ID shares namespace with organization IDs. in: query required: false type: string - name: collaborator.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 client 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 clients. in: query required: false type: boolean tags: - ClientRegistry post: summary: 'Create a new OAuth client. This also sets the given organization or user as first collaborator with all possible rights.' operationId: ClientRegistry_Create2 responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Client' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: collaborator.organization_ids.organization_id description: This ID shares namespace with user IDs. in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/v3ClientRegistryCreateBody' tags: - ClientRegistry /organizations/{organization.ids.organization_id}: put: summary: Update the organization, changing the fields specified by the field mask to the provided values. operationId: OrganizationRegistry_Update responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Organization' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: organization.ids.organization_id description: This ID shares namespace with user IDs. in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/v3OrganizationRegistryUpdateBody' tags: - OrganizationRegistry /organizations/{organization_ids.organization_id}: get: summary: 'Get the organization with the given identifiers, selecting the fields specified in the field mask. More or less fields may be returned, depending on the rights of the caller.' operationId: OrganizationRegistry_Get responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Organization' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: organization_ids.organization_id description: This ID shares namespace with user IDs. in: path required: true type: string - name: field_mask description: The names of the organization fields that should be returned. in: query required: false type: string tags: - OrganizationRegistry /organizations/{organization_ids.organization_id}/api-keys: get: summary: List the API keys for this organization. operationId: OrganizationAccess_ListAPIKeys responses: '200': description: A successful response. schema: $ref: '#/definitions/v3APIKeys' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: organization_ids.organization_id description: This ID shares namespace with user IDs. in: path required: true type: string - name: order description: 'Order the results by this field path. 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 tags: - OrganizationAccess post: summary: 'Create an API key scoped to this organization. Organization API keys can give access to the organization itself, as well as any application, gateway and OAuth client this organization is a collaborator of.' operationId: OrganizationAccess_CreateAPIKey responses: '200': description: A successful response. schema: $ref: '#/definitions/v3APIKey' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: organization_ids.organization_id description: This ID shares namespace with user IDs. in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/v3OrganizationAccessCreateAPIKeyBody' tags: - OrganizationAccess /organizations/{organization_ids.organization_id}/api-keys/{api_key.id}: put: summary: 'Update the rights of an API key of the organization. This method can also be used to delete the API key, by giving it no rights. The caller is required to have all assigned or/and removed rights.' operationId: OrganizationAccess_UpdateAPIKey responses: '200': description: A successful response. schema: $ref: '#/definitions/v3APIKey' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: organization_ids.organization_id description: This ID shares namespace with user IDs. in: path required: true type: string - name: api_key.id description: 'Immutable and unique public identifier for the API key. Generated by the Access Server.' in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/v3OrganizationAccessUpdateAPIKeyBody' tags: - OrganizationAccess /organizations/{organization_ids.organization_id}/api-keys/{key_id}: get: summary: Get a single API key of this organization. operationId: OrganizationAccess_GetAPIKey responses: '200': description: A successful response. schema: $ref: '#/definitions/v3APIKey' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: organization_ids.organization_id description: This ID shares namespace with user IDs. in: path required: true type: string - name: key_id description: Unique public identifier for the API key. in: path required: true type: string tags: - OrganizationAccess delete: summary: Delete a single API key of this organization. operationId: OrganizationAccess_DeleteAPIKey responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: organization_ids.organization_id description: This ID shares namespace with user IDs. in: path required: true type: string - name: key_id in: path required: true type: string tags: - OrganizationAccess /organizations/{organization_ids.organization_id}/collaborator/user/{collaborator.user_ids.user_id}: get: summary: 'Get the rights of a collaborator (member) of the organization. Pseudo-rights in the response (such as the "_ALL" right) are not expanded.' operationId: OrganizationAccess_GetCollaborator responses: '200': description: A successful response. schema: $ref: '#/definitions/v3GetCollaboratorResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: organization_ids.organization_id description: This ID shares namespace with user IDs. in: path required: true type: string - name: collaborator.user_ids.user_id description: This ID shares namespace with organization IDs. in: path required: true type: string - name: collaborator.user_ids.email description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string tags: - OrganizationAccess /organizations/{organization_ids.organization_id}/collaborators: get: summary: List the collaborators on this organization. operationId: OrganizationAccess_ListCollaborators responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Collaborators' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: organization_ids.organization_id description: This ID shares namespace with user IDs. in: path required: true 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: 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 tags: - OrganizationAccess put: summary: 'Set the rights of a collaborator (member) on the organization. Organization collaborators can get access to the organization itself, as well as any application, gateway and OAuth client this organization is a collaborator of. This method can also be used to delete the collaborator, by giving them no rights. The caller is required to have all assigned or/and removed rights.' operationId: OrganizationAccess_SetCollaborator responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: organization_ids.organization_id description: This ID shares namespace with user IDs. in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/v3OrganizationAccessSetCollaboratorBody' tags: - OrganizationAccess /organizations/{organization_ids.organization_id}/collaborators/search: get: summary: Search for accounts that match the conditions specified in the request. operationId: EntityRegistrySearch_SearchAccounts5 responses: '200': description: A successful response. schema: $ref: '#/definitions/v3SearchAccountsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: organization_ids.organization_id description: This ID shares namespace with user IDs. in: path required: true type: string - name: query in: query required: false type: string - name: only_users in: query required: false type: boolean - name: application_ids.application_id in: query required: false type: string - name: client_ids.client_id in: query required: false type: string - name: gateway_ids.gateway_id in: query required: false type: string - name: gateway_ids.eui description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string format: string - name: complement_collaborators in: query required: false type: boolean tags: - EntityRegistrySearch /organizations/{organization_ids.organization_id}/collaborators/user/{collaborator_ids.user_ids.user_id}: delete: summary: DeleteCollaborator removes a collaborator from an organization. operationId: OrganizationAccess_DeleteCollaborator responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: organization_ids.organization_id description: This ID shares namespace with user IDs. in: path required: true type: string - name: collaborator_ids.user_ids.user_id description: This ID shares namespace with organization IDs. in: path required: true type: string - name: collaborator_ids.user_ids.email description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string tags: - OrganizationAccess /organizations/{organization_id}: delete: summary: Delete the organization. This may not release the organization ID for reuse. operationId: OrganizationRegistry_Delete responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: organization_id description: This ID shares namespace with user IDs. in: path required: true type: string tags: - OrganizationRegistry /organizations/{organization_id}/purge: delete: summary: 'Purge the organization. This will release the organization 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: OrganizationRegistry_Purge responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: organization_id description: This ID shares namespace with user IDs. in: path required: true type: string tags: - OrganizationRegistry /organizations/{organization_id}/restore: post: summary: Restore a recently deleted organization. description: 'Deployment configuration may specify if, and for how long after deletion, entities can be restored.' operationId: OrganizationRegistry_Restore responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: organization_id description: This ID shares namespace with user IDs. in: path required: true type: string tags: - OrganizationRegistry /organizations/{organization_id}/rights: get: summary: List the rights the caller has on this organization. operationId: OrganizationAccess_ListRights responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Rights' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: organization_id description: This ID shares namespace with user IDs. in: path required: true type: string tags: - OrganizationAccess /search/accounts: get: summary: Search for accounts that match the conditions specified in the request. operationId: EntityRegistrySearch_SearchAccounts responses: '200': description: A successful response. schema: $ref: '#/definitions/v3SearchAccountsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: query in: query required: false type: string - name: only_users in: query required: false type: boolean - name: application_ids.application_id in: query required: false type: string - name: client_ids.client_id in: query required: false type: string - name: gateway_ids.gateway_id in: query required: false type: string - name: gateway_ids.eui description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string format: string - name: organization_ids.organization_id description: This ID shares namespace with user IDs. in: query required: false type: string - name: complement_collaborators in: query required: false type: boolean tags: - EntityRegistrySearch /search/applications: get: summary: 'Search for applications that match the conditions specified in the request. Non-admin users will only match applications that they have rights on.' operationId: EntityRegistrySearch_SearchApplications responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Applications' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: query description: Find applications where the ID, name or description contains this substring. in: query required: false type: string - name: id_contains description: Find applications where the ID contains this substring. in: query required: false type: string - name: name_contains description: Find applications where the name contains this substring. in: query required: false type: string - name: description_contains description: Find applications where the description contains this substring. in: query required: false type: string - name: attributes_contain[string] description: This is a request variable of the map type. The query format is "map_name[key]=value", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age["bob"]=18 in: query required: false type: string - name: field_mask 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 applications. in: query required: false type: boolean tags: - EntityRegistrySearch /search/applications/{application_ids.application_id}/devices: get: summary: Search for end devices in the given application that match the conditions specified in the request. operationId: EndDeviceRegistrySearch_SearchEndDevices responses: '200': description: A successful response. schema: $ref: '#/definitions/v3EndDevices' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: application_ids.application_id in: path required: true type: string - name: query description: Find end devices where the ID, name, description or EUI contains this substring. in: query required: false type: string - name: id_contains description: Find end devices where the ID contains this substring. in: query required: false type: string - name: name_contains description: Find end devices where the name contains this substring. in: query required: false type: string - name: description_contains description: Find end devices where the description contains this substring. in: query required: false type: string - name: attributes_contain[string] description: This is a request variable of the map type. The query format is "map_name[key]=value", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age["bob"]=18 in: query required: false type: string - name: dev_eui_contains description: Find end devices where the (hexadecimal) DevEUI contains this substring. in: query required: false type: string - name: join_eui_contains description: Find end devices where the (hexadecimal) JoinEUI contains this substring. in: query required: false type: string - name: dev_addr_contains description: Find end devices where the (hexadecimal) DevAddr contains this substring. in: query required: false type: string - name: field_mask 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 tags: - EndDeviceRegistrySearch /search/clients: get: summary: 'Search for OAuth clients that match the conditions specified in the request. Non-admin users will only match OAuth clients that they have rights on.' operationId: EntityRegistrySearch_SearchClients responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Clients' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: query description: Find OAuth clients where the ID, name or description contains this substring. in: query required: false type: string - name: id_contains description: Find OAuth clients where the ID contains this substring. in: query required: false type: string - name: name_contains description: Find OAuth clients where the name contains this substring. in: query required: false type: string - name: description_contains description: Find OAuth clients where the description contains this substring. in: query required: false type: string - name: attributes_contain[string] description: This is a request variable of the map type. The query format is "map_name[key]=value", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age["bob"]=18 in: query required: false type: string - name: state description: "Find OAuth clients where the state is any of these states.\n\n - STATE_REQUESTED: Denotes that the entity\ \ has been requested and is pending review by an admin.\n - STATE_APPROVED: Denotes that the entity has been reviewed\ \ and approved by an admin.\n - STATE_REJECTED: Denotes that the entity has been reviewed and rejected by an admin.\n\ \ - STATE_FLAGGED: Denotes that the entity has been flagged and is pending review by an admin.\n - STATE_SUSPENDED:\ \ Denotes that the entity has been reviewed and suspended by an admin." in: query required: false type: array items: type: string enum: - STATE_REQUESTED - STATE_APPROVED - STATE_REJECTED - STATE_FLAGGED - STATE_SUSPENDED collectionFormat: multi - name: field_mask 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 OAuth clients. in: query required: false type: boolean tags: - EntityRegistrySearch /search/gateways: get: summary: 'Search for gateways that match the conditions specified in the request. Non-admin users will only match gateways that they have rights on.' operationId: EntityRegistrySearch_SearchGateways responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Gateways' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: query description: Find gateways where the ID, name, description or EUI contains this substring. in: query required: false type: string - name: id_contains description: Find gateways where the ID contains this substring. in: query required: false type: string - name: name_contains description: Find gateways where the name contains this substring. in: query required: false type: string - name: description_contains description: Find gateways where the description contains this substring. in: query required: false type: string - name: attributes_contain[string] description: This is a request variable of the map type. The query format is "map_name[key]=value", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age["bob"]=18 in: query required: false type: string - name: eui_contains description: Find gateways where the (hexadecimal) EUI contains this substring. in: query required: false type: string - name: field_mask 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 gateways. in: query required: false type: boolean tags: - EntityRegistrySearch /search/organizations: get: summary: 'Search for organizations that match the conditions specified in the request. Non-admin users will only match organizations that they have rights on.' operationId: EntityRegistrySearch_SearchOrganizations responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Organizations' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: query description: Find organizations where the ID, name or description contains this substring. in: query required: false type: string - name: id_contains description: Find organizations where the ID contains this substring. in: query required: false type: string - name: name_contains description: Find organizations where the name contains this substring. in: query required: false type: string - name: description_contains description: Find organizations where the description contains this substring. in: query required: false type: string - name: attributes_contain[string] description: This is a request variable of the map type. The query format is "map_name[key]=value", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age["bob"]=18 in: query required: false type: string - name: field_mask 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 organizations. in: query required: false type: boolean tags: - EntityRegistrySearch /search/users: get: summary: 'Search for users that match the conditions specified in the request. This is only available to admin users.' operationId: EntityRegistrySearch_SearchUsers responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Users' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: query description: Find users where the ID, name or description contains this substring. in: query required: false type: string - name: id_contains description: Find users where the ID contains this substring. in: query required: false type: string - name: name_contains description: Find users where the name contains this substring. in: query required: false type: string - name: description_contains description: Find users where the description contains this substring. in: query required: false type: string - name: attributes_contain[string] description: This is a request variable of the map type. The query format is "map_name[key]=value", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age["bob"]=18 in: query required: false type: string - name: state description: "Find users where the state is any of these states.\n\n - STATE_REQUESTED: Denotes that the entity has\ \ been requested and is pending review by an admin.\n - STATE_APPROVED: Denotes that the entity has been reviewed\ \ and approved by an admin.\n - STATE_REJECTED: Denotes that the entity has been reviewed and rejected by an admin.\n\ \ - STATE_FLAGGED: Denotes that the entity has been flagged and is pending review by an admin.\n - STATE_SUSPENDED:\ \ Denotes that the entity has been reviewed and suspended by an admin." in: query required: false type: array items: type: string enum: - STATE_REQUESTED - STATE_APPROVED - STATE_REJECTED - STATE_FLAGGED - STATE_SUSPENDED collectionFormat: multi - name: field_mask 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: - EntityRegistrySearch /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/{collaborator.user_ids.user_id}/clients: get: summary: 'List OAuth clients where the given user or organization is a direct collaborator. If no user or organization is given, this returns the OAuth clients the caller has access to. Similar to Get, this selects the fields specified in the field mask. More or less fields may be returned, depending on the rights of the caller.' operationId: ClientRegistry_List2 responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Clients' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: collaborator.user_ids.user_id description: This ID shares namespace with organization IDs. in: path required: true type: string - name: collaborator.organization_ids.organization_id description: This ID shares namespace with user IDs. in: query required: false type: string - name: collaborator.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 client 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 clients. in: query required: false type: boolean tags: - ClientRegistry post: summary: 'Create a new OAuth client. This also sets the given organization or user as first collaborator with all possible rights.' operationId: ClientRegistry_Create responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Client' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: collaborator.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/v3ClientRegistryCreateBody' tags: - ClientRegistry /users/{collaborator.user_ids.user_id}/organizations: get: summary: 'List organizations where the given user or organization is a direct collaborator. If no user or organization is given, this returns the organizations the caller has access to. Similar to Get, this selects the fields given by the field mask. More or less fields may be returned, depending on the rights of the caller.' operationId: OrganizationRegistry_List2 responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Organizations' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: collaborator.user_ids.user_id description: This ID shares namespace with organization IDs. in: path required: true type: string - name: collaborator.organization_ids.organization_id description: This ID shares namespace with user IDs. in: query required: false type: string - name: collaborator.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 organization 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 organizations. in: query required: false type: boolean tags: - OrganizationRegistry post: summary: 'Create a new organization. This also sets the given user as first collaborator with all possible rights.' operationId: OrganizationRegistry_Create responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Organization' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: collaborator.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/v3OrganizationRegistryCreateBody' tags: - OrganizationRegistry /users/{receiver_ids.user_id}/notifications: get: summary: 'List the notifications for a user or an organization. When called with user credentials and empty receiver_ids, this will list notifications for the current user and its organizations.' operationId: NotificationService_List responses: '200': description: A successful response. schema: $ref: '#/definitions/v3ListNotificationsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: receiver_ids.user_id description: This ID shares namespace with organization IDs. in: path required: true type: string - name: receiver_ids.email description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string - name: status description: 'Select notifications with these statuses. An empty list is interpreted as "all".' in: query required: false type: array items: type: string enum: - NOTIFICATION_STATUS_UNSEEN - NOTIFICATION_STATUS_SEEN - NOTIFICATION_STATUS_ARCHIVED collectionFormat: multi - 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 tags: - NotificationService patch: summary: Batch-update multiple notifications to the same status. operationId: NotificationService_UpdateStatus responses: '200': description: A successful response. schema: type: object properties: {} default: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' parameters: - name: receiver_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/NotificationServiceUpdateStatusBody' tags: - NotificationService /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}/api-keys: get: summary: List the API keys for this user. operationId: UserAccess_ListAPIKeys responses: '200': description: A successful response. schema: $ref: '#/definitions/v3APIKeys' 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: order description: 'Order the results by this field path. 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 tags: - UserAccess post: summary: 'Create an API key scoped to this user. User API keys can give access to the user itself, as well as any organization, application, gateway and OAuth client this user is a collaborator of.' operationId: UserAccess_CreateAPIKey responses: '200': description: A successful response. schema: $ref: '#/definitions/v3APIKey' 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/v3UserAccessCreateAPIKeyBody' tags: - UserAccess /users/{user_ids.user_id}/api-keys/{api_key.id}: put: summary: 'Update the rights of an API key of the user. This method can also be used to delete the API key, by giving it no rights. The caller is required to have all assigned or/and removed rights.' operationId: UserAccess_UpdateAPIKey responses: '200': description: A successful response. schema: $ref: '#/definitions/v3APIKey' 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: api_key.id description: 'Immutable and unique public identifier for the API key. Generated by the Access Server.' in: path required: true type: string - name: body in: body required: true schema: $ref: '#/definitions/v3UserAccessUpdateAPIKeyBody' tags: - UserAccess /users/{user_ids.user_id}/api-keys/{key_id}: get: summary: Get a single API key of this user. operationId: UserAccess_GetAPIKey responses: '200': description: A successful response. schema: $ref: '#/definitions/v3APIKey' 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: key_id description: Unique public identifier for the API key. 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: - UserAccess delete: summary: Delete a single API key of this user. operationId: UserAccess_DeleteAPIKey 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: key_id 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: - UserAccess /users/{user_ids.user_id}/authorizations: get: summary: List OAuth clients that are authorized by the user. operationId: OAuthAuthorizationRegistry_List responses: '200': description: A successful response. schema: $ref: '#/definitions/v3OAuthClientAuthorizations' 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: 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 tags: - OAuthAuthorizationRegistry /users/{user_ids.user_id}/authorizations/{client_ids.client_id}: delete: summary: Delete (de-authorize) an OAuth client for the user. operationId: OAuthAuthorizationRegistry_Delete 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: client_ids.client_id 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: - OAuthAuthorizationRegistry /users/{user_ids.user_id}/authorizations/{client_ids.client_id}/tokens: get: summary: List OAuth access tokens issued to the OAuth client on behalf of the user. operationId: OAuthAuthorizationRegistry_ListTokens responses: '200': description: A successful response. schema: $ref: '#/definitions/v3OAuthAccessTokens' 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: client_ids.client_id 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: 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 tags: - OAuthAuthorizationRegistry /users/{user_ids.user_id}/authorizations/{client_ids.client_id}/tokens/{id}: delete: summary: Delete (invalidate) an OAuth access token. operationId: OAuthAuthorizationRegistry_DeleteToken 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: client_ids.client_id in: path required: true type: string - name: id 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: - OAuthAuthorizationRegistry /users/{user_ids.user_id}/bookmarks: get: summary: List the bookmarks for the given user. operationId: UserBookmarkRegistry_List responses: '200': description: A successful response. schema: $ref: '#/definitions/v3UserBookmarks' 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: 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: order description: 'Order the results by this field path. Default ordering is by ID. Prepend with a minus (-) to reverse the order.' in: query required: false type: string - name: deleted description: Only return recently deleted bookmarks. in: query required: false type: boolean - name: entity_types description: 'Specifies that only bookmarks that reference the given entity type should be returned. If empty the filter is not applied.' in: query required: false type: array items: type: string collectionFormat: multi tags: - UserBookmarkRegistry post: summary: Create a bookmark for the given user. operationId: UserBookmarkRegistry_Create responses: '200': description: A successful response. schema: $ref: '#/definitions/v3UserBookmark' 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/v3UserBookmarkRegistryCreateBody' tags: - UserBookmarkRegistry /users/{user_ids.user_id}/bookmarks/applications/{entity_ids.application_ids.application_id}: delete: summary: Delete the given user's bookmark. operationId: UserBookmarkRegistry_Delete 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: entity_ids.application_ids.application_id 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: entity_ids.client_ids.client_id in: query required: false type: string - name: entity_ids.device_ids.device_id in: query required: false type: string - name: entity_ids.device_ids.dev_eui description: The LoRaWAN DevEUI. in: query required: false type: string format: string - name: entity_ids.device_ids.join_eui description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). in: query required: false type: string format: string - name: entity_ids.device_ids.dev_addr description: The LoRaWAN DevAddr. in: query required: false type: string format: string - name: entity_ids.gateway_ids.gateway_id in: query required: false type: string - name: entity_ids.gateway_ids.eui description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string format: string - name: entity_ids.organization_ids.organization_id description: This ID shares namespace with user IDs. in: query required: false type: string - name: entity_ids.user_ids.email description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string tags: - UserBookmarkRegistry ? /users/{user_ids.user_id}/bookmarks/applications/{entity_ids.device_ids.application_ids.application_id}/devices/{entity_ids.device_ids.device_id} : delete: summary: Delete the given user's bookmark. operationId: UserBookmarkRegistry_Delete6 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: entity_ids.device_ids.application_ids.application_id in: path required: true type: string - name: entity_ids.device_ids.device_id 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: entity_ids.client_ids.client_id in: query required: false type: string - name: entity_ids.device_ids.dev_eui description: The LoRaWAN DevEUI. in: query required: false type: string format: string - name: entity_ids.device_ids.join_eui description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). in: query required: false type: string format: string - name: entity_ids.device_ids.dev_addr description: The LoRaWAN DevAddr. in: query required: false type: string format: string - name: entity_ids.gateway_ids.gateway_id in: query required: false type: string - name: entity_ids.gateway_ids.eui description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string format: string - name: entity_ids.organization_ids.organization_id description: This ID shares namespace with user IDs. in: query required: false type: string - name: entity_ids.user_ids.email description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string tags: - UserBookmarkRegistry /users/{user_ids.user_id}/bookmarks/batch: delete: summary: 'Delete a list of bookmarks of the given user. This operation is atomic; either all bookmarks are deleted or none. Bookmarks not found are skipped and no error is returned.' operationId: UserBookmarkRegistry_BatchDelete 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: - UserBookmarkRegistry /users/{user_ids.user_id}/bookmarks/clients/{entity_ids.client_ids.client_id}: delete: summary: Delete the given user's bookmark. operationId: UserBookmarkRegistry_Delete2 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: entity_ids.client_ids.client_id 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: entity_ids.application_ids.application_id in: query required: false type: string - name: entity_ids.device_ids.device_id in: query required: false type: string - name: entity_ids.device_ids.application_ids.application_id in: query required: false type: string - name: entity_ids.device_ids.dev_eui description: The LoRaWAN DevEUI. in: query required: false type: string format: string - name: entity_ids.device_ids.join_eui description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). in: query required: false type: string format: string - name: entity_ids.device_ids.dev_addr description: The LoRaWAN DevAddr. in: query required: false type: string format: string - name: entity_ids.gateway_ids.gateway_id in: query required: false type: string - name: entity_ids.gateway_ids.eui description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string format: string - name: entity_ids.organization_ids.organization_id description: This ID shares namespace with user IDs. in: query required: false type: string - name: entity_ids.user_ids.email description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string tags: - UserBookmarkRegistry /users/{user_ids.user_id}/bookmarks/gateways/{entity_ids.gateway_ids.gateway_id}: delete: summary: Delete the given user's bookmark. operationId: UserBookmarkRegistry_Delete3 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: entity_ids.gateway_ids.gateway_id 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: entity_ids.application_ids.application_id in: query required: false type: string - name: entity_ids.client_ids.client_id in: query required: false type: string - name: entity_ids.device_ids.device_id in: query required: false type: string - name: entity_ids.device_ids.application_ids.application_id in: query required: false type: string - name: entity_ids.device_ids.dev_eui description: The LoRaWAN DevEUI. in: query required: false type: string format: string - name: entity_ids.device_ids.join_eui description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). in: query required: false type: string format: string - name: entity_ids.device_ids.dev_addr description: The LoRaWAN DevAddr. in: query required: false type: string format: string - name: entity_ids.gateway_ids.eui description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string format: string - name: entity_ids.organization_ids.organization_id description: This ID shares namespace with user IDs. in: query required: false type: string - name: entity_ids.user_ids.email description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string tags: - UserBookmarkRegistry /users/{user_ids.user_id}/bookmarks/organizations/{entity_ids.organization_ids.organization_id}: delete: summary: Delete the given user's bookmark. operationId: UserBookmarkRegistry_Delete4 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: entity_ids.organization_ids.organization_id description: This ID shares namespace with user 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: entity_ids.application_ids.application_id in: query required: false type: string - name: entity_ids.client_ids.client_id in: query required: false type: string - name: entity_ids.device_ids.device_id in: query required: false type: string - name: entity_ids.device_ids.application_ids.application_id in: query required: false type: string - name: entity_ids.device_ids.dev_eui description: The LoRaWAN DevEUI. in: query required: false type: string format: string - name: entity_ids.device_ids.join_eui description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). in: query required: false type: string format: string - name: entity_ids.device_ids.dev_addr description: The LoRaWAN DevAddr. in: query required: false type: string format: string - name: entity_ids.gateway_ids.gateway_id in: query required: false type: string - name: entity_ids.gateway_ids.eui description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string format: string - name: entity_ids.user_ids.email description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string tags: - UserBookmarkRegistry /users/{user_ids.user_id}/bookmarks/users/{entity_ids.user_ids.user_id}: delete: summary: Delete the given user's bookmark. operationId: UserBookmarkRegistry_Delete5 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: entity_ids.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: entity_ids.application_ids.application_id in: query required: false type: string - name: entity_ids.client_ids.client_id in: query required: false type: string - name: entity_ids.device_ids.device_id in: query required: false type: string - name: entity_ids.device_ids.application_ids.application_id in: query required: false type: string - name: entity_ids.device_ids.dev_eui description: The LoRaWAN DevEUI. in: query required: false type: string format: string - name: entity_ids.device_ids.join_eui description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). in: query required: false type: string format: string - name: entity_ids.device_ids.dev_addr description: The LoRaWAN DevAddr. in: query required: false type: string format: string - name: entity_ids.gateway_ids.gateway_id in: query required: false type: string - name: entity_ids.gateway_ids.eui description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string format: string - name: entity_ids.organization_ids.organization_id description: This ID shares namespace with user IDs. in: query required: false type: string - name: entity_ids.user_ids.email description: Secondary identifier, which can only be used in specific requests. in: query required: false type: string tags: - UserBookmarkRegistry /users/{user_ids.user_id}/login-tokens: post: summary: Create a login token that can be used for a one-time login as a user. operationId: UserAccess_CreateLoginToken responses: '200': description: A successful response. schema: $ref: '#/definitions/v3CreateLoginTokenResponse' 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: skip_email description: 'Skip sending the login token to the user by email. This field is only effective when the login token is created by an admin user.' in: query required: false type: boolean tags: - UserAccess /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}/sessions: get: summary: List the active sessions for the given user. operationId: UserSessionRegistry_List responses: '200': description: A successful response. schema: $ref: '#/definitions/v3UserSessions' 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: 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 tags: - UserSessionRegistry /users/{user_ids.user_id}/sessions/{session_id}: delete: summary: Delete (revoke) the given user session. operationId: UserSessionRegistry_Delete 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: session_id 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: - UserSessionRegistry /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 /users/{user_id}/rights: get: summary: List the rights the caller has on this user. operationId: UserAccess_ListRights responses: '200': description: A successful response. schema: $ref: '#/definitions/v3Rights' 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: - UserAccess definitions: ADRSettingsDynamicMode: type: object properties: margin: type: number format: float description: 'The ADR margin (dB) tells the network server how much margin it should add in ADR requests. A bigger margin is less efficient, but gives a better chance of successful reception. If unset, the default value from Network Server configuration will be used.' min_data_rate_index: $ref: '#/definitions/v3DataRateIndexValue' description: 'Minimum data rate index. If unset, the default value from Network Server configuration will be used.' max_data_rate_index: $ref: '#/definitions/v3DataRateIndexValue' description: 'Maximum data rate index. If unset, the default value from Network Server configuration will be used.' min_tx_power_index: type: integer format: int64 description: 'Minimum transmission power index. If unset, the default value from Network Server configuration will be used.' max_tx_power_index: type: integer format: int64 description: 'Maximum transmission power index. If unset, the default value from Network Server configuration will be used.' min_nb_trans: type: integer format: int64 description: 'Minimum number of retransmissions. If unset, the default value from Network Server configuration will be used.' max_nb_trans: type: integer format: int64 description: 'Maximum number of retransmissions. If unset, the default value from Network Server configuration will be used.' channel_steering: $ref: '#/definitions/DynamicModeChannelSteeringSettings' overrides: $ref: '#/definitions/DynamicModeOverrides' description: Configuration options for dynamic ADR. ADRSettingsStaticMode: type: object properties: data_rate_index: $ref: '#/definitions/v3DataRateIndex' description: Data rate index to use. tx_power_index: type: integer format: int64 description: Transmission power index to use. nb_trans: type: integer format: int64 description: Number of retransmissions. description: Configuration options for static ADR. ApplicationDownlinkClassBC: type: object properties: gateways: type: array items: type: object $ref: '#/definitions/v3ClassBCGatewayIdentifiers' description: 'Possible gateway identifiers, antenna index, and group index to use for this downlink message. The Network Server selects one of these gateways for downlink, based on connectivity, signal quality, channel utilization and an available slot. If none of the gateways can be selected, the downlink message fails. If empty, a gateway and antenna is selected automatically from the gateways seen in recent uplinks. If group index is set, gateways will be grouped by the index for the Network Server to select one gateway per group.' absolute_time: type: string format: date-time description: 'Absolute time when the downlink message should be transmitted. This requires the gateway to have GPS time synchronization. If the time is in the past or if there is a scheduling conflict, the downlink message fails. If null, the time is selected based on slot availability. This is recommended in class B mode.' ApplicationDownlinkConfirmedRetry: type: object properties: attempt: type: integer format: int64 description: The number of attempted confirmed downlink acknowledgements. max_attempts: type: integer format: int64 description: 'The maximum number of confirmed downlink acknowledgement attempts. If null, the Application Server configuration is used instead.' AuthInfoResponseAPIKeyAccess: type: object properties: api_key: $ref: '#/definitions/v3APIKey' entity_ids: $ref: '#/definitions/v3EntityIdentifiers' BandDescriptionBandDataRate: type: object properties: rate: $ref: '#/definitions/v3DataRate' BandDescriptionBeacon: type: object properties: data_rate_index: $ref: '#/definitions/v3DataRateIndex' coding_rate: type: string frequencies: type: array items: type: string format: uint64 BandDescriptionDwellTime: type: object properties: uplinks: type: boolean downlinks: type: boolean BandDescriptionRelayParametersRelayWORChannel: type: object properties: frequency: type: string format: uint64 ack_frequency: type: string format: uint64 data_rate_index: $ref: '#/definitions/v3DataRateIndex' BandDescriptionRx2Parameters: type: object properties: data_rate_index: $ref: '#/definitions/v3DataRateIndex' frequency: type: string format: uint64 BandDescriptionSubBandParameters: type: object properties: min_frequency: type: string format: uint64 max_frequency: type: string format: uint64 duty_cycle: type: number format: float max_eirp: type: number format: float ChannelSteeringSettingsLoRaNarrowMode: type: object description: 'Configuration options for LoRa narrow channels steering. The narrow mode attempts to steer the end device towards using the LoRa modulated, 125kHz bandwidth channels.' DownlinkMessageMessageMACPayload: type: object properties: f_port: type: integer format: int64 full_f_cnt: type: integer format: int64 DownlinkMessageMessageMHDR: type: object properties: m_type: $ref: '#/definitions/v3MType' DynamicModeChannelSteeringSettings: type: object properties: lora_narrow: $ref: '#/definitions/ChannelSteeringSettingsLoRaNarrowMode' disabled: $ref: '#/definitions/DynamicModeChannelSteeringSettingsDisabledMode' description: 'EXPERIMENTAL: Channel steering settings.' DynamicModeChannelSteeringSettingsDisabledMode: type: object description: 'Configuration options for cases in which ADR is not supposed to steer the end device to another set of channels.' DynamicModeOverrides: type: object properties: data_rate_0: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_1: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_2: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_3: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_4: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_5: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_6: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_7: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_8: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_9: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_10: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_11: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_12: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_13: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_14: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' data_rate_15: $ref: '#/definitions/DynamicModePerDataRateIndexOverride' description: 'EXPERIMENTAL: Configuration overrides.' DynamicModePerDataRateIndexOverride: type: object properties: min_nb_trans: type: integer format: int64 description: 'Minimum number of retransmissions. If unset, the default value from Network Server configuration will be used.' max_nb_trans: type: integer format: int64 description: 'Maximum number of retransmissions. If unset, the default value from Network Server configuration will be used.' description: 'EXPERIMENTAL: Data rate index override settings.' GatewayLRFHSS: type: object properties: supported: type: boolean description: The gateway supports the LR-FHSS uplink channels. description: LR-FHSS gateway capabilities. GetPhyVersionsResponseVersionInfo: type: object properties: band_id: type: string phy_versions: type: array items: $ref: '#/definitions/v3PHYVersion' IsConfigurationAdminRights: type: object properties: all: type: boolean IsConfigurationCollaboratorRights: type: object properties: set_others_as_contacts: type: boolean IsConfigurationEndDevicePicture: type: object properties: disable_upload: type: boolean IsConfigurationProfilePicture: type: object properties: disable_upload: type: boolean use_gravatar: type: boolean IsConfigurationUserLogin: type: object properties: disable_credentials_login: type: boolean IsConfigurationUserRegistration: type: object properties: invitation: $ref: '#/definitions/IsConfigurationUserRegistrationInvitation' contact_info_validation: $ref: '#/definitions/IsConfigurationUserRegistrationContactInfoValidation' admin_approval: $ref: '#/definitions/UserRegistrationAdminApproval' password_requirements: $ref: '#/definitions/UserRegistrationPasswordRequirements' enabled: type: boolean IsConfigurationUserRegistrationContactInfoValidation: type: object properties: required: type: boolean token_ttl: type: string retry_interval: type: string description: The minimum interval between validation emails. IsConfigurationUserRegistrationInvitation: type: object properties: required: type: boolean token_ttl: type: string IsConfigurationUserRights: type: object properties: create_applications: type: boolean create_clients: type: boolean create_gateways: type: boolean create_organizations: type: boolean ListBandsResponseVersionedBandDescription: type: object properties: band: type: object additionalProperties: $ref: '#/definitions/v3BandDescription' MACCommandADRParamSetupReq: type: object properties: adr_ack_limit_exponent: $ref: '#/definitions/v3ADRAckLimitExponent' description: Exponent e that configures the ADR_ACK_LIMIT = 2^e messages. adr_ack_delay_exponent: $ref: '#/definitions/v3ADRAckDelayExponent' description: Exponent e that configures the ADR_ACK_DELAY = 2^e messages. MACCommandBeaconFreqAns: type: object properties: frequency_ack: type: boolean MACCommandBeaconFreqReq: type: object properties: frequency: type: string format: uint64 description: Frequency of the Class B beacons (Hz). MACCommandBeaconTimingAns: type: object properties: delay: type: integer format: int64 description: (uint16) See LoRaWAN specification. channel_index: type: integer format: int64 MACCommandDLChannelAns: type: object properties: channel_index_ack: type: boolean frequency_ack: type: boolean MACCommandDLChannelReq: type: object properties: channel_index: type: integer format: int64 frequency: type: string format: uint64 description: Downlink channel frequency (Hz). MACCommandDevStatusAns: type: object properties: battery: type: integer format: int64 description: 'Device battery status. 0 indicates that the device is connected to an external power source. 1..254 indicates a battery level. 255 indicates that the device was not able to measure the battery level.' margin: type: integer format: int32 description: SNR of the last downlink (dB; [-32, +31]). MACCommandDeviceModeConf: type: object properties: class: $ref: '#/definitions/v3Class' MACCommandDeviceModeInd: type: object properties: class: $ref: '#/definitions/v3Class' MACCommandDeviceTimeAns: type: object properties: time: type: string format: date-time MACCommandDutyCycleReq: type: object properties: max_duty_cycle: $ref: '#/definitions/v3AggregatedDutyCycle' MACCommandForceRejoinReq: type: object properties: rejoin_type: $ref: '#/definitions/v3RejoinRequestType' data_rate_index: $ref: '#/definitions/v3DataRateIndex' max_retries: type: integer format: int64 period_exponent: $ref: '#/definitions/v3RejoinPeriodExponent' description: Exponent e that configures the rejoin period = 32 * 2^e + rand(0,32) seconds. MACCommandLinkADRAns: type: object properties: channel_mask_ack: type: boolean data_rate_index_ack: type: boolean tx_power_index_ack: type: boolean MACCommandLinkADRReq: type: object properties: data_rate_index: $ref: '#/definitions/v3DataRateIndex' tx_power_index: type: integer format: int64 channel_mask: type: array items: type: boolean channel_mask_control: type: integer format: int64 nb_trans: type: integer format: int64 MACCommandLinkCheckAns: type: object properties: margin: type: integer format: int64 description: Indicates the link margin in dB of the received LinkCheckReq, relative to the demodulation floor. gateway_count: type: integer format: int64 MACCommandNewChannelAns: type: object properties: frequency_ack: type: boolean data_rate_ack: type: boolean MACCommandNewChannelReq: type: object properties: channel_index: type: integer format: int64 frequency: type: string format: uint64 description: Channel frequency (Hz). min_data_rate_index: $ref: '#/definitions/v3DataRateIndex' max_data_rate_index: $ref: '#/definitions/v3DataRateIndex' MACCommandPingSlotChannelAns: type: object properties: frequency_ack: type: boolean data_rate_index_ack: type: boolean MACCommandPingSlotChannelReq: type: object properties: frequency: type: string format: uint64 description: Ping slot channel frequency (Hz). data_rate_index: $ref: '#/definitions/v3DataRateIndex' MACCommandPingSlotInfoReq: type: object properties: period: $ref: '#/definitions/v3PingSlotPeriod' MACCommandRejoinParamSetupAns: type: object properties: max_time_exponent_ack: type: boolean MACCommandRejoinParamSetupReq: type: object properties: max_count_exponent: $ref: '#/definitions/v3RejoinCountExponent' description: Exponent e that configures the rejoin counter = 2^(e+4) messages. max_time_exponent: $ref: '#/definitions/v3RejoinTimeExponent' description: Exponent e that configures the rejoin timer = 2^(e+10) seconds. MACCommandRekeyConf: type: object properties: minor_version: $ref: '#/definitions/v3Minor' MACCommandRekeyInd: type: object properties: minor_version: $ref: '#/definitions/v3Minor' MACCommandRelayConfAns: type: object properties: second_channel_frequency_ack: type: boolean second_channel_ack_offset_ack: type: boolean second_channel_data_rate_index_ack: type: boolean second_channel_index_ack: type: boolean default_channel_index_ack: type: boolean cad_periodicity_ack: type: boolean MACCommandRelayConfReq: type: object properties: configuration: $ref: '#/definitions/MACCommandRelayConfReqConfiguration' MACCommandRelayConfReqConfiguration: type: object properties: second_channel: $ref: '#/definitions/v3RelaySecondChannel' default_channel_index: type: integer format: int64 cad_periodicity: $ref: '#/definitions/v3RelayCADPeriodicity' MACCommandRelayConfigureFwdLimitAns: type: object MACCommandRelayConfigureFwdLimitReq: type: object properties: reset_limit_counter: $ref: '#/definitions/v3RelayResetLimitCounter' join_request_limits: $ref: '#/definitions/v3RelayForwardLimits' notify_limits: $ref: '#/definitions/v3RelayForwardLimits' global_uplink_limits: $ref: '#/definitions/v3RelayForwardLimits' overall_limits: $ref: '#/definitions/v3RelayForwardLimits' MACCommandRelayCtrlUplinkListAns: type: object properties: rule_index_ack: type: boolean w_f_cnt: type: integer format: int64 MACCommandRelayCtrlUplinkListReq: type: object properties: rule_index: type: integer format: int64 action: $ref: '#/definitions/v3RelayCtrlUplinkListAction' MACCommandRelayEndDeviceConfAns: type: object properties: second_channel_frequency_ack: type: boolean second_channel_data_rate_index_ack: type: boolean second_channel_index_ack: type: boolean backoff_ack: type: boolean MACCommandRelayEndDeviceConfReq: type: object properties: configuration: $ref: '#/definitions/MACCommandRelayEndDeviceConfReqConfiguration' MACCommandRelayEndDeviceConfReqConfiguration: type: object properties: always: $ref: '#/definitions/v3RelayEndDeviceAlwaysMode' dynamic: $ref: '#/definitions/v3RelayEndDeviceDynamicMode' end_device_controlled: $ref: '#/definitions/v3RelayEndDeviceControlledMode' backoff: type: integer format: int64 second_channel: $ref: '#/definitions/v3RelaySecondChannel' serving_device_id: type: string MACCommandRelayNotifyNewEndDeviceReq: type: object properties: dev_addr: type: string format: string example: 2600ABCD snr: type: integer format: int32 rssi: type: integer format: int32 MACCommandRelayUpdateUplinkListAns: type: object MACCommandRelayUpdateUplinkListReq: type: object properties: rule_index: type: integer format: int64 forward_limits: $ref: '#/definitions/v3RelayUplinkForwardLimits' dev_addr: type: string format: string example: 2600ABCD w_f_cnt: type: integer format: int64 root_wor_s_key: type: string format: string example: 0123456789ABCDEF0123456789ABCDEF device_id: type: string session_key_id: type: string format: byte MACCommandResetConf: type: object properties: minor_version: $ref: '#/definitions/v3Minor' MACCommandResetInd: type: object properties: minor_version: $ref: '#/definitions/v3Minor' MACCommandRxParamSetupAns: type: object properties: rx2_data_rate_index_ack: type: boolean rx1_data_rate_offset_ack: type: boolean rx2_frequency_ack: type: boolean MACCommandRxParamSetupReq: type: object properties: rx2_data_rate_index: $ref: '#/definitions/v3DataRateIndex' rx1_data_rate_offset: $ref: '#/definitions/v3DataRateOffset' rx2_frequency: type: string format: uint64 description: Rx2 frequency (Hz). MACCommandRxTimingSetupReq: type: object properties: delay: $ref: '#/definitions/v3RxDelay' MACCommandTxParamSetupReq: type: object properties: max_eirp_index: $ref: '#/definitions/v3DeviceEIRP' title: 'Indicates the maximum EIRP value in dBm, indexed by the following vector: [ 8 10 12 13 14 16 18 20 21 24 26 27 29 30 33 36 ]' uplink_dwell_time: type: boolean downlink_dwell_time: type: boolean MACStateDataRateRange: type: object properties: min_data_rate_index: $ref: '#/definitions/v3DataRateIndex' max_data_rate_index: $ref: '#/definitions/v3DataRateIndex' MACStateDataRateRanges: type: object properties: ranges: type: array items: type: object $ref: '#/definitions/MACStateDataRateRange' MACStateDownlinkMessageMessage: type: object properties: m_hdr: $ref: '#/definitions/DownlinkMessageMessageMHDR' mac_payload: $ref: '#/definitions/DownlinkMessageMessageMACPayload' MACStateJoinAccept: type: object properties: payload: type: string format: byte description: Payload of the join-accept received from Join Server. request: $ref: '#/definitions/v3MACStateJoinRequest' keys: $ref: '#/definitions/v3SessionKeys' description: Network session keys associated with the join. correlation_ids: type: array items: type: string dev_addr: type: string format: string example: 2600ABCD net_id: type: string format: string example: '000013' MACStateUplinkMessageRxMetadata: type: object properties: gateway_ids: $ref: '#/definitions/lorawanv3GatewayIdentifiers' channel_rssi: type: number format: float snr: type: number format: float downlink_path_constraint: $ref: '#/definitions/v3DownlinkPathConstraint' uplink_token: type: string format: byte packet_broker: $ref: '#/definitions/UplinkMessageRxMetadataPacketBrokerMetadata' relay: $ref: '#/definitions/UplinkMessageRxMetadataRelayMetadata' MACStateUplinkMessageTxSettings: type: object properties: data_rate: $ref: '#/definitions/v3DataRate' NotificationServiceUpdateStatusBody: type: object properties: receiver_ids: type: object properties: email: type: string description: Secondary identifier, which can only be used in specific requests. description: The IDs of the receiving user. title: The IDs of the receiving user. ids: type: array items: type: string description: The IDs of the notifications to update the status of. status: $ref: '#/definitions/v3NotificationStatus' description: The status to set on the notifications. 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:;base64,`.' UplinkMessageRxMetadataPacketBrokerMetadata: type: object UplinkMessageRxMetadataRelayMetadata: type: object 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' 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. UserConsolePreferencesTutorials: type: object properties: seen: type: array items: $ref: '#/definitions/v3Tutorial' UserRegistrationAdminApproval: type: object properties: required: type: boolean UserRegistrationPasswordRequirements: type: object properties: min_length: type: integer format: int64 max_length: type: integer format: int64 min_uppercase: type: integer format: int64 min_digits: type: integer format: int64 min_special: type: integer format: int64 UserRegistryUpdatePasswordBody: type: object properties: user_ids: type: object properties: email: type: string description: Secondary identifier, which can only be used in specific requests. new: type: string old: type: string revoke_all_access: type: boolean description: Revoke active sessions and access tokens of user if true. To be used if credentials are suspected to be compromised. googlerpcStatus: type: object properties: code: type: integer format: int32 message: type: string details: type: array items: type: object $ref: '#/definitions/protobufAny' lorawanv3BoolValue: type: object properties: value: type: boolean lorawanv3ContactInfoValidation: type: object properties: id: type: string token: type: string entity: $ref: '#/definitions/v3EntityIdentifiers' contact_info: type: array items: type: object $ref: '#/definitions/v3ContactInfo' created_at: type: string format: date-time expires_at: type: string format: date-time updated_at: type: string format: date-time lorawanv3GatewayIdentifiers: type: object properties: gateway_id: type: string eui: type: string format: string example: 70B3D57ED000ABCD description: Secondary identifier, which can only be used in specific requests. lorawanv3Invitation: type: object properties: email: type: string token: type: string expires_at: type: string format: date-time created_at: type: string format: date-time updated_at: type: string format: date-time accepted_at: type: string format: date-time accepted_by: $ref: '#/definitions/v3UserIdentifiers' lorawanv3Location: type: object properties: latitude: type: number format: double description: The North–South position (degrees; -90 to +90), where 0 is the equator, North pole is positive, South pole is negative. longitude: type: number format: double description: The East-West position (degrees; -180 to +180), where 0 is the Prime Meridian (Greenwich), East is positive , West is negative. altitude: type: integer format: int32 description: The altitude (meters), where 0 is the mean sea level. accuracy: type: integer format: int32 description: The accuracy of the location (meters). source: $ref: '#/definitions/v3LocationSource' description: Source of the location information. lorawanv3MACPayload: type: object properties: f_hdr: $ref: '#/definitions/v3FHDR' f_port: type: integer format: int64 frm_payload: type: string format: byte decoded_payload: type: object full_f_cnt: type: integer format: int64 description: Full 32-bit FCnt value. Used internally by Network Server. lorawanv3MHDR: type: object properties: m_type: $ref: '#/definitions/v3MType' major: $ref: '#/definitions/v3Major' lorawanv3Message: type: object properties: m_hdr: $ref: '#/definitions/lorawanv3MHDR' mic: type: string format: byte mac_payload: $ref: '#/definitions/lorawanv3MACPayload' join_request_payload: $ref: '#/definitions/v3JoinRequestPayload' join_accept_payload: $ref: '#/definitions/v3JoinAcceptPayload' rejoin_request_payload: $ref: '#/definitions/v3RejoinRequestPayload' title: Message represents a LoRaWAN message lorawanv3RelayParameters: type: object properties: serving: $ref: '#/definitions/v3ServingRelayParameters' description: Parameters related to a relay which is serving end devices. served: $ref: '#/definitions/v3ServedRelayParameters' description: Parameters related to an end device served by a relay. description: 'RelayParameters represent the parameters of a relay. This is used internally by the Network Server.' 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\n\ expect 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\n\ Example 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\": ,\n \"lastName\": \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 }" v3ADRAckDelayExponent: type: string enum: - ADR_ACK_DELAY_1 - ADR_ACK_DELAY_2 - ADR_ACK_DELAY_4 - ADR_ACK_DELAY_8 - ADR_ACK_DELAY_16 - ADR_ACK_DELAY_32 - ADR_ACK_DELAY_64 - ADR_ACK_DELAY_128 - ADR_ACK_DELAY_256 - ADR_ACK_DELAY_512 - ADR_ACK_DELAY_1024 - ADR_ACK_DELAY_2048 - ADR_ACK_DELAY_4096 - ADR_ACK_DELAY_8192 - ADR_ACK_DELAY_16384 - ADR_ACK_DELAY_32768 default: ADR_ACK_DELAY_1 v3ADRAckDelayExponentValue: type: object properties: value: $ref: '#/definitions/v3ADRAckDelayExponent' v3ADRAckLimitExponent: type: string enum: - ADR_ACK_LIMIT_1 - ADR_ACK_LIMIT_2 - ADR_ACK_LIMIT_4 - ADR_ACK_LIMIT_8 - ADR_ACK_LIMIT_16 - ADR_ACK_LIMIT_32 - ADR_ACK_LIMIT_64 - ADR_ACK_LIMIT_128 - ADR_ACK_LIMIT_256 - ADR_ACK_LIMIT_512 - ADR_ACK_LIMIT_1024 - ADR_ACK_LIMIT_2048 - ADR_ACK_LIMIT_4096 - ADR_ACK_LIMIT_8192 - ADR_ACK_LIMIT_16384 - ADR_ACK_LIMIT_32768 default: ADR_ACK_LIMIT_1 v3ADRAckLimitExponentValue: type: object properties: value: $ref: '#/definitions/v3ADRAckLimitExponent' v3ADRSettings: type: object properties: static: $ref: '#/definitions/ADRSettingsStaticMode' dynamic: $ref: '#/definitions/ADRSettingsDynamicMode' disabled: $ref: '#/definitions/v3ADRSettingsDisabledMode' description: Adaptive Data Rate settings. v3ADRSettingsDisabledMode: type: object description: 'Configuration options for cases in which ADR is to be disabled completely.' v3APIKey: type: object properties: id: type: string description: 'Immutable and unique public identifier for the API key. Generated by the Access Server.' key: type: string description: 'Immutable and unique secret value of the API key. Generated by the Access Server.' name: type: string description: User-defined (friendly) name for the API key. rights: type: array items: $ref: '#/definitions/v3Right' description: Rights that are granted to this API key. created_at: type: string format: date-time updated_at: type: string format: date-time expires_at: type: string format: date-time v3APIKeys: type: object properties: api_keys: type: array items: type: object $ref: '#/definitions/v3APIKey' v3AggregatedDutyCycle: type: string enum: - DUTY_CYCLE_1 - DUTY_CYCLE_2 - DUTY_CYCLE_4 - DUTY_CYCLE_8 - DUTY_CYCLE_16 - DUTY_CYCLE_32 - DUTY_CYCLE_64 - DUTY_CYCLE_128 - DUTY_CYCLE_256 - DUTY_CYCLE_512 - DUTY_CYCLE_1024 - DUTY_CYCLE_2048 - DUTY_CYCLE_4096 - DUTY_CYCLE_8192 - DUTY_CYCLE_16384 - DUTY_CYCLE_32768 default: DUTY_CYCLE_1 description: " - DUTY_CYCLE_1: 100%.\n - DUTY_CYCLE_2: 50%.\n - DUTY_CYCLE_4: 25%.\n - DUTY_CYCLE_8: 12.5%.\n - DUTY_CYCLE_16:\ \ 6.25%.\n - DUTY_CYCLE_32: 3.125%.\n - DUTY_CYCLE_64: 1.5625%.\n - DUTY_CYCLE_128: Roughly 0.781%.\n - DUTY_CYCLE_256:\ \ Roughly 0.390%.\n - DUTY_CYCLE_512: Roughly 0.195%.\n - DUTY_CYCLE_1024: Roughly 0.098%.\n - DUTY_CYCLE_2048: Roughly\ \ 0.049%.\n - DUTY_CYCLE_4096: Roughly 0.024%.\n - DUTY_CYCLE_8192: Roughly 0.012%.\n - DUTY_CYCLE_16384: Roughly 0.006%.\n\ \ - DUTY_CYCLE_32768: Roughly 0.003%." v3AggregatedDutyCycleValue: type: object properties: value: $ref: '#/definitions/v3AggregatedDutyCycle' v3Application: type: object properties: ids: $ref: '#/definitions/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: '#/definitions/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: '#/definitions/v3OrganizationOrUserIdentifiers' technical_contact: $ref: '#/definitions/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. v3ApplicationDownlink: type: object properties: session_key_id: type: string format: byte description: Join Server issued identifier for the session keys used by this downlink. f_port: type: integer format: int64 f_cnt: type: integer format: int64 frm_payload: type: string format: byte description: 'The frame payload of the downlink message. The payload is encrypted if the skip_payload_crypto field of the EndDevice is true.' decoded_payload: type: object description: 'The decoded frame payload of the downlink message. When scheduling downlink with a message processor configured for the end device (see formatters) or application (see default_formatters), this fields acts as input for the downlink encoder, and the output is set to frm_payload. When reading downlink (listing the queue, downlink message events, etc), this fields acts as output of the downlink decoder, and the input is frm_payload.' decoded_payload_warnings: type: array items: type: string description: Warnings generated by the message processor while encoding frm_payload (scheduling downlink) or decoding the frm_payload (reading downlink). confirmed: type: boolean class_b_c: $ref: '#/definitions/ApplicationDownlinkClassBC' description: 'Optional gateway and timing information for class B and C. If set, this downlink message will only be transmitted as class B or C downlink. If not set, this downlink message may be transmitted in class A, B and C.' priority: $ref: '#/definitions/v3TxSchedulePriority' description: Priority for scheduling the downlink message. correlation_ids: type: array items: type: string confirmed_retry: $ref: '#/definitions/ApplicationDownlinkConfirmedRetry' locations: type: object additionalProperties: $ref: '#/definitions/lorawanv3Location' description: End device location metadata, set by the Application Server while handling the message. version_ids: $ref: '#/definitions/v3EndDeviceVersionIdentifiers' description: End device version identifiers, set by the Application Server while handling the message. network_ids: $ref: '#/definitions/v3NetworkIdentifiers' description: Network identifiers, set by the Network Server that handles the message. attributes: type: object additionalProperties: type: string description: Attributes for devices, set by the Application Server while handling the message. v3ApplicationIdentifiers: type: object properties: application_id: type: string v3Applications: type: object properties: applications: type: array items: type: object $ref: '#/definitions/v3Application' v3AuthInfoResponse: type: object properties: api_key: $ref: '#/definitions/AuthInfoResponseAPIKeyAccess' oauth_access_token: $ref: '#/definitions/v3OAuthAccessToken' user_session: $ref: '#/definitions/v3UserSession' description: 'Warning: A user authorized by session cookie will be granted all current and future rights. When using this auth type, the respective handlers need to ensure thorough CSRF and CORS protection using appropriate middleware.' gateway_token: $ref: '#/definitions/v3AuthInfoResponseGatewayToken' universal_rights: $ref: '#/definitions/v3Rights' is_admin: type: boolean v3AuthInfoResponseGatewayToken: type: object properties: gateway_ids: $ref: '#/definitions/lorawanv3GatewayIdentifiers' rights: type: array items: $ref: '#/definitions/v3Right' v3BandDescription: type: object properties: id: type: string beacon: $ref: '#/definitions/BandDescriptionBeacon' ping_slot_frequencies: type: array items: type: string format: uint64 max_uplink_channels: type: integer format: int64 uplink_channels: type: array items: type: object $ref: '#/definitions/v3BandDescriptionChannel' max_downlink_channels: type: integer format: int64 downlink_channels: type: array items: type: object $ref: '#/definitions/v3BandDescriptionChannel' sub_bands: type: array items: type: object $ref: '#/definitions/BandDescriptionSubBandParameters' data_rates: type: object additionalProperties: $ref: '#/definitions/BandDescriptionBandDataRate' freq_multiplier: type: string format: uint64 implements_cf_list: type: boolean cf_list_type: $ref: '#/definitions/v3CFListType' receive_delay_1: type: string receive_delay_2: type: string join_accept_delay_1: type: string join_accept_delay_2: type: string max_fcnt_gap: type: string format: uint64 supports_dynamic_adr: type: boolean adr_ack_limit: $ref: '#/definitions/v3ADRAckLimitExponent' min_retransmit_timeout: type: string max_retransmit_timeout: type: string tx_offset: type: array items: type: number format: float max_adr_data_rate_index: $ref: '#/definitions/v3DataRateIndex' relay_forward_delay: type: string relay_receive_delay: type: string tx_param_setup_req_support: type: boolean default_max_eirp: type: number format: float default_rx2_parameters: $ref: '#/definitions/BandDescriptionRx2Parameters' boot_dwell_time: $ref: '#/definitions/BandDescriptionDwellTime' relay: $ref: '#/definitions/v3BandDescriptionRelayParameters' v3BandDescriptionChannel: type: object properties: frequency: type: string format: uint64 min_data_rate: $ref: '#/definitions/v3DataRateIndex' max_data_rate: $ref: '#/definitions/v3DataRateIndex' v3BandDescriptionRelayParameters: type: object properties: wor_channels: type: array items: type: object $ref: '#/definitions/BandDescriptionRelayParametersRelayWORChannel' v3CFList: type: object properties: type: $ref: '#/definitions/v3CFListType' freq: type: array items: type: integer format: int64 description: 'Frequencies to be broadcasted, in hecto-Hz. These values are broadcasted as 24 bits unsigned integers. This field should not contain default values.' ch_masks: type: array items: type: boolean description: 'ChMasks controlling the channels to be used. Length of this field must be equal to the amount of uplink channels defined by the selected frequency plan.' v3CFListType: type: string enum: - FREQUENCIES - CHANNEL_MASKS default: FREQUENCIES v3Class: type: string enum: - CLASS_A - CLASS_B - CLASS_C default: CLASS_A v3ClassBCGatewayIdentifiers: type: object properties: gateway_ids: $ref: '#/definitions/lorawanv3GatewayIdentifiers' antenna_index: type: integer format: int64 group_index: type: integer format: int64 v3Client: type: object properties: ids: $ref: '#/definitions/v3ClientIdentifiers' description: The identifiers of the OAuth client. These are public and can be seen by any authenticated user in the network. created_at: type: string format: date-time description: When the OAuth client 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 OAuth client 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 OAuth client 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 OAuth client. This information is public and can be seen by any authenticated user in the network. description: type: string description: A description for the OAuth client. 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 client. Typically used for organizing clients or for storing integration-specific data. contact_info: type: array items: type: object $ref: '#/definitions/v3ContactInfo' description: 'Contact information for this client. Typically used to indicate who to contact with technical/security questions about the application. This information is public and can be seen by any authenticated user in the network. This field is deprecated. Use administrative_contact and technical_contact instead.' administrative_contact: $ref: '#/definitions/v3OrganizationOrUserIdentifiers' technical_contact: $ref: '#/definitions/v3OrganizationOrUserIdentifiers' secret: type: string description: The client secret is only visible to collaborators of the client. redirect_uris: type: array items: type: string description: 'The allowed redirect URIs against which authorization requests are checked. If the authorization request does not pass a redirect URI, the first one from this list is taken. This information is public and can be seen by any authenticated user in the network.' logout_redirect_uris: type: array items: type: string description: 'The allowed logout redirect URIs against which client initiated logout requests are checked. If the authorization request does not pass a redirect URI, the first one from this list is taken. This information is public and can be seen by any authenticated user in the network.' state: $ref: '#/definitions/v3State' description: 'The reviewing state of the client. This information is public and can be seen by any authenticated user in the network. This field can only be modified by admins. If state_description is not updated when updating state, state_description is cleared.' 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`.' skip_authorization: type: boolean description: 'If set, the authorization page will be skipped. This information is public and can be seen by any authenticated user in the network. This field can only be modified by admins.' endorsed: type: boolean description: 'If set, the authorization page will show endorsement. This information is public and can be seen by any authenticated user in the network. This field can only be modified by admins.' grants: type: array items: $ref: '#/definitions/v3GrantType' description: 'OAuth flows that can be used for the client to get a token. This information is public and can be seen by any authenticated user in the network. After a client is created, this field can only be modified by admins.' rights: type: array items: $ref: '#/definitions/v3Right' description: 'Rights denotes what rights the client will have access to. This information is public and can be seen by any authenticated user in the network. Users that previously authorized this client will have to re-authorize the client after rights are added to this list.' description: An OAuth client on the network. v3ClientAccessSetCollaboratorBody: type: object properties: client_ids: type: object collaborator: $ref: '#/definitions/v3Collaborator' v3ClientIdentifiers: type: object properties: client_id: type: string v3ClientRegistryCreateBody: type: object properties: client: $ref: '#/definitions/v3Client' collaborator: type: object properties: organization_ids: type: object user_ids: $ref: '#/definitions/v3UserIdentifiers' description: Collaborator to grant all rights on the newly created client. title: Collaborator to grant all rights on the newly created client. v3ClientRegistryUpdateBody: type: object properties: client: type: object properties: ids: type: object description: The identifiers of the OAuth client. These are public and can be seen by any authenticated user in the network. title: The identifiers of the OAuth client. These are public and can be seen by any authenticated user in the network. created_at: type: string format: date-time description: When the OAuth client 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 OAuth client 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 OAuth client 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 OAuth client. This information is public and can be seen by any authenticated user in the network. description: type: string description: A description for the OAuth client. 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 client. Typically used for organizing clients or for storing integration-specific data. contact_info: type: array items: type: object $ref: '#/definitions/v3ContactInfo' description: 'Contact information for this client. Typically used to indicate who to contact with technical/security questions about the application. This information is public and can be seen by any authenticated user in the network. This field is deprecated. Use administrative_contact and technical_contact instead.' administrative_contact: $ref: '#/definitions/v3OrganizationOrUserIdentifiers' technical_contact: $ref: '#/definitions/v3OrganizationOrUserIdentifiers' secret: type: string description: The client secret is only visible to collaborators of the client. redirect_uris: type: array items: type: string description: 'The allowed redirect URIs against which authorization requests are checked. If the authorization request does not pass a redirect URI, the first one from this list is taken. This information is public and can be seen by any authenticated user in the network.' logout_redirect_uris: type: array items: type: string description: 'The allowed logout redirect URIs against which client initiated logout requests are checked. If the authorization request does not pass a redirect URI, the first one from this list is taken. This information is public and can be seen by any authenticated user in the network.' state: $ref: '#/definitions/v3State' description: 'The reviewing state of the client. This information is public and can be seen by any authenticated user in the network. This field can only be modified by admins. If state_description is not updated when updating state, state_description is cleared.' 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`.' skip_authorization: type: boolean description: 'If set, the authorization page will be skipped. This information is public and can be seen by any authenticated user in the network. This field can only be modified by admins.' endorsed: type: boolean description: 'If set, the authorization page will show endorsement. This information is public and can be seen by any authenticated user in the network. This field can only be modified by admins.' grants: type: array items: $ref: '#/definitions/v3GrantType' description: 'OAuth flows that can be used for the client to get a token. This information is public and can be seen by any authenticated user in the network. After a client is created, this field can only be modified by admins.' rights: type: array items: $ref: '#/definitions/v3Right' description: 'Rights denotes what rights the client will have access to. This information is public and can be seen by any authenticated user in the network. Users that previously authorized this client will have to re-authorize the client after rights are added to this list.' description: An OAuth client on the network. field_mask: type: string description: The names of the client fields that should be updated. v3Clients: type: object properties: clients: type: array items: type: object $ref: '#/definitions/v3Client' v3Collaborator: type: object properties: ids: $ref: '#/definitions/v3OrganizationOrUserIdentifiers' rights: type: array items: $ref: '#/definitions/v3Right' v3Collaborators: type: object properties: collaborators: type: array items: type: object $ref: '#/definitions/v3Collaborator' 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." v3ContactInfo: type: object properties: contact_type: $ref: '#/definitions/v3ContactType' contact_method: $ref: '#/definitions/v3ContactMethod' value: type: string public: type: boolean validated_at: type: string format: date-time 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 v3CreateLoginTokenResponse: type: object properties: token: type: string description: 'The token that can be used for logging in as the user. This field is only present if a token was created by an admin user for a non-admin user.' 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). v3DLSettings: type: object properties: rx1_dr_offset: $ref: '#/definitions/v3DataRateOffset' rx2_dr: $ref: '#/definitions/v3DataRateIndex' opt_neg: type: boolean description: OptNeg is set if Network Server implements LoRaWAN 1.1 or greater. 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. v3DataRate: type: object properties: lora: $ref: '#/definitions/v3LoRaDataRate' fsk: $ref: '#/definitions/v3FSKDataRate' lrfhss: $ref: '#/definitions/v3LRFHSSDataRate' v3DataRateIndex: type: string enum: - DATA_RATE_0 - DATA_RATE_1 - DATA_RATE_2 - DATA_RATE_3 - DATA_RATE_4 - DATA_RATE_5 - DATA_RATE_6 - DATA_RATE_7 - DATA_RATE_8 - DATA_RATE_9 - DATA_RATE_10 - DATA_RATE_11 - DATA_RATE_12 - DATA_RATE_13 - DATA_RATE_14 - DATA_RATE_15 default: DATA_RATE_0 v3DataRateIndexValue: type: object properties: value: $ref: '#/definitions/v3DataRateIndex' v3DataRateOffset: type: string enum: - DATA_RATE_OFFSET_0 - DATA_RATE_OFFSET_1 - DATA_RATE_OFFSET_2 - DATA_RATE_OFFSET_3 - DATA_RATE_OFFSET_4 - DATA_RATE_OFFSET_5 - DATA_RATE_OFFSET_6 - DATA_RATE_OFFSET_7 default: DATA_RATE_OFFSET_0 v3DataRateOffsetValue: type: object properties: value: $ref: '#/definitions/v3DataRateOffset' v3DeviceEIRP: type: string enum: - DEVICE_EIRP_8 - DEVICE_EIRP_10 - DEVICE_EIRP_12 - DEVICE_EIRP_13 - DEVICE_EIRP_14 - DEVICE_EIRP_16 - DEVICE_EIRP_18 - DEVICE_EIRP_20 - DEVICE_EIRP_21 - DEVICE_EIRP_24 - DEVICE_EIRP_26 - DEVICE_EIRP_27 - DEVICE_EIRP_29 - DEVICE_EIRP_30 - DEVICE_EIRP_33 - DEVICE_EIRP_36 default: DEVICE_EIRP_8 description: " - DEVICE_EIRP_8: 8 dBm.\n - DEVICE_EIRP_10: 10 dBm.\n - DEVICE_EIRP_12: 12 dBm.\n - DEVICE_EIRP_13: 13\ \ dBm.\n - DEVICE_EIRP_14: 14 dBm.\n - DEVICE_EIRP_16: 16 dBm.\n - DEVICE_EIRP_18: 18 dBm.\n - DEVICE_EIRP_20: 20 dBm.\n\ \ - DEVICE_EIRP_21: 21 dBm.\n - DEVICE_EIRP_24: 24 dBm.\n - DEVICE_EIRP_26: 26 dBm.\n - DEVICE_EIRP_27: 27 dBm.\n -\ \ DEVICE_EIRP_29: 29 dBm.\n - DEVICE_EIRP_30: 30 dBm.\n - DEVICE_EIRP_33: 33 dBm.\n - DEVICE_EIRP_36: 36 dBm." v3DeviceEIRPValue: type: object properties: value: $ref: '#/definitions/v3DeviceEIRP' v3DownlinkPathConstraint: type: string enum: - DOWNLINK_PATH_CONSTRAINT_NONE - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER - DOWNLINK_PATH_CONSTRAINT_NEVER default: DOWNLINK_PATH_CONSTRAINT_NONE description: " - DOWNLINK_PATH_CONSTRAINT_NONE: Indicates that the gateway can be selected for downlink without constraints\ \ by the Network Server.\n - DOWNLINK_PATH_CONSTRAINT_PREFER_OTHER: Indicates that the gateway can be selected for downlink\ \ only if no other or better gateway can be selected.\n - DOWNLINK_PATH_CONSTRAINT_NEVER: Indicates that this gateway\ \ will never be selected for downlink, even if that results in no available downlink path." 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. v3EmailValidation: type: object properties: id: type: string token: type: string address: type: string created_at: type: string format: date-time expires_at: type: string format: date-time updated_at: type: string format: date-time v3EndDevice: type: object properties: ids: $ref: '#/definitions/v3EndDeviceIdentifiers' created_at: type: string format: date-time updated_at: type: string format: date-time name: type: string description: Friendly name of the device. Stored in Entity Registry. description: type: string description: Description of the device. Stored in Entity Registry. attributes: type: object additionalProperties: type: string description: Key-value attributes for this end device. Typically used for organizing end devices or for storing integration-specific data. Stored in Entity Registry. version_ids: $ref: '#/definitions/v3EndDeviceVersionIdentifiers' description: Version Identifiers. Stored in Entity Registry, Network Server and Application Server. service_profile_id: type: string description: Default service profile. Stored in Entity Registry. network_server_address: type: string description: 'The address of the Network Server where this device is supposed to be registered. Stored in Entity Registry and Join Server. 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.' network_server_kek_label: type: string description: 'The KEK label of the Network Server to use for wrapping network session keys. Stored in Join Server.' application_server_address: type: string description: 'The address of the Application Server where this device is supposed to be registered. Stored in Entity Registry and Join Server. 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_kek_label: type: string description: 'The KEK label of the Application Server to use for wrapping the application session key. Stored in Join Server.' application_server_id: type: string description: 'The AS-ID of the Application Server to use. Stored in Join Server.' join_server_address: type: string description: 'The address of the Join Server where this device is supposed to 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.' locations: type: object additionalProperties: $ref: '#/definitions/lorawanv3Location' description: Location of the device. Stored in Entity Registry. picture: $ref: '#/definitions/v3Picture' description: Stored in Entity Registry. supports_class_b: type: boolean description: 'Whether the device supports class B. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' supports_class_c: type: boolean description: 'Whether the device supports class C. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' lorawan_version: $ref: '#/definitions/v3MACVersion' description: 'LoRaWAN MAC version. Stored in Network Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' lorawan_phy_version: $ref: '#/definitions/v3PHYVersion' description: 'LoRaWAN PHY version. Stored in Network Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' frequency_plan_id: type: string description: 'ID of the frequency plan used by this device. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' min_frequency: type: string format: uint64 description: 'Minimum frequency the device is capable of using (Hz). Stored in Network Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' max_frequency: type: string format: uint64 description: 'Maximum frequency the device is capable of using (Hz). Stored in Network Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' supports_join: type: boolean description: 'The device supports join (it''s OTAA). Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' resets_join_nonces: type: boolean description: 'Whether the device resets the join and dev nonces (not LoRaWAN compliant). Stored in Join Server. Copied on creation from template identified by version_ids, if any or from the home Network Server device profile, if any.' root_keys: $ref: '#/definitions/v3RootKeys' description: Device root keys. Stored in Join Server. net_id: type: string format: string example: '000013' description: Home NetID. Stored in Join Server. mac_settings: $ref: '#/definitions/v3MACSettings' description: 'Settings for how the Network Server handles MAC layer for this device. Stored in Network Server. Mutually exclusive with MAC settings profile.' mac_state: $ref: '#/definitions/v3MACState' description: MAC state of the device. Stored in Network Server. pending_mac_state: $ref: '#/definitions/v3MACState' description: Pending MAC state of the device. Stored in Network Server. session: $ref: '#/definitions/v3Session' description: Current session of the device. Stored in Network Server and Application Server. pending_session: $ref: '#/definitions/v3Session' description: Pending session. Stored in Network Server and Application Server until RekeyInd is received. last_dev_nonce: type: integer format: int64 description: 'Last DevNonce used. This field is only used for devices using LoRaWAN version 1.1 and later. Stored in Join Server.' used_dev_nonces: type: array items: type: integer format: int64 description: 'Used DevNonces sorted in ascending order. This field is only used for devices using LoRaWAN versions preceding 1.1. Stored in Join Server.' last_join_nonce: type: integer format: int64 description: 'Last JoinNonce/AppNonce(for devices using LoRaWAN versions preceding 1.1) used. Stored in Join Server.' last_rj_count_0: type: integer format: int64 description: 'Last Rejoin counter value used (type 0/2). Stored in Join Server.' last_rj_count_1: type: integer format: int64 description: 'Last Rejoin counter value used (type 1). Stored in Join Server.' last_dev_status_received_at: type: string format: date-time description: 'Time when last DevStatus MAC command was received. Stored in Network Server.' power_state: $ref: '#/definitions/v3PowerState' description: 'The power state of the device; whether it is battery-powered or connected to an external power source. Received via the DevStatus MAC command at status_received_at. Stored in Network Server.' battery_percentage: type: number format: float description: 'Latest-known battery percentage of the device. Received via the DevStatus MAC command at last_dev_status_received_at or earlier. Stored in Network Server.' downlink_margin: type: integer format: int32 description: 'Demodulation signal-to-noise ratio (dB). Received via the DevStatus MAC command at last_dev_status_received_at. Stored in Network Server.' queued_application_downlinks: type: array items: type: object $ref: '#/definitions/v3ApplicationDownlink' description: 'Queued Application downlink messages. Stored in Application Server, which sets them on the Network Server. This field is deprecated and is always set equal to session.queued_application_downlinks.' formatters: $ref: '#/definitions/v3MessagePayloadFormatters' description: 'The payload formatters for this end device. Stored in Application Server. Copied on creation from template identified by version_ids.' provisioner_id: type: string description: ID of the provisioner. Stored in Join Server. provisioning_data: type: object description: Vendor-specific provisioning data. Stored in Join Server. multicast: type: boolean description: Indicates whether this device represents a multicast group. claim_authentication_code: $ref: '#/definitions/v3EndDeviceAuthenticationCode' description: 'Authentication code to claim ownership of the end device. From TTS v3.21.0 this field is stored in the Identity Server. For TTS versions < 3.21.0, this field is stored in the Join Server. The value stored on the Identity Server takes precedence.' skip_payload_crypto: type: boolean description: 'Skip decryption of uplink payloads and encryption of downlink payloads. This field is deprecated, use skip_payload_crypto_override instead.' skip_payload_crypto_override: type: boolean description: 'Skip decryption of uplink payloads and encryption of downlink payloads. This field overrides the application-level setting.' activated_at: type: string format: date-time description: 'Timestamp when the device has been activated. Stored in the Entity Registry. This field is set by the Application Server when an end device sends its first uplink. The Application Server will use the field in order to avoid repeated calls to the Entity Registry. The field cannot be unset once set.' last_seen_at: type: string format: date-time description: 'Timestamp when a device uplink has been last observed. This field is set by the Application Server and stored in the Identity Server.' serial_number: type: string lora_alliance_profile_ids: $ref: '#/definitions/v3LoRaAllianceProfileIdentifiers' mac_settings_profile_ids: $ref: '#/definitions/v3MACSettingsProfileIdentifiers' description: 'MAC settings profile identifiers. Mutually exclusive with MAC settings.' description: 'Defines an End Device registration and its state on the network. The persistence of the EndDevice is divided between the Network Server, Application Server and Join Server. SDKs are responsible for combining (if desired) the three.' v3EndDeviceAuthenticationCode: type: object properties: value: type: string valid_from: type: string format: date-time valid_to: type: string format: date-time description: Authentication code for end devices. v3EndDeviceIdentifiers: type: object properties: device_id: type: string application_ids: $ref: '#/definitions/v3ApplicationIdentifiers' dev_eui: type: string format: string example: 70B3D57ED000ABCD description: The LoRaWAN DevEUI. join_eui: type: string format: string example: 70B3D57ED000ABCD description: The LoRaWAN JoinEUI (AppEUI until LoRaWAN 1.0.3 end devices). dev_addr: type: string format: string example: 2600ABCD description: The LoRaWAN DevAddr. v3EndDeviceVersionIdentifiers: type: object properties: brand_id: type: string model_id: type: string hardware_version: type: string firmware_version: type: string band_id: type: string description: Identifies an end device model with version information. v3EndDevices: type: object properties: end_devices: type: array items: type: object $ref: '#/definitions/v3EndDevice' v3EntityIdentifiers: type: object properties: application_ids: $ref: '#/definitions/v3ApplicationIdentifiers' client_ids: $ref: '#/definitions/v3ClientIdentifiers' device_ids: $ref: '#/definitions/v3EndDeviceIdentifiers' gateway_ids: $ref: '#/definitions/lorawanv3GatewayIdentifiers' organization_ids: $ref: '#/definitions/v3OrganizationIdentifiers' user_ids: $ref: '#/definitions/v3UserIdentifiers' description: EntityIdentifiers contains one of the possible entity identifiers. v3FCtrl: type: object properties: adr: type: boolean adr_ack_req: type: boolean description: Only on uplink. ack: type: boolean f_pending: type: boolean description: Only on downlink. class_b: type: boolean description: Only on uplink. v3FHDR: type: object properties: dev_addr: type: string format: string example: 2600ABCD f_ctrl: $ref: '#/definitions/v3FCtrl' f_cnt: type: integer format: int64 f_opts: type: string format: byte v3FSKDataRate: type: object properties: bit_rate: type: integer format: int64 description: Bit rate (bps). v3FrequencyPlanDescription: type: object properties: id: type: string base_id: type: string description: The ID of the frequency that the current frequency plan is based on. name: type: string base_frequency: type: integer format: int64 title: Base frequency in MHz for hardware support (433, 470, 868 or 915) band_id: type: string v3FrequencyValue: type: object properties: value: type: string format: uint64 v3Gateway: type: object properties: ids: $ref: '#/definitions/lorawanv3GatewayIdentifiers' description: The identifiers of the gateway. These are public and can be seen by any authenticated user in the network. created_at: type: string format: date-time description: When the gateway 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 gateway 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 gateway 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 gateway. This information is public and can be seen by any authenticated user in the network. description: type: string description: A description for the gateway. 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 gateway. Typically used for organizing gateways or for storing integration-specific data. contact_info: type: array items: type: object $ref: '#/definitions/v3ContactInfo' description: 'Contact information for this gateway. Typically used to indicate who to contact with technical/security questions about the gateway. This field is deprecated. Use administrative_contact and technical_contact instead.' administrative_contact: $ref: '#/definitions/v3OrganizationOrUserIdentifiers' technical_contact: $ref: '#/definitions/v3OrganizationOrUserIdentifiers' version_ids: $ref: '#/definitions/v3GatewayVersionIdentifiers' gateway_server_address: type: string description: 'The address of the Gateway Server to connect to. This information is public and can be seen by any authenticated user in the network if status_public is true. The typical format of the address is "scheme://host:port". The scheme is optional. 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.' auto_update: type: boolean update_channel: type: string frequency_plan_id: type: string description: 'Frequency plan ID of the gateway. This information is public and can be seen by any authenticated user in the network. DEPRECATED: use frequency_plan_ids. This equals the first element of the frequency_plan_ids field.' frequency_plan_ids: type: array items: type: string description: 'Frequency plan IDs of the gateway. This information is public and can be seen by any authenticated user in the network. The first element equals the frequency_plan_id field.' antennas: type: array items: type: object $ref: '#/definitions/v3GatewayAntenna' description: Antennas of the gateway. Location information of the antennas is public and can be seen by any authenticated user in the network if location_public=true. status_public: type: boolean description: The status of this gateway may be publicly displayed. location_public: type: boolean description: The location of this gateway may be publicly displayed. schedule_downlink_late: type: boolean description: 'Enable server-side buffering of downlink messages. This is recommended for gateways using the Semtech UDP Packet Forwarder v2.x or older, as it does not feature a just-in-time queue. If enabled, the Gateway Server schedules the downlink message late to the gateway so that it does not overwrite previously scheduled downlink messages that have not been transmitted yet.' enforce_duty_cycle: type: boolean description: 'Enforcing gateway duty cycle is recommended for all gateways to respect spectrum regulations. Disable enforcing the duty cycle only in controlled research and development environments.' downlink_path_constraint: $ref: '#/definitions/v3DownlinkPathConstraint' schedule_anytime_delay: type: string description: Adjust the time that GS schedules class C messages in advance. This is useful for gateways that have a known high latency backhaul, like 3G and satellite. update_location_from_status: type: boolean description: Update the location of this gateway from status messages. This only works for gateways connecting with authentication; gateways connected over UDP are not supported. lbs_lns_secret: $ref: '#/definitions/v3Secret' description: 'The LoRa Basics Station LNS secret. This is either an auth token (such as an API Key) or a TLS private certificate. Requires the RIGHT_GATEWAY_READ_SECRETS for reading and RIGHT_GATEWAY_WRITE_SECRETS for updating this value.' claim_authentication_code: $ref: '#/definitions/v3GatewayClaimAuthenticationCode' description: 'The authentication code for gateway claiming. Requires the RIGHT_GATEWAY_READ_SECRETS for reading and RIGHT_GATEWAY_WRITE_SECRETS for updating this value. The entire field must be used in RPCs since sub-fields are validated wrt to each other. Direct selection/update of sub-fields only are not allowed. Use the top level field mask `claim_authentication_code` even when updating single fields.' target_cups_uri: type: string description: 'CUPS URI for LoRa Basics Station CUPS redirection. The CUPS Trust field will be automatically fetched from the cert chain presented by the target server.' target_cups_key: $ref: '#/definitions/v3Secret' description: 'CUPS Key for LoRa Basics Station CUPS redirection. If redirecting to another instance of TTS, use the CUPS API Key for the gateway on the target instance. Requires the RIGHT_GATEWAY_READ_SECRETS for reading and RIGHT_GATEWAY_WRITE_SECRETS for updating this value.' require_authenticated_connection: type: boolean description: Require an authenticated gateway connection. This prevents the gateway from using the UDP protocol and requires authentication when using other protocols. lrfhss: $ref: '#/definitions/GatewayLRFHSS' disable_packet_broker_forwarding: type: boolean description: Gateway is the message that defines a gateway on the network. v3GatewayAntenna: type: object properties: gain: type: number format: float description: Antenna gain relative to the gateway, in dBi. location: $ref: '#/definitions/lorawanv3Location' description: location is the antenna's location. attributes: type: object additionalProperties: type: string placement: $ref: '#/definitions/v3GatewayAntennaPlacement' description: GatewayAntenna is the message that defines a gateway antenna. v3GatewayAntennaPlacement: type: string enum: - PLACEMENT_UNKNOWN - INDOOR - OUTDOOR default: PLACEMENT_UNKNOWN v3GatewayClaimAuthenticationCode: type: object properties: secret: $ref: '#/definitions/v3Secret' valid_from: type: string format: date-time valid_to: type: string format: date-time description: Authentication code for claiming gateways. v3GatewayVersionIdentifiers: type: object properties: brand_id: type: string model_id: type: string hardware_version: type: string firmware_version: type: string runtime_version: type: string description: Identifies an end device model with version information. v3Gateways: type: object properties: gateways: type: array items: type: object $ref: '#/definitions/v3Gateway' v3GetCollaboratorResponse: type: object properties: ids: $ref: '#/definitions/v3OrganizationOrUserIdentifiers' rights: type: array items: $ref: '#/definitions/v3Right' v3GetIsConfigurationResponse: type: object properties: configuration: $ref: '#/definitions/v3IsConfiguration' v3GetPhyVersionsResponse: type: object properties: version_info: type: array items: type: object $ref: '#/definitions/GetPhyVersionsResponseVersionInfo' v3GrantType: type: string enum: - GRANT_AUTHORIZATION_CODE - GRANT_PASSWORD - GRANT_REFRESH_TOKEN default: GRANT_AUTHORIZATION_CODE description: "The OAuth2 flows an OAuth client can use to get an access token.\n\n - GRANT_AUTHORIZATION_CODE: Grant type\ \ used to exchange an authorization code for an access token.\n - GRANT_PASSWORD: Grant type used to exchange a user\ \ ID and password for an access token.\n - GRANT_REFRESH_TOKEN: Grant type used to exchange a refresh token for an access\ \ token." v3Invitations: type: object properties: invitations: type: array items: type: object $ref: '#/definitions/lorawanv3Invitation' v3IsConfiguration: type: object properties: user_registration: $ref: '#/definitions/IsConfigurationUserRegistration' profile_picture: $ref: '#/definitions/IsConfigurationProfilePicture' end_device_picture: $ref: '#/definitions/IsConfigurationEndDevicePicture' user_rights: $ref: '#/definitions/IsConfigurationUserRights' user_login: $ref: '#/definitions/IsConfigurationUserLogin' admin_rights: $ref: '#/definitions/IsConfigurationAdminRights' collaborator_rights: $ref: '#/definitions/IsConfigurationCollaboratorRights' v3JoinAcceptPayload: type: object properties: encrypted: type: string format: byte join_nonce: type: string format: string example: ABCDEF net_id: type: string format: string example: '000013' dev_addr: type: string format: string example: 2600ABCD dl_settings: $ref: '#/definitions/v3DLSettings' rx_delay: $ref: '#/definitions/v3RxDelay' cf_list: $ref: '#/definitions/v3CFList' v3JoinRequestPayload: type: object properties: join_eui: type: string format: string example: 70B3D57ED000ABCD dev_eui: type: string format: string example: 70B3D57ED000ABCD dev_nonce: type: string format: string example: ABCD v3KeyEnvelope: type: object properties: key: type: string format: string example: 0123456789ABCDEF0123456789ABCDEF description: The unencrypted AES key. kek_label: type: string description: The label of the RFC 3394 key-encryption-key (KEK) that was used to encrypt the key. encrypted_key: type: string format: byte v3LRFHSSDataRate: type: object properties: modulation_type: type: integer format: int64 operating_channel_width: type: integer format: int64 description: Operating Channel Width (Hz). coding_rate: type: string v3ListBandsResponse: type: object properties: descriptions: type: object additionalProperties: $ref: '#/definitions/ListBandsResponseVersionedBandDescription' v3ListFrequencyPlansResponse: type: object properties: frequency_plans: type: array items: type: object $ref: '#/definitions/v3FrequencyPlanDescription' v3ListNotificationsResponse: type: object properties: notifications: type: array items: type: object $ref: '#/definitions/v3Notification' v3LoRaAllianceProfileIdentifiers: type: object properties: vendor_id: type: integer format: int64 description: VendorID managed by the LoRa Alliance, as defined in TR005. vendor_profile_id: type: integer format: int64 description: ID of the LoRaWAN end device profile assigned by the vendor. v3LoRaDataRate: type: object properties: bandwidth: type: integer format: int64 description: Bandwidth (Hz). spreading_factor: type: integer format: int64 coding_rate: type: string v3LocationSource: type: string enum: - SOURCE_UNKNOWN - SOURCE_GPS - SOURCE_REGISTRY - SOURCE_IP_GEOLOCATION - SOURCE_WIFI_RSSI_GEOLOCATION - SOURCE_BT_RSSI_GEOLOCATION - SOURCE_LORA_RSSI_GEOLOCATION - SOURCE_LORA_TDOA_GEOLOCATION - SOURCE_COMBINED_GEOLOCATION default: SOURCE_UNKNOWN description: " - SOURCE_UNKNOWN: The source of the location is not known or not set.\n - SOURCE_GPS: The location is determined\ \ by GPS.\n - SOURCE_REGISTRY: The location is set in and updated from a registry.\n - SOURCE_IP_GEOLOCATION: The location\ \ is estimated with IP geolocation.\n - SOURCE_WIFI_RSSI_GEOLOCATION: The location is estimated with WiFi RSSI geolocation.\n\ \ - SOURCE_BT_RSSI_GEOLOCATION: The location is estimated with BT/BLE RSSI geolocation.\n - SOURCE_LORA_RSSI_GEOLOCATION:\ \ The location is estimated with LoRa RSSI geolocation.\n - SOURCE_LORA_TDOA_GEOLOCATION: The location is estimated\ \ with LoRa TDOA geolocation.\n - SOURCE_COMBINED_GEOLOCATION: The location is estimated by a combination of geolocation\ \ sources.\n\nMore estimation methods can be added." v3MACCommand: type: object properties: cid: $ref: '#/definitions/v3MACCommandIdentifier' raw_payload: type: string format: byte reset_ind: $ref: '#/definitions/MACCommandResetInd' reset_conf: $ref: '#/definitions/MACCommandResetConf' link_check_ans: $ref: '#/definitions/MACCommandLinkCheckAns' link_adr_req: $ref: '#/definitions/MACCommandLinkADRReq' link_adr_ans: $ref: '#/definitions/MACCommandLinkADRAns' duty_cycle_req: $ref: '#/definitions/MACCommandDutyCycleReq' rx_param_setup_req: $ref: '#/definitions/MACCommandRxParamSetupReq' rx_param_setup_ans: $ref: '#/definitions/MACCommandRxParamSetupAns' dev_status_ans: $ref: '#/definitions/MACCommandDevStatusAns' new_channel_req: $ref: '#/definitions/MACCommandNewChannelReq' new_channel_ans: $ref: '#/definitions/MACCommandNewChannelAns' dl_channel_req: $ref: '#/definitions/MACCommandDLChannelReq' dl_channel_ans: $ref: '#/definitions/MACCommandDLChannelAns' rx_timing_setup_req: $ref: '#/definitions/MACCommandRxTimingSetupReq' tx_param_setup_req: $ref: '#/definitions/MACCommandTxParamSetupReq' rekey_ind: $ref: '#/definitions/MACCommandRekeyInd' rekey_conf: $ref: '#/definitions/MACCommandRekeyConf' adr_param_setup_req: $ref: '#/definitions/MACCommandADRParamSetupReq' device_time_ans: $ref: '#/definitions/MACCommandDeviceTimeAns' force_rejoin_req: $ref: '#/definitions/MACCommandForceRejoinReq' rejoin_param_setup_req: $ref: '#/definitions/MACCommandRejoinParamSetupReq' rejoin_param_setup_ans: $ref: '#/definitions/MACCommandRejoinParamSetupAns' ping_slot_info_req: $ref: '#/definitions/MACCommandPingSlotInfoReq' ping_slot_channel_req: $ref: '#/definitions/MACCommandPingSlotChannelReq' ping_slot_channel_ans: $ref: '#/definitions/MACCommandPingSlotChannelAns' beacon_timing_ans: $ref: '#/definitions/MACCommandBeaconTimingAns' beacon_freq_req: $ref: '#/definitions/MACCommandBeaconFreqReq' beacon_freq_ans: $ref: '#/definitions/MACCommandBeaconFreqAns' device_mode_ind: $ref: '#/definitions/MACCommandDeviceModeInd' device_mode_conf: $ref: '#/definitions/MACCommandDeviceModeConf' relay_conf_req: $ref: '#/definitions/MACCommandRelayConfReq' relay_conf_ans: $ref: '#/definitions/MACCommandRelayConfAns' relay_end_device_conf_req: $ref: '#/definitions/MACCommandRelayEndDeviceConfReq' relay_end_device_conf_ans: $ref: '#/definitions/MACCommandRelayEndDeviceConfAns' relay_update_uplink_list_req: $ref: '#/definitions/MACCommandRelayUpdateUplinkListReq' relay_update_uplink_list_ans: $ref: '#/definitions/MACCommandRelayUpdateUplinkListAns' relay_ctrl_uplink_list_req: $ref: '#/definitions/MACCommandRelayCtrlUplinkListReq' relay_ctrl_uplink_list_ans: $ref: '#/definitions/MACCommandRelayCtrlUplinkListAns' relay_configure_fwd_limit_req: $ref: '#/definitions/MACCommandRelayConfigureFwdLimitReq' relay_configure_fwd_limit_ans: $ref: '#/definitions/MACCommandRelayConfigureFwdLimitAns' relay_notify_new_end_device_req: $ref: '#/definitions/MACCommandRelayNotifyNewEndDeviceReq' v3MACCommandIdentifier: type: string enum: - CID_RFU_0 - CID_RESET - CID_LINK_CHECK - CID_LINK_ADR - CID_DUTY_CYCLE - CID_RX_PARAM_SETUP - CID_DEV_STATUS - CID_NEW_CHANNEL - CID_RX_TIMING_SETUP - CID_TX_PARAM_SETUP - CID_DL_CHANNEL - CID_REKEY - CID_ADR_PARAM_SETUP - CID_DEVICE_TIME - CID_FORCE_REJOIN - CID_REJOIN_PARAM_SETUP - CID_PING_SLOT_INFO - CID_PING_SLOT_CHANNEL - CID_BEACON_TIMING - CID_BEACON_FREQ - CID_DEVICE_MODE - CID_RELAY_CONF - CID_RELAY_END_DEVICE_CONF - CID_RELAY_FILTER_LIST - CID_RELAY_UPDATE_UPLINK_LIST - CID_RELAY_CTRL_UPLINK_LIST - CID_RELAY_CONFIGURE_FWD_LIMIT - CID_RELAY_NOTIFY_NEW_END_DEVICE default: CID_RFU_0 title: '- CID_BEACON_TIMING: Deprecated' v3MACParameters: type: object properties: max_eirp: type: number format: float description: Maximum EIRP (dBm). adr_data_rate_index: $ref: '#/definitions/v3DataRateIndex' description: 'ADR: data rate index to use.' adr_tx_power_index: type: integer format: int64 description: 'ADR: transmission power index to use.' adr_nb_trans: type: integer format: int64 description: 'ADR: number of retransmissions.' adr_ack_limit: type: integer format: int64 description: 'ADR: number of messages to wait before setting ADRAckReq. This field is deprecated, use adr_ack_limit_exponent instead.' adr_ack_delay: type: integer format: int64 description: 'ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate. This field is deprecated, use adr_ack_delay_exponent instead.' rx1_delay: $ref: '#/definitions/v3RxDelay' description: Rx1 delay (Rx2 delay is Rx1 delay + 1 second). rx1_data_rate_offset: $ref: '#/definitions/v3DataRateOffset' description: Data rate offset for Rx1. rx2_data_rate_index: $ref: '#/definitions/v3DataRateIndex' description: Data rate index for Rx2. rx2_frequency: type: string format: uint64 description: Frequency for Rx2 (Hz). max_duty_cycle: $ref: '#/definitions/v3AggregatedDutyCycle' description: Maximum uplink duty cycle (of all channels). rejoin_time_periodicity: $ref: '#/definitions/v3RejoinTimeExponent' description: Time within which a rejoin-request must be sent. rejoin_count_periodicity: $ref: '#/definitions/v3RejoinCountExponent' description: Message count within which a rejoin-request must be sent. ping_slot_frequency: type: string format: uint64 description: Frequency of the class B ping slot (Hz). ping_slot_data_rate_index: $ref: '#/definitions/v3DataRateIndex' description: 'Data rate index of the class B ping slot. This field is deprecated, use ping_slot_data_rate_index_value instead.' beacon_frequency: type: string format: uint64 description: Frequency of the class B beacon (Hz). channels: type: array items: type: object $ref: '#/definitions/v3MACParametersChannel' description: Configured uplink channels and optionally Rx1 frequency. uplink_dwell_time: $ref: '#/definitions/lorawanv3BoolValue' description: 'Whether uplink dwell time is set (400ms). If unset, then the value is either unknown or irrelevant(Network Server cannot modify it).' downlink_dwell_time: $ref: '#/definitions/lorawanv3BoolValue' description: 'Whether downlink dwell time is set (400ms). If unset, then the value is either unknown or irrelevant(Network Server cannot modify it).' adr_ack_limit_exponent: $ref: '#/definitions/v3ADRAckLimitExponentValue' description: 'ADR: number of messages to wait before setting ADRAckReq.' adr_ack_delay_exponent: $ref: '#/definitions/v3ADRAckDelayExponentValue' description: 'ADR: number of messages to wait after setting ADRAckReq and before changing TxPower or DataRate.' ping_slot_data_rate_index_value: $ref: '#/definitions/v3DataRateIndexValue' description: Data rate index of the class B ping slot. relay: $ref: '#/definitions/lorawanv3RelayParameters' description: Relay parameters. description: 'MACParameters represent the parameters of the device''s MAC layer (active or desired). This is used internally by the Network Server.' v3MACParametersChannel: type: object properties: uplink_frequency: type: string format: uint64 description: Uplink frequency of the channel (Hz). downlink_frequency: type: string format: uint64 description: Downlink frequency of the channel (Hz). min_data_rate_index: $ref: '#/definitions/v3DataRateIndex' description: Index of the minimum data rate for uplink. max_data_rate_index: $ref: '#/definitions/v3DataRateIndex' description: Index of the maximum data rate for uplink. enable_uplink: type: boolean description: Channel can be used by device for uplink. v3MACSettings: type: object properties: class_b_timeout: type: string description: 'Maximum delay for the device to answer a MAC request or a confirmed downlink frame. If unset, the default value from Network Server configuration will be used.' ping_slot_periodicity: $ref: '#/definitions/v3PingSlotPeriodValue' description: 'Periodicity of the class B ping slot. If unset, the default value from Network Server configuration will be used.' ping_slot_data_rate_index: $ref: '#/definitions/v3DataRateIndexValue' description: 'Data rate index of the class B ping slot. If unset, the default value from Network Server configuration will be used.' ping_slot_frequency: $ref: '#/definitions/v3ZeroableFrequencyValue' description: 'Frequency of the class B ping slot (Hz). If unset, the default value from Network Server configuration will be used.' beacon_frequency: $ref: '#/definitions/v3ZeroableFrequencyValue' description: 'Frequency of the class B beacon (Hz). If unset, the default value from Network Server configuration will be used.' class_c_timeout: type: string description: 'Maximum delay for the device to answer a MAC request or a confirmed downlink frame. If unset, the default value from Network Server configuration will be used.' rx1_delay: $ref: '#/definitions/v3RxDelayValue' description: 'Class A Rx1 delay. If unset, the default value from Network Server configuration or regional parameters specification will be used.' rx1_data_rate_offset: $ref: '#/definitions/v3DataRateOffsetValue' description: 'Rx1 data rate offset. If unset, the default value from Network Server configuration will be used.' rx2_data_rate_index: $ref: '#/definitions/v3DataRateIndexValue' description: 'Data rate index for Rx2. If unset, the default value from Network Server configuration or regional parameters specification will be used.' rx2_frequency: $ref: '#/definitions/v3FrequencyValue' description: 'Frequency for Rx2 (Hz). If unset, the default value from Network Server configuration or regional parameters specification will be used.' factory_preset_frequencies: type: array items: type: string format: uint64 description: 'List of factory-preset frequencies. If unset, the default value from Network Server configuration or regional parameters specification will be used.' max_duty_cycle: $ref: '#/definitions/v3AggregatedDutyCycleValue' description: Maximum uplink duty cycle (of all channels). supports_32_bit_f_cnt: $ref: '#/definitions/lorawanv3BoolValue' description: 'Whether the device supports 32-bit frame counters. If unset, the default value from Network Server configuration will be used.' use_adr: $ref: '#/definitions/lorawanv3BoolValue' description: 'Whether the Network Server should use ADR for the device. This field is deprecated, use adr_settings instead.' adr_margin: type: number format: float description: 'The ADR margin (dB) tells the network server how much margin it should add in ADR requests. A bigger margin is less efficient, but gives a better chance of successful reception. This field is deprecated, use adr_settings.dynamic.margin instead.' resets_f_cnt: $ref: '#/definitions/lorawanv3BoolValue' description: 'Whether the device resets the frame counters (not LoRaWAN compliant). If unset, the default value from Network Server configuration will be used.' status_time_periodicity: type: string description: 'The interval after which a DevStatusReq MACCommand shall be sent. If unset, the default value from Network Server configuration will be used.' status_count_periodicity: type: integer format: int64 description: 'Number of uplink messages after which a DevStatusReq MACCommand shall be sent. If unset, the default value from Network Server configuration will be used.' desired_rx1_delay: $ref: '#/definitions/v3RxDelayValue' description: 'The Rx1 delay Network Server should configure device to use via MAC commands or Join-Accept. If unset, the default value from Network Server configuration or regional parameters specification will be used.' desired_rx1_data_rate_offset: $ref: '#/definitions/v3DataRateOffsetValue' description: 'The Rx1 data rate offset Network Server should configure device to use via MAC commands or Join-Accept. If unset, the default value from Network Server configuration will be used.' desired_rx2_data_rate_index: $ref: '#/definitions/v3DataRateIndexValue' description: 'The Rx2 data rate index Network Server should configure device to use via MAC commands or Join-Accept. If unset, the default value from frequency plan, Network Server configuration or regional parameters specification will be used.' desired_rx2_frequency: $ref: '#/definitions/v3FrequencyValue' description: 'The Rx2 frequency index Network Server should configure device to use via MAC commands. If unset, the default value from frequency plan, Network Server configuration or regional parameters specification will be used.' desired_max_duty_cycle: $ref: '#/definitions/v3AggregatedDutyCycleValue' description: 'The maximum uplink duty cycle (of all channels) Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration will be used.' desired_adr_ack_limit_exponent: $ref: '#/definitions/v3ADRAckLimitExponentValue' description: 'The ADR ACK limit Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration or regional parameters specification will be used.' desired_adr_ack_delay_exponent: $ref: '#/definitions/v3ADRAckDelayExponentValue' description: 'The ADR ACK delay Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration or regional parameters specification will be used.' desired_ping_slot_data_rate_index: $ref: '#/definitions/v3DataRateIndexValue' description: 'The data rate index of the class B ping slot Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration will be used.' desired_ping_slot_frequency: $ref: '#/definitions/v3ZeroableFrequencyValue' description: 'The frequency of the class B ping slot (Hz) Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration or regional parameters specification will be used.' desired_beacon_frequency: $ref: '#/definitions/v3ZeroableFrequencyValue' description: 'The frequency of the class B beacon (Hz) Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration will be used.' desired_max_eirp: $ref: '#/definitions/v3DeviceEIRPValue' description: 'Maximum EIRP (dBm). If unset, the default value from regional parameters specification will be used.' class_b_c_downlink_interval: type: string description: The minimum duration passed before a network-initiated(e.g. Class B or C) downlink following an arbitrary downlink. uplink_dwell_time: $ref: '#/definitions/lorawanv3BoolValue' description: 'Whether uplink dwell time is set (400ms). If unset, the default value from Network Server configuration or regional parameters specification will be used.' downlink_dwell_time: $ref: '#/definitions/lorawanv3BoolValue' description: 'Whether downlink dwell time is set (400ms). If unset, the default value from Network Server configuration or regional parameters specification will be used.' adr: $ref: '#/definitions/v3ADRSettings' description: 'Adaptive Data Rate settings. If unset, the default value from Network Server configuration or regional parameters specification will be used.' schedule_downlinks: $ref: '#/definitions/lorawanv3BoolValue' description: 'Whether or not downlink messages should be scheduled. This option can be used in order to disable any downlink interaction with the end device. It will affect all types of downlink messages: data and MAC downlinks, and join accepts.' relay: $ref: '#/definitions/v3RelaySettings' description: 'The relay settings the end device is using. If unset, the default value from Network Server configuration or regional parameters specification will be used.' desired_relay: $ref: '#/definitions/v3RelaySettings' description: 'The relay settings the Network Server should configure device to use via MAC commands. If unset, the default value from Network Server configuration or regional parameters specification will be used.' v3MACSettingsProfileIdentifiers: type: object properties: application_ids: $ref: '#/definitions/v3ApplicationIdentifiers' description: Application IDs. profile_id: type: string description: Profile ID. v3MACState: type: object properties: current_parameters: $ref: '#/definitions/v3MACParameters' description: Current LoRaWAN MAC parameters. desired_parameters: $ref: '#/definitions/v3MACParameters' description: Desired LoRaWAN MAC parameters. device_class: $ref: '#/definitions/v3Class' title: 'Currently active LoRaWAN device class - Device class is A by default - If device sets ClassB bit in uplink, this will be set to B - If device sent DeviceModeInd MAC message, this will be set to that value' lorawan_version: $ref: '#/definitions/v3MACVersion' description: LoRaWAN MAC version. last_confirmed_downlink_at: type: string format: date-time description: Time when the last confirmed downlink message or MAC command was scheduled. last_dev_status_f_cnt_up: type: integer format: int64 description: Frame counter value of last uplink containing DevStatusAns. ping_slot_periodicity: $ref: '#/definitions/v3PingSlotPeriodValue' description: Periodicity of the class B ping slot. pending_application_downlink: $ref: '#/definitions/v3ApplicationDownlink' description: A confirmed application downlink, for which an acknowledgment is expected to arrive. queued_responses: type: array items: type: object $ref: '#/definitions/v3MACCommand' description: 'Queued MAC responses. Regenerated on each uplink.' pending_requests: type: array items: type: object $ref: '#/definitions/v3MACCommand' description: 'Pending MAC requests(i.e. sent requests, for which no response has been received yet). Regenerated on each downlink.' queued_join_accept: $ref: '#/definitions/MACStateJoinAccept' description: 'Queued join-accept. Set each time a (re-)join request accept is received from Join Server and removed each time a downlink is scheduled.' pending_join_request: $ref: '#/definitions/v3MACStateJoinRequest' description: 'Pending join request. Set each time a join-accept is scheduled and removed each time an uplink is received from the device.' rx_windows_available: type: boolean description: 'Whether or not Rx windows are expected to be open. Set to true every time an uplink is received. Set to false every time a successful downlink scheduling attempt is made.' recent_uplinks: type: array items: type: object $ref: '#/definitions/v3MACStateUplinkMessage' description: 'Recent data uplink messages sorted by time. The number of messages stored may depend on configuration.' recent_downlinks: type: array items: type: object $ref: '#/definitions/v3MACStateDownlinkMessage' description: 'Recent data downlink messages sorted by time. The number of messages stored may depend on configuration.' last_network_initiated_downlink_at: type: string format: date-time description: Time when the last network-initiated downlink message was scheduled. rejected_adr_data_rate_indexes: type: array items: $ref: '#/definitions/v3DataRateIndex' description: 'ADR Data rate index values rejected by the device. Reset each time `current_parameters.channels` change. Elements are sorted in ascending order.' rejected_adr_tx_power_indexes: type: array items: type: integer format: int64 description: 'ADR TX output power index values rejected by the device. Elements are sorted in ascending order.' rejected_frequencies: type: array items: type: string format: uint64 description: Frequencies rejected by the device. last_downlink_at: type: string format: date-time description: Time when the last downlink message was scheduled. rejected_data_rate_ranges: type: object additionalProperties: $ref: '#/definitions/MACStateDataRateRanges' description: Data rate ranges rejected by the device per frequency. last_adr_change_f_cnt_up: type: integer format: int64 description: Frame counter of uplink, which confirmed the last ADR parameter change. recent_mac_command_identifiers: type: array items: $ref: '#/definitions/v3MACCommandIdentifier' description: 'MAC command identifiers sent by the end device in the last received uplink. The Network Server may choose to store only certain types of MAC command identifiers in the underlying implementation.' pending_relay_downlink: $ref: '#/definitions/v3RelayForwardDownlinkReq' description: 'Pending relay downlink contents. The pending downlink will be scheduled to the relay in either Rx1 or Rx2. The pending downlink will be cleared after the scheduling attempt.' description: 'MACState represents the state of MAC layer of the device. MACState is reset on each join for OTAA or ResetInd for ABP devices. This is used internally by the Network Server.' v3MACStateDownlinkMessage: type: object properties: payload: $ref: '#/definitions/MACStateDownlinkMessageMessage' correlation_ids: type: array items: type: string description: 'A minimal DownlinkMessage definition which is binary compatible with the top level DownlinkMessage message. Used for type safe recent downlink storage.' v3MACStateJoinRequest: type: object properties: downlink_settings: $ref: '#/definitions/v3DLSettings' rx_delay: $ref: '#/definitions/v3RxDelay' cf_list: $ref: '#/definitions/v3CFList' v3MACStateUplinkMessage: type: object properties: payload: $ref: '#/definitions/lorawanv3Message' settings: $ref: '#/definitions/MACStateUplinkMessageTxSettings' rx_metadata: type: array items: type: object $ref: '#/definitions/MACStateUplinkMessageRxMetadata' received_at: type: string format: date-time correlation_ids: type: array items: type: string device_channel_index: type: integer format: int64 description: 'A minimal UplinkMessage definition which is binary compatible with the top level UplinkMessage message. Used for type safe recent uplink storage.' v3MACVersion: type: string enum: - MAC_UNKNOWN - MAC_V1_0 - MAC_V1_0_1 - MAC_V1_0_2 - MAC_V1_1 - MAC_V1_0_3 - MAC_V1_0_4 default: MAC_UNKNOWN v3MType: type: string enum: - JOIN_REQUEST - JOIN_ACCEPT - UNCONFIRMED_UP - UNCONFIRMED_DOWN - CONFIRMED_UP - CONFIRMED_DOWN - REJOIN_REQUEST - PROPRIETARY default: JOIN_REQUEST v3Major: type: string enum: - LORAWAN_R1 default: LORAWAN_R1 v3MessagePayloadFormatters: type: object properties: up_formatter: $ref: '#/definitions/v3PayloadFormatter' description: Payload formatter for uplink messages, must be set together with its parameter. up_formatter_parameter: type: string description: Parameter for the up_formatter, must be set together. The API enforces a maximum length of 64KB, but the size may be restricted further by deployment configuration. down_formatter: $ref: '#/definitions/v3PayloadFormatter' description: Payload formatter for downlink messages, must be set together with its parameter. down_formatter_parameter: type: string description: Parameter for the down_formatter, must be set together. The API enforces a maximum length of 64KB, but the size may be restricted further by deployment configuration. v3Minor: type: string enum: - MINOR_RFU_0 - MINOR_1 - MINOR_RFU_2 - MINOR_RFU_3 - MINOR_RFU_4 - MINOR_RFU_5 - MINOR_RFU_6 - MINOR_RFU_7 - MINOR_RFU_8 - MINOR_RFU_9 - MINOR_RFU_10 - MINOR_RFU_11 - MINOR_RFU_12 - MINOR_RFU_13 - MINOR_RFU_14 - MINOR_RFU_15 default: MINOR_RFU_0 v3NetworkIdentifiers: type: object properties: net_id: type: string format: string example: '000013' description: LoRa Alliance NetID. ns_id: type: string format: string example: 70B3D57ED000ABCD description: LoRaWAN NSID (EUI-64) that uniquely identifies the Network Server instance. tenant_id: type: string description: Optional tenant identifier for multi-tenant deployments. cluster_id: type: string description: Cluster identifier of the Network Server. cluster_address: type: string description: Cluster address of the Network Server. tenant_address: type: string description: Optional tenant address for multi-tenant deployments. description: Identifies a Network Server. v3Notification: type: object properties: id: type: string description: The immutable ID of the notification. Generated by the server. created_at: type: string format: date-time description: The time when the notification was triggered. entity_ids: $ref: '#/definitions/v3EntityIdentifiers' description: The entity this notification is about. notification_type: type: string description: 'The type of this notification. TODO: Replace with type NotificationType in v4 https://github.com/TheThingsNetwork/lorawan-stack/issues/7384.' data: $ref: '#/definitions/protobufAny' description: The data related to the notification. sender_ids: $ref: '#/definitions/v3UserIdentifiers' description: If the notification was triggered by a user action, this contains the identifiers of the user that triggered the notification. receivers: type: array items: $ref: '#/definitions/v3NotificationReceiver' description: Relation of the notification receiver to the entity. email: type: boolean description: Whether an email was sent for the notification. status: $ref: '#/definitions/v3NotificationStatus' description: The status of the notification. status_updated_at: type: string format: date-time description: The time when the notification status was updated. v3NotificationReceiver: type: string enum: - NOTIFICATION_RECEIVER_UNKNOWN - NOTIFICATION_RECEIVER_COLLABORATOR - NOTIFICATION_RECEIVER_ADMINISTRATIVE_CONTACT - NOTIFICATION_RECEIVER_TECHNICAL_CONTACT default: NOTIFICATION_RECEIVER_UNKNOWN description: " - NOTIFICATION_RECEIVER_COLLABORATOR: Notification is received by collaborators of the entity.\nIf the\ \ collaborator is an organization, the notification is received by organization members.\n - NOTIFICATION_RECEIVER_ADMINISTRATIVE_CONTACT:\ \ Notification is received by administrative contact of the entity.\nIf this is an organization, the notification is\ \ received by organization members.\n - NOTIFICATION_RECEIVER_TECHNICAL_CONTACT: Notification is received by technical\ \ contact of the entity.\nIf this is an organization, the notification is received by organization members." v3NotificationStatus: type: string enum: - NOTIFICATION_STATUS_UNSEEN - NOTIFICATION_STATUS_SEEN - NOTIFICATION_STATUS_ARCHIVED default: NOTIFICATION_STATUS_UNSEEN 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 v3OAuthAccessToken: type: object properties: user_ids: $ref: '#/definitions/v3UserIdentifiers' user_session_id: type: string client_ids: $ref: '#/definitions/v3ClientIdentifiers' id: type: string access_token: type: string refresh_token: type: string rights: type: array items: $ref: '#/definitions/v3Right' created_at: type: string format: date-time expires_at: type: string format: date-time v3OAuthAccessTokens: type: object properties: tokens: type: array items: type: object $ref: '#/definitions/v3OAuthAccessToken' v3OAuthClientAuthorization: type: object properties: user_ids: $ref: '#/definitions/v3UserIdentifiers' client_ids: $ref: '#/definitions/v3ClientIdentifiers' rights: type: array items: $ref: '#/definitions/v3Right' created_at: type: string format: date-time updated_at: type: string format: date-time v3OAuthClientAuthorizations: type: object properties: authorizations: type: array items: type: object $ref: '#/definitions/v3OAuthClientAuthorization' v3Organization: type: object properties: ids: $ref: '#/definitions/v3OrganizationIdentifiers' description: The identifiers of the organization. These are public and can be seen by any authenticated user in the network. created_at: type: string format: date-time description: When the organization 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 organization 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 organization 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 organization. This information is public and can be seen by any authenticated user in the network. description: type: string description: A description for the organization. attributes: type: object additionalProperties: type: string description: Key-value attributes for this organization. Typically used for organizing organizations or for storing integration-specific data. contact_info: type: array items: type: object $ref: '#/definitions/v3ContactInfo' description: 'Contact information for this organization. Typically used to indicate who to contact with security/billing questions about the organization. This field is deprecated. Use administrative_contact and technical_contact instead.' administrative_contact: $ref: '#/definitions/v3OrganizationOrUserIdentifiers' technical_contact: $ref: '#/definitions/v3OrganizationOrUserIdentifiers' fanout_notifications: type: boolean description: 'Determines if a notification will be sent to the collaborators. If false it, notifications will be sent only to the administrative or technical contact.' v3OrganizationAccessCreateAPIKeyBody: type: object properties: organization_ids: type: object name: type: string rights: type: array items: $ref: '#/definitions/v3Right' expires_at: type: string format: date-time v3OrganizationAccessSetCollaboratorBody: type: object properties: organization_ids: type: object collaborator: $ref: '#/definitions/v3Collaborator' v3OrganizationAccessUpdateAPIKeyBody: type: object properties: organization_ids: type: object api_key: type: object properties: key: type: string description: 'Immutable and unique secret value of the API key. Generated by the Access Server.' name: type: string description: User-defined (friendly) name for the API key. rights: type: array items: $ref: '#/definitions/v3Right' description: Rights that are granted to this API key. created_at: type: string format: date-time updated_at: type: string format: date-time expires_at: type: string format: date-time field_mask: type: string description: The names of the api key fields that should be updated. v3OrganizationIdentifiers: type: object properties: organization_id: type: string description: This ID shares namespace with user IDs. v3OrganizationOrUserIdentifiers: type: object properties: organization_ids: $ref: '#/definitions/v3OrganizationIdentifiers' user_ids: $ref: '#/definitions/v3UserIdentifiers' description: OrganizationOrUserIdentifiers contains either organization or user identifiers. v3OrganizationRegistryCreateBody: type: object properties: organization: $ref: '#/definitions/v3Organization' collaborator: type: object properties: organization_ids: $ref: '#/definitions/v3OrganizationIdentifiers' user_ids: type: object properties: email: type: string description: Secondary identifier, which can only be used in specific requests. description: 'Collaborator to grant all rights on the newly created application. NOTE: It is currently not possible to have organizations collaborating on other organizations.' title: 'Collaborator to grant all rights on the newly created application. NOTE: It is currently not possible to have organizations collaborating on other organizations.' v3OrganizationRegistryUpdateBody: type: object properties: organization: type: object properties: ids: type: object description: The identifiers of the organization. These are public and can be seen by any authenticated user in the network. title: The identifiers of the organization. These are public and can be seen by any authenticated user in the network. created_at: type: string format: date-time description: When the organization 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 organization 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 organization 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 organization. This information is public and can be seen by any authenticated user in the network. description: type: string description: A description for the organization. attributes: type: object additionalProperties: type: string description: Key-value attributes for this organization. Typically used for organizing organizations or for storing integration-specific data. contact_info: type: array items: type: object $ref: '#/definitions/v3ContactInfo' description: 'Contact information for this organization. Typically used to indicate who to contact with security/billing questions about the organization. This field is deprecated. Use administrative_contact and technical_contact instead.' administrative_contact: $ref: '#/definitions/v3OrganizationOrUserIdentifiers' technical_contact: $ref: '#/definitions/v3OrganizationOrUserIdentifiers' fanout_notifications: type: boolean description: 'Determines if a notification will be sent to the collaborators. If false it, notifications will be sent only to the administrative or technical contact.' field_mask: type: string description: The names of the organization fields that should be updated. v3Organizations: type: object properties: organizations: type: array items: type: object $ref: '#/definitions/v3Organization' v3PHYVersion: type: string enum: - PHY_UNKNOWN - PHY_V1_0 - TS001_V1_0 - PHY_V1_0_1 - TS001_V1_0_1 - PHY_V1_0_2_REV_A - RP001_V1_0_2 - PHY_V1_0_2_REV_B - RP001_V1_0_2_REV_B - PHY_V1_1_REV_A - RP001_V1_1_REV_A - PHY_V1_1_REV_B - RP001_V1_1_REV_B - PHY_V1_0_3_REV_A - RP001_V1_0_3_REV_A - RP002_V1_0_0 - RP002_V1_0_1 - RP002_V1_0_2 - RP002_V1_0_3 - RP002_V1_0_4 default: PHY_UNKNOWN v3PayloadFormatter: type: string enum: - FORMATTER_NONE - FORMATTER_REPOSITORY - FORMATTER_GRPC_SERVICE - FORMATTER_JAVASCRIPT - FORMATTER_CAYENNELPP default: FORMATTER_NONE description: " - FORMATTER_NONE: No payload formatter to work with raw payload only.\n - FORMATTER_REPOSITORY: Use payload\ \ formatter for the end device type from a repository.\n - FORMATTER_GRPC_SERVICE: gRPC service payload formatter. The\ \ parameter is the host:port of the service.\n - FORMATTER_JAVASCRIPT: Custom payload formatter that executes Javascript\ \ code. The parameter is a JavaScript filename.\n - FORMATTER_CAYENNELPP: CayenneLPP payload formatter.\n\nMore payload\ \ formatters can be added." v3Picture: type: object properties: embedded: $ref: '#/definitions/PictureEmbedded' description: 'Embedded picture. Omitted if there are external URLs available (in sizes).' sizes: type: object additionalProperties: type: string description: URLs of the picture for different sizes, if available on a CDN. v3PingSlotPeriod: type: string enum: - PING_EVERY_1S - PING_EVERY_2S - PING_EVERY_4S - PING_EVERY_8S - PING_EVERY_16S - PING_EVERY_32S - PING_EVERY_64S - PING_EVERY_128S default: PING_EVERY_1S description: " - PING_EVERY_1S: Every second.\n - PING_EVERY_2S: Every 2 seconds.\n - PING_EVERY_4S: Every 4 seconds.\n\ \ - PING_EVERY_8S: Every 8 seconds.\n - PING_EVERY_16S: Every 16 seconds.\n - PING_EVERY_32S: Every 32 seconds.\n -\ \ PING_EVERY_64S: Every 64 seconds.\n - PING_EVERY_128S: Every 128 seconds." v3PingSlotPeriodValue: type: object properties: value: $ref: '#/definitions/v3PingSlotPeriod' v3PowerState: type: string enum: - POWER_UNKNOWN - POWER_BATTERY - POWER_EXTERNAL default: POWER_UNKNOWN description: Power state of the device. v3RejoinCountExponent: type: string enum: - REJOIN_COUNT_16 - REJOIN_COUNT_32 - REJOIN_COUNT_64 - REJOIN_COUNT_128 - REJOIN_COUNT_256 - REJOIN_COUNT_512 - REJOIN_COUNT_1024 - REJOIN_COUNT_2048 - REJOIN_COUNT_4096 - REJOIN_COUNT_8192 - REJOIN_COUNT_16384 - REJOIN_COUNT_32768 - REJOIN_COUNT_65536 - REJOIN_COUNT_131072 - REJOIN_COUNT_262144 - REJOIN_COUNT_524288 default: REJOIN_COUNT_16 v3RejoinPeriodExponent: type: string enum: - REJOIN_PERIOD_0 - REJOIN_PERIOD_1 - REJOIN_PERIOD_2 - REJOIN_PERIOD_3 - REJOIN_PERIOD_4 - REJOIN_PERIOD_5 - REJOIN_PERIOD_6 - REJOIN_PERIOD_7 default: REJOIN_PERIOD_0 description: " - REJOIN_PERIOD_0: Every 32 to 64 seconds.\n - REJOIN_PERIOD_1: Every 64 to 96 seconds.\n - REJOIN_PERIOD_2:\ \ Every 128 to 160 seconds.\n - REJOIN_PERIOD_3: Every 256 to 288 seconds.\n - REJOIN_PERIOD_4: Every 512 to 544 seconds.\n\ \ - REJOIN_PERIOD_5: Every 1024 to 1056 seconds.\n - REJOIN_PERIOD_6: Every 2048 to 2080 seconds.\n - REJOIN_PERIOD_7:\ \ Every 4096 to 4128 seconds." v3RejoinRequestPayload: type: object properties: rejoin_type: $ref: '#/definitions/v3RejoinRequestType' net_id: type: string format: string example: '000013' join_eui: type: string format: string example: 70B3D57ED000ABCD dev_eui: type: string format: string example: 70B3D57ED000ABCD rejoin_cnt: type: integer format: int64 description: Contains RJCount0 or RJCount1 depending on rejoin_type. v3RejoinRequestType: type: string enum: - CONTEXT - SESSION - KEYS default: CONTEXT description: " - CONTEXT: Resets DevAddr, Session Keys, Frame Counters, Radio Parameters.\n - SESSION: Equivalent to the\ \ initial JoinRequest.\n - KEYS: Resets DevAddr, Session Keys, Frame Counters, while keeping the Radio Parameters." v3RejoinTimeExponent: type: string enum: - REJOIN_TIME_0 - REJOIN_TIME_1 - REJOIN_TIME_2 - REJOIN_TIME_3 - REJOIN_TIME_4 - REJOIN_TIME_5 - REJOIN_TIME_6 - REJOIN_TIME_7 - REJOIN_TIME_8 - REJOIN_TIME_9 - REJOIN_TIME_10 - REJOIN_TIME_11 - REJOIN_TIME_12 - REJOIN_TIME_13 - REJOIN_TIME_14 - REJOIN_TIME_15 default: REJOIN_TIME_0 description: " - REJOIN_TIME_0: Every ~17.1 minutes.\n - REJOIN_TIME_1: Every ~34.1 minutes.\n - REJOIN_TIME_2: Every\ \ ~1.1 hours.\n - REJOIN_TIME_3: Every ~2.3 hours.\n - REJOIN_TIME_4: Every ~4.6 hours.\n - REJOIN_TIME_5: Every ~9.1\ \ hours.\n - REJOIN_TIME_6: Every ~18.2 hours.\n - REJOIN_TIME_7: Every ~1.5 days.\n - REJOIN_TIME_8: Every ~3.0 days.\n\ \ - REJOIN_TIME_9: Every ~6.1 days.\n - REJOIN_TIME_10: Every ~12.1 days.\n - REJOIN_TIME_11: Every ~3.5 weeks.\n -\ \ REJOIN_TIME_12: Every ~1.6 months.\n - REJOIN_TIME_13: Every ~3.2 months.\n - REJOIN_TIME_14: Every ~6.4 months.\n\ \ - REJOIN_TIME_15: Every ~1.1 year." v3RelayCADPeriodicity: type: string enum: - RELAY_CAD_PERIODICITY_1_SECOND - RELAY_CAD_PERIODICITY_500_MILLISECONDS - RELAY_CAD_PERIODICITY_250_MILLISECONDS - RELAY_CAD_PERIODICITY_100_MILLISECONDS - RELAY_CAD_PERIODICITY_50_MILLISECONDS - RELAY_CAD_PERIODICITY_20_MILLISECONDS default: RELAY_CAD_PERIODICITY_1_SECOND title: '- RELAY_CAD_PERIODICITY_20_MILLISECONDS: sic' v3RelayCtrlUplinkListAction: type: string enum: - RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT - RELAY_CTRL_UPLINK_LIST_ACTION_REMOVE_TRUSTED_END_DEVICE default: RELAY_CTRL_UPLINK_LIST_ACTION_READ_W_F_CNT v3RelayEndDeviceAlwaysMode: type: object v3RelayEndDeviceControlledMode: type: object v3RelayEndDeviceDynamicMode: type: object properties: smart_enable_level: $ref: '#/definitions/v3RelaySmartEnableLevel' description: 'The number of consecutive uplinks without a valid downlink before the end device attempts to use the relay mode to transmit messages.' v3RelayForwardDownlinkReq: type: object properties: raw_payload: type: string format: byte v3RelayForwardLimits: type: object properties: bucket_size: $ref: '#/definitions/v3RelayLimitBucketSize' description: 'The multiplier used to compute the total bucket size for the limits. The multiplier is multiplied by the reload rate in order to compute the total bucket size.' reload_rate: type: integer format: int64 description: The number of tokens which are replenished in the bucket every hour. v3RelayLimitBucketSize: type: string enum: - RELAY_LIMIT_BUCKET_SIZE_1 - RELAY_LIMIT_BUCKET_SIZE_2 - RELAY_LIMIT_BUCKET_SIZE_4 - RELAY_LIMIT_BUCKET_SIZE_12 default: RELAY_LIMIT_BUCKET_SIZE_1 title: '- RELAY_LIMIT_BUCKET_SIZE_12: sic' v3RelayResetLimitCounter: type: string enum: - RELAY_RESET_LIMIT_COUNTER_ZERO - RELAY_RESET_LIMIT_COUNTER_RELOAD_RATE - RELAY_RESET_LIMIT_COUNTER_MAX_VALUE - RELAY_RESET_LIMIT_COUNTER_NO_RESET default: RELAY_RESET_LIMIT_COUNTER_ZERO v3RelaySecondChAckOffset: type: string enum: - RELAY_SECOND_CH_ACK_OFFSET_0 - RELAY_SECOND_CH_ACK_OFFSET_200 - RELAY_SECOND_CH_ACK_OFFSET_400 - RELAY_SECOND_CH_ACK_OFFSET_800 - RELAY_SECOND_CH_ACK_OFFSET_1600 - RELAY_SECOND_CH_ACK_OFFSET_3200 default: RELAY_SECOND_CH_ACK_OFFSET_0 title: "- RELAY_SECOND_CH_ACK_OFFSET_0: 0 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_200: 200 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_400:\ \ 400 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_800: 800 kHz\n - RELAY_SECOND_CH_ACK_OFFSET_1600: 1.6 MHz\n - RELAY_SECOND_CH_ACK_OFFSET_3200:\ \ 3.2 MHz" v3RelaySecondChannel: type: object properties: ack_offset: $ref: '#/definitions/v3RelaySecondChAckOffset' description: The frequency (Hz) offset used for the WOR acknowledgement. data_rate_index: $ref: '#/definitions/v3DataRateIndex' description: The data rate index used by the WOR and WOR acknowledgement. frequency: type: string format: uint64 description: The frequency (Hz) used by the wake on radio message. v3RelaySettings: type: object properties: serving: $ref: '#/definitions/v3ServingRelaySettings' served: $ref: '#/definitions/v3ServedRelaySettings' description: 'RelaySettings represent the settings of a relay. This is used internally by the Network Server.' v3RelaySmartEnableLevel: type: string enum: - RELAY_SMART_ENABLE_LEVEL_8 - RELAY_SMART_ENABLE_LEVEL_16 - RELAY_SMART_ENABLE_LEVEL_32 - RELAY_SMART_ENABLE_LEVEL_64 default: RELAY_SMART_ENABLE_LEVEL_8 v3RelayUplinkForwardLimits: type: object properties: bucket_size: $ref: '#/definitions/v3RelayLimitBucketSize' description: 'The multiplier used to compute the total bucket size for the limits. The multiplier is multiplied by the reload rate in order to compute the total bucket size.' reload_rate: type: integer format: int64 description: The number of tokens which are replenished in the bucket every hour. v3RelayUplinkForwardingRule: type: object properties: limits: $ref: '#/definitions/v3RelayUplinkForwardLimits' description: 'Bucket configuration for the served end device. If unset, no individual limits will apply to the end device, but the relay global limitations will apply.' last_w_f_cnt: type: integer format: int64 description: Last wake on radio frame counter used by the served end device. device_id: type: string description: End device identifier of the served end device. session_key_id: type: string format: byte description: Session key ID of the session keys used to derive the root relay session key. 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." v3Rights: type: object properties: rights: type: array items: $ref: '#/definitions/v3Right' v3RootKeys: type: object properties: root_key_id: type: string description: Join Server issued identifier for the root keys. app_key: $ref: '#/definitions/v3KeyEnvelope' description: The (encrypted) Application Key. nwk_key: $ref: '#/definitions/v3KeyEnvelope' description: The (encrypted) Network Key. description: 'Root keys for a LoRaWAN device. These are stored on the Join Server.' v3RxDelay: type: string enum: - RX_DELAY_0 - RX_DELAY_1 - RX_DELAY_2 - RX_DELAY_3 - RX_DELAY_4 - RX_DELAY_5 - RX_DELAY_6 - RX_DELAY_7 - RX_DELAY_8 - RX_DELAY_9 - RX_DELAY_10 - RX_DELAY_11 - RX_DELAY_12 - RX_DELAY_13 - RX_DELAY_14 - RX_DELAY_15 default: RX_DELAY_0 description: " - RX_DELAY_0: 1 second.\n - RX_DELAY_1: 1 second.\n - RX_DELAY_2: 2 seconds.\n - RX_DELAY_3: 3 seconds.\n\ \ - RX_DELAY_4: 4 seconds.\n - RX_DELAY_5: 5 seconds.\n - RX_DELAY_6: 6 seconds.\n - RX_DELAY_7: 7 seconds.\n - RX_DELAY_8:\ \ 8 seconds.\n - RX_DELAY_9: 9 seconds.\n - RX_DELAY_10: 10 seconds.\n - RX_DELAY_11: 11 seconds.\n - RX_DELAY_12: 12\ \ seconds.\n - RX_DELAY_13: 13 seconds.\n - RX_DELAY_14: 14 seconds.\n - RX_DELAY_15: 15 seconds." v3RxDelayValue: type: object properties: value: $ref: '#/definitions/v3RxDelay' v3SearchAccountsResponse: type: object properties: account_ids: type: array items: type: object $ref: '#/definitions/v3OrganizationOrUserIdentifiers' v3Secret: type: object properties: key_id: type: string description: ID of the Key used to encrypt the secret. value: type: string format: byte description: Secret contains a secret value. It also contains the ID of the Encryption key used to encrypt it. v3SendInvitationRequest: type: object properties: email: type: string v3ServedRelayParameters: type: object properties: always: $ref: '#/definitions/v3RelayEndDeviceAlwaysMode' description: The end device will always attempt to use the relay mode in order to send uplink messages. dynamic: $ref: '#/definitions/v3RelayEndDeviceDynamicMode' description: 'The end device will attempt to use relay mode only after a number of uplink messages have been sent without receiving a valid a downlink message.' end_device_controlled: $ref: '#/definitions/v3RelayEndDeviceControlledMode' description: The end device will control when it uses the relay mode. This is the default mode. backoff: type: integer format: int64 description: Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly. second_channel: $ref: '#/definitions/v3RelaySecondChannel' description: Second wake on radio channel configuration. serving_device_id: type: string description: End device identifier of the serving end device. v3ServedRelaySettings: type: object properties: always: $ref: '#/definitions/v3RelayEndDeviceAlwaysMode' description: The end device will always attempt to use the relay mode in order to send uplink messages. dynamic: $ref: '#/definitions/v3RelayEndDeviceDynamicMode' description: 'The end device will attempt to use relay mode only after a number of uplink messages have been sent without receiving a valid a downlink message.' end_device_controlled: $ref: '#/definitions/v3RelayEndDeviceControlledMode' description: The end device will control when it uses the relay mode. This is the default mode. backoff: type: integer format: int64 description: 'Number of wake on radio frames to be sent without an acknowledgement before sending the uplink message directly. If unset, the default value from Network Server configuration will be used.' second_channel: $ref: '#/definitions/v3RelaySecondChannel' description: Second wake on radio channel configuration. serving_device_id: type: string description: End device identifier of the serving end device. v3ServingRelayForwardingLimits: type: object properties: reset_behavior: $ref: '#/definitions/v3RelayResetLimitCounter' description: Reset behavior of the buckets upon limit update. join_requests: $ref: '#/definitions/v3RelayForwardLimits' description: 'Bucket configuration for join requests. If unset, no individual limits will apply to join requests, but the relay overall limitations will apply.' notifications: $ref: '#/definitions/v3RelayForwardLimits' description: 'Bucket configuration for unknown device notifications. If unset, no individual limits will apply to unknown end device notifications, but the relay overall limitations will still apply.' uplink_messages: $ref: '#/definitions/v3RelayForwardLimits' description: 'Bucket configuration for uplink messages across all served end devices. If unset, no individual limits will apply to uplink messages across all served end devices, but the relay overall limitations will still apply.' overall: $ref: '#/definitions/v3RelayForwardLimits' description: 'Bucket configuration for all relay messages. If unset, no overall limits will apply to the relay, but individual limitations will still apply.' v3ServingRelayParameters: type: object properties: second_channel: $ref: '#/definitions/v3RelaySecondChannel' description: Second wake on radio channel configuration. default_channel_index: type: integer format: int64 description: Index of the default wake on radio channel. cad_periodicity: $ref: '#/definitions/v3RelayCADPeriodicity' description: Channel activity detection periodicity. uplink_forwarding_rules: type: array items: type: object $ref: '#/definitions/v3RelayUplinkForwardingRule' description: Configured uplink forwarding rules. limits: $ref: '#/definitions/v3ServingRelayForwardingLimits' description: 'Configured forwarding limits. If unset, the default value from Network Server configuration will be used.' v3ServingRelaySettings: type: object properties: second_channel: $ref: '#/definitions/v3RelaySecondChannel' description: Second wake on radio channel configuration. default_channel_index: type: integer format: int64 description: 'Index of the default wake on radio channel. If unset, the default value from Network Server configuration will be used.' cad_periodicity: $ref: '#/definitions/v3RelayCADPeriodicity' description: Channel activity detection periodicity. uplink_forwarding_rules: type: array items: type: object $ref: '#/definitions/v3RelayUplinkForwardingRule' description: Configured uplink forwarding rules. limits: $ref: '#/definitions/v3ServingRelayForwardingLimits' description: 'Configured forwarding limits. If unset, the default value from Network Server configuration will be used.' v3Session: type: object properties: dev_addr: type: string format: string example: 2600ABCD description: 'Device Address, issued by the Network Server or chosen by device manufacturer in case of testing range (beginning with 00-03). Known by Network Server, Application Server and Join Server. Owned by Network Server.' keys: $ref: '#/definitions/v3SessionKeys' last_f_cnt_up: type: integer format: int64 description: Last uplink frame counter value used. Network Server only. Application Server assumes the Network Server checked it. last_n_f_cnt_down: type: integer format: int64 description: Last network downlink frame counter value used. Network Server only. last_a_f_cnt_down: type: integer format: int64 description: Last application downlink frame counter value used. Application Server only. last_conf_f_cnt_down: type: integer format: int64 description: Frame counter of the last confirmed downlink message sent. Network Server only. started_at: type: string format: date-time description: Time when the session started. Network Server only. queued_application_downlinks: type: array items: type: object $ref: '#/definitions/v3ApplicationDownlink' description: Queued Application downlink messages. Stored in Application Server and Network Server. v3SessionKeys: type: object properties: session_key_id: type: string format: byte description: 'Join Server issued identifier for the session keys. This ID can be used to request the keys from the Join Server in case the are lost.' f_nwk_s_int_key: $ref: '#/definitions/v3KeyEnvelope' description: 'The (encrypted) Forwarding Network Session Integrity Key (or Network Session Key in 1.0 compatibility mode). This key is stored by the (forwarding) Network Server.' s_nwk_s_int_key: $ref: '#/definitions/v3KeyEnvelope' description: 'The (encrypted) Serving Network Session Integrity Key. This key is stored by the (serving) Network Server.' nwk_s_enc_key: $ref: '#/definitions/v3KeyEnvelope' description: 'The (encrypted) Network Session Encryption Key. This key is stored by the (serving) Network Server.' app_s_key: $ref: '#/definitions/v3KeyEnvelope' description: 'The (encrypted) Application Session Key. This key is stored by the Application Server.' description: 'Session keys for a LoRaWAN session. Only the components for which the keys were meant, will have the key-encryption-key (KEK) to decrypt the individual keys.' v3State: type: string enum: - STATE_REQUESTED - STATE_APPROVED - STATE_REJECTED - STATE_FLAGGED - STATE_SUSPENDED default: STATE_REQUESTED description: "State enum defines states that an entity can be in.\n\n - STATE_REQUESTED: Denotes that the entity has been\ \ requested and is pending review by an admin.\n - STATE_APPROVED: Denotes that the entity has been reviewed and approved\ \ by an admin.\n - STATE_REJECTED: Denotes that the entity has been reviewed and rejected by an admin.\n - STATE_FLAGGED:\ \ Denotes that the entity has been flagged and is pending review by an admin.\n - STATE_SUSPENDED: Denotes that the\ \ entity has been reviewed and suspended by an admin." 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. v3TxSchedulePriority: type: string enum: - LOWEST - LOW - BELOW_NORMAL - NORMAL - ABOVE_NORMAL - HIGH - HIGHEST default: LOWEST 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. v3UserAccessCreateAPIKeyBody: type: object properties: user_ids: type: object properties: email: type: string description: Secondary identifier, which can only be used in specific requests. name: type: string rights: type: array items: $ref: '#/definitions/v3Right' expires_at: type: string format: date-time v3UserAccessUpdateAPIKeyBody: type: object properties: user_ids: type: object properties: email: type: string description: Secondary identifier, which can only be used in specific requests. api_key: type: object properties: key: type: string description: 'Immutable and unique secret value of the API key. Generated by the Access Server.' name: type: string description: User-defined (friendly) name for the API key. rights: type: array items: $ref: '#/definitions/v3Right' description: Rights that are granted to this API key. created_at: type: string format: date-time updated_at: type: string format: date-time expires_at: type: string format: date-time field_mask: type: string description: The names of the api key fields that should be updated. v3UserBookmark: type: object properties: user_ids: $ref: '#/definitions/v3UserIdentifiers' entity_ids: $ref: '#/definitions/v3EntityIdentifiers' created_at: type: string format: date-time v3UserBookmarkRegistryCreateBody: type: object properties: user_ids: type: object properties: email: type: string description: Secondary identifier, which can only be used in specific requests. entity_ids: $ref: '#/definitions/v3EntityIdentifiers' v3UserBookmarks: type: object properties: bookmarks: type: array items: type: object $ref: '#/definitions/v3UserBookmark' 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. 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. 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. v3UserSession: type: object properties: user_ids: $ref: '#/definitions/v3UserIdentifiers' session_id: type: string created_at: type: string format: date-time updated_at: type: string format: date-time expires_at: type: string format: date-time session_secret: type: string description: The session secret is used to compose an authorization key and is never returned. v3UserSessions: type: object properties: sessions: type: array items: type: object $ref: '#/definitions/v3UserSession' v3Users: type: object properties: users: type: array items: type: object $ref: '#/definitions/v3User' v3ValidateEmailRequest: type: object properties: id: type: string token: type: string v3ZeroableFrequencyValue: type: object properties: value: type: string format: uint64