Method: customers.devices.signDevice

  • Signs a device, using the provided device details in the request body.

  • The HTTP request is a POST request to the specified URL with path parameters for device name.

  • The request body includes device information such as FCC ID, serial number, configuration, and grant details.

  • A successful response will have an empty body.

  • Authorization requires the https://www.googleapis.com/auth/sasportal scope.

Signs a device.

HTTP request

POST https://sasportal.googleapis.com/v1alpha1/{device.name=customers/*/devices/*}:signDevice

The URL uses gRPC Transcoding syntax.

Path parameters

Parameters
device.name

string

Output only. The resource path name.

Request body

The request body contains data with the following structure:

JSON representation
{
  "device": {
    "name": string,
    "fccId": string,
    "serialNumber": string,
    "preloadedConfig": {
      "category": enum (DeviceCategory),
      "model": {
        object (DeviceModel)
      },
      "airInterface": {
        object (DeviceAirInterface)
      },
      "installationParams": {
        object (InstallationParams)
      },
      "measurementCapabilities": [
        enum (MeasurementCapability)
      ],
      "userId": string,
      "callSign": string,
      "state": enum (State),
      "isSigned": boolean,
      "updateTime": string
    },
    "activeConfig": {
      "category": enum (DeviceCategory),
      "model": {
        object (DeviceModel)
      },
      "airInterface": {
        object (DeviceAirInterface)
      },
      "installationParams": {
        object (InstallationParams)
      },
      "measurementCapabilities": [
        enum (MeasurementCapability)
      ],
      "userId": string,
      "callSign": string,
      "state": enum (State),
      "isSigned": boolean,
      "updateTime": string
    },
    "state": enum (State),
    "grants": [
      {
        "maxEirp": number,
        "frequencyRange": {
          object (FrequencyRange)
        },
        "state": enum (GrantState),
        "channelType": enum (ChannelType),
        "moveList": [
          {
            object (DpaMoveList)
          }
        ],
        "expireTime": string,
        "suspensionReason": [
          string
        ],
        "grantId": string,
        "lastHeartbeatTransmitExpireTime": string
      }
    ],
    "displayName": string,
    "deviceMetadata": {
      "interferenceCoordinationGroup": string,
      "commonChannelGroup": string,
      "antennaModel": string,
      "nrqzValidated": boolean,
      "nrqzValidation": {
        object (NrqzValidation)
      }
    },
    "currentChannels": [
      {
        "frequencyRange": {
          object (FrequencyRange)
        },
        "score": number
      }
    ],
    "grantRangeAllowlists": [
      {
        "lowFrequencyMhz": number,
        "highFrequencyMhz": number
      }
    ]
  }
}
Fields
device.fccId

string

The FCC identifier of the device.

device.serialNumber

string

A serial number assigned to the device by the device manufacturer.

device.preloadedConfig

object (DeviceConfig)

Configuration of the device, as specified via SAS Portal API.

device.activeConfig

object (DeviceConfig)

Output only. Current configuration of the device as registered to the SAS.

device.state

enum (State)

Output only. Device state.

device.grants[]

object (DeviceGrant)

Output only. Grants held by the device.

device.displayName

string

Device display name.

device.deviceMetadata

object (DeviceMetadata)

Device parameters that can be overridden by both SAS Portal and SAS registration requests.

device.currentChannels[]
(deprecated)

object (ChannelWithScore)

Output only. Current channels with scores.

device.grantRangeAllowlists[]

object (FrequencyRange)

Only ranges that are within the allowlists are available for new grants.

Response body

If successful, the response body is empty.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/sasportal