diff --git a/docs/dyn/sasportal_v1alpha1.nodes.devices.html b/docs/dyn/sasportal_v1alpha1.nodes.devices.html
index b39b7e8..640fbfc 100644
--- a/docs/dyn/sasportal_v1alpha1.nodes.devices.html
+++ b/docs/dyn/sasportal_v1alpha1.nodes.devices.html
@@ -78,11 +78,14 @@
   <code><a href="#bulk">bulk(parent, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates a device under a node or customer. Returned devices are unordered.</p>
 <p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
   <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates a device under a node or customer.</p>
 <p class="toc_element">
   <code><a href="#createSigned">createSigned(parent, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Creates a signed device under a</p>
+<p class="firstline">Creates a signed device under a node or customer.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Deletes a device.</p>
@@ -118,8 +121,7 @@
     The object takes the form of:
 
 { # Request for BulkCreateDevice method.
-    &quot;csv&quot;: &quot;A String&quot;, # Required. A csv with each row representing a [device]. Each row must
-        # conform to the regulations described on CreateDeviceRequest&#x27;s device field.
+    &quot;csv&quot;: &quot;A String&quot;, # Required. A csv with each row representing a [device]. Each row must conform to the regulations described on CreateDeviceRequest&#x27;s device field.
   }
 
   x__xgafv: string, V1 error format.
@@ -133,206 +135,125 @@
     { # Response for BulkCreateDevice method.
     &quot;devices&quot;: [ # Required. The devices that were imported.
       {
+        &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS registration requests.
+        },
+        &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
         &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
-        &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
-        &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
-          &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
-            &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a
-                # value between -127 and +128 (dBi) inclusive.
-            &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
-            &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False:
-                # outdoor.
-            &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value
-                # between -90 and +90 inclusive; a negative value means the antenna
-                # is tilted up (above horizontal). This parameter is optional for
-                # Category A devices and conditional for Category B devices.
-            &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter
-                # value is &quot;AGL&quot;, the antenna height should be given relative to
-                # ground level. When the heightType parameter value is &quot;AMSL&quot;, it
-                # is given with respect to WGS84 datum.
-            &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
-            &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in
-                # degrees with respect to true north. The value of this parameter
-                # is an integer with a value between 0 and 359 inclusive. A value
-                # of 0 degrees means true north; a value of 90 degrees means
-                # east. This parameter is optional for Category A devices and
-                # conditional for Category B devices.
-            &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in
-                # degrees.  This parameter is an unsigned integer having a value
-                # between 0 and 360 (degrees) inclusive; it is optional for
-                # Category A devices and conditional for Category B devices.
-            &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-                # antenna vertical location. This optional parameter should only be
-                # present if its value is less than the FCC requirement of 3
-                # meters.
-            &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to
-                # the WGS 84 datum. The allowed range is from -180.000000 to
-                # +180.000000. Positive values represent longitudes east of the
-                # prime meridian; negative values west of the prime
-                # meridian.
-            &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz
-                # and is an integer with a value between -127 and +47 (dBm/10 MHz)
-                # inclusive. If not included, SAS interprets it as maximum
-                # allowable EIRP in units of dBm/10MHz for device category.
-            &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally
-                # provided in this field. The string has a maximum length of 128
-                # octets.
-            &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to
-                # the WGS 84 datum. The allowed range is from -90.000000 to
-                # +90.000000. Positive values represent latitudes north of the
-                # equator; negative values south of the equator.
-            &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-                # antenna horizontal location. This optional parameter should only
-                # be present if its value is less than the FCC requirement of 50
-                # meters.
-          },
-          &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
-          &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
-            &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
-            &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
-            &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
-            &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
-            &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
-          },
-          &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
-          &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
-          &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
-            &quot;A String&quot;,
-          ],
-          &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
-            &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air
-                # interface specification that the CBSD is compliant with at the time of
-                # registration.
-                #
-                # Optional
-            &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD.
-                #
-                # Conditional
-          },
-          &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
-          &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
-          &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
-        },
-        &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device
-            # manufacturer.
-        &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
-          &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
-            &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a
-                # value between -127 and +128 (dBi) inclusive.
-            &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
-            &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False:
-                # outdoor.
-            &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value
-                # between -90 and +90 inclusive; a negative value means the antenna
-                # is tilted up (above horizontal). This parameter is optional for
-                # Category A devices and conditional for Category B devices.
-            &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter
-                # value is &quot;AGL&quot;, the antenna height should be given relative to
-                # ground level. When the heightType parameter value is &quot;AMSL&quot;, it
-                # is given with respect to WGS84 datum.
-            &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
-            &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in
-                # degrees with respect to true north. The value of this parameter
-                # is an integer with a value between 0 and 359 inclusive. A value
-                # of 0 degrees means true north; a value of 90 degrees means
-                # east. This parameter is optional for Category A devices and
-                # conditional for Category B devices.
-            &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in
-                # degrees.  This parameter is an unsigned integer having a value
-                # between 0 and 360 (degrees) inclusive; it is optional for
-                # Category A devices and conditional for Category B devices.
-            &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-                # antenna vertical location. This optional parameter should only be
-                # present if its value is less than the FCC requirement of 3
-                # meters.
-            &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to
-                # the WGS 84 datum. The allowed range is from -180.000000 to
-                # +180.000000. Positive values represent longitudes east of the
-                # prime meridian; negative values west of the prime
-                # meridian.
-            &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz
-                # and is an integer with a value between -127 and +47 (dBm/10 MHz)
-                # inclusive. If not included, SAS interprets it as maximum
-                # allowable EIRP in units of dBm/10MHz for device category.
-            &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally
-                # provided in this field. The string has a maximum length of 128
-                # octets.
-            &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to
-                # the WGS 84 datum. The allowed range is from -90.000000 to
-                # +90.000000. Positive values represent latitudes north of the
-                # equator; negative values south of the equator.
-            &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-                # antenna horizontal location. This optional parameter should only
-                # be present if its value is less than the FCC requirement of 50
-                # meters.
-          },
-          &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
-          &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
-            &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
-            &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
-            &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
-            &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
-            &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
-          },
-          &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
-          &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
-          &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
-            &quot;A String&quot;,
-          ],
-          &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
-            &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air
-                # interface specification that the CBSD is compliant with at the time of
-                # registration.
-                #
-                # Optional
-            &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD.
-                #
-                # Conditional
-          },
-          &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
-          &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
-          &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
-        },
         &quot;grants&quot;: [ # Output only. Grants held by the device.
-          { # Device grant. It is an authorization provided by the Spectrum
-              # Access System to a device to transmit using specified operating
-              # parameters after a successful heartbeat by the device.
-            &quot;maxEirp&quot;: 3.14, # Maximum Equivalent Isotropically Radiated Power (EIRP) permitted
-                # by the grant. The maximum EIRP is in units of dBm/MHz. The
-                # value of maxEirp represents the average (RMS) EIRP that would be
-                # measured by the procedure defined in FCC part 96.41(e)(3).
-            &quot;state&quot;: &quot;A String&quot;, # State of the grant.
-            &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
-              { # An entry in a DPA&#x27;s move list.
-                &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
-                &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
-                  &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
-                  &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
-                },
-              },
-            ],
+          { # Device grant. It is an authorization provided by the Spectrum Access System to a device to transmit using specified operating parameters after a successful heartbeat by the device.
             &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
               &quot;A String&quot;,
             ],
-            &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
-            &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
             &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The transmission frequency range.
-              &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
               &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
+              &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
             },
+            &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
+            &quot;maxEirp&quot;: 3.14, # Maximum Equivalent Isotropically Radiated Power (EIRP) permitted by the grant. The maximum EIRP is in units of dBm/MHz. The value of maxEirp represents the average (RMS) EIRP that would be measured by the procedure defined in FCC part 96.41(e)(3).
+            &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
+            &quot;state&quot;: &quot;A String&quot;, # State of the grant.
+            &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
+            &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
+              { # An entry in a DPA&#x27;s move list.
+                &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
+                  &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
+                  &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
+                },
+                &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
+              },
+            ],
           },
         ],
-        &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
-        &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
-        &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS
-            # registration requests.
+        &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
+        &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
+          &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
+            &quot;A String&quot;,
+          ],
+          &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
+            &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
+            &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air interface specification that the CBSD is compliant with at the time of registration. Optional
+          },
+          &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
+          &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
+            &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
+            &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
+            &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
+            &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
+            &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
+          },
+          &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
+          &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
+          &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
+          &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
+            &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna vertical location. This optional parameter should only be present if its value is less than the FCC requirement of 3 meters.
+            &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna horizontal location. This optional parameter should only be present if its value is less than the FCC requirement of 50 meters.
+            &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
+            &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in degrees with respect to true north. The value of this parameter is an integer with a value between 0 and 359 inclusive. A value of 0 degrees means true north; a value of 90 degrees means east. This parameter is optional for Category A devices and conditional for Category B devices.
+            &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in degrees. This parameter is an unsigned integer having a value between 0 and 360 (degrees) inclusive; it is optional for Category A devices and conditional for Category B devices.
+            &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz and is an integer with a value between -127 and +47 (dBm/10 MHz) inclusive. If not included, SAS interprets it as maximum allowable EIRP in units of dBm/10MHz for device category.
+            &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value between -90 and +90 inclusive; a negative value means the antenna is tilted up (above horizontal). This parameter is optional for Category A devices and conditional for Category B devices.
+            &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
+            &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
+            &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
+            &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
+            &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to the WGS 84 datum. The allowed range is from -90.000000 to +90.000000. Positive values represent latitudes north of the equator; negative values south of the equator.
+            &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
+            &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to the WGS 84 datum. The allowed range is from -180.000000 to +180.000000. Positive values represent longitudes east of the prime meridian; negative values west of the prime meridian.
+          },
+          &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
+          &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
         },
+        &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
+          &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
+            &quot;A String&quot;,
+          ],
+          &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
+            &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
+            &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air interface specification that the CBSD is compliant with at the time of registration. Optional
+          },
+          &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
+          &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
+            &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
+            &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
+            &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
+            &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
+            &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
+          },
+          &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
+          &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
+          &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
+          &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
+            &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna vertical location. This optional parameter should only be present if its value is less than the FCC requirement of 3 meters.
+            &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna horizontal location. This optional parameter should only be present if its value is less than the FCC requirement of 50 meters.
+            &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
+            &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in degrees with respect to true north. The value of this parameter is an integer with a value between 0 and 359 inclusive. A value of 0 degrees means true north; a value of 90 degrees means east. This parameter is optional for Category A devices and conditional for Category B devices.
+            &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in degrees. This parameter is an unsigned integer having a value between 0 and 360 (degrees) inclusive; it is optional for Category A devices and conditional for Category B devices.
+            &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz and is an integer with a value between -127 and +47 (dBm/10 MHz) inclusive. If not included, SAS interprets it as maximum allowable EIRP in units of dBm/10MHz for device category.
+            &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value between -90 and +90 inclusive; a negative value means the antenna is tilted up (above horizontal). This parameter is optional for Category A devices and conditional for Category B devices.
+            &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
+            &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
+            &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
+            &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
+            &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to the WGS 84 datum. The allowed range is from -90.000000 to +90.000000. Positive values represent latitudes north of the equator; negative values south of the equator.
+            &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
+            &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to the WGS 84 datum. The allowed range is from -180.000000 to +180.000000. Positive values represent longitudes east of the prime meridian; negative values west of the prime meridian.
+          },
+          &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
+          &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
+        },
+        &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
+        &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
       },
     ],
   }</pre>
 </div>
 
 <div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
     <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
   <pre>Creates a device under a node or customer.
 
@@ -342,200 +263,114 @@
     The object takes the form of:
 
 {
+  &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS registration requests.
+  },
+  &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
-  &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
-  &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
-    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
-      &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a
-          # value between -127 and +128 (dBi) inclusive.
-      &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
-      &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False:
-          # outdoor.
-      &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value
-          # between -90 and +90 inclusive; a negative value means the antenna
-          # is tilted up (above horizontal). This parameter is optional for
-          # Category A devices and conditional for Category B devices.
-      &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter
-          # value is &quot;AGL&quot;, the antenna height should be given relative to
-          # ground level. When the heightType parameter value is &quot;AMSL&quot;, it
-          # is given with respect to WGS84 datum.
-      &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
-      &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in
-          # degrees with respect to true north. The value of this parameter
-          # is an integer with a value between 0 and 359 inclusive. A value
-          # of 0 degrees means true north; a value of 90 degrees means
-          # east. This parameter is optional for Category A devices and
-          # conditional for Category B devices.
-      &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in
-          # degrees.  This parameter is an unsigned integer having a value
-          # between 0 and 360 (degrees) inclusive; it is optional for
-          # Category A devices and conditional for Category B devices.
-      &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-          # antenna vertical location. This optional parameter should only be
-          # present if its value is less than the FCC requirement of 3
-          # meters.
-      &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to
-          # the WGS 84 datum. The allowed range is from -180.000000 to
-          # +180.000000. Positive values represent longitudes east of the
-          # prime meridian; negative values west of the prime
-          # meridian.
-      &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz
-          # and is an integer with a value between -127 and +47 (dBm/10 MHz)
-          # inclusive. If not included, SAS interprets it as maximum
-          # allowable EIRP in units of dBm/10MHz for device category.
-      &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally
-          # provided in this field. The string has a maximum length of 128
-          # octets.
-      &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to
-          # the WGS 84 datum. The allowed range is from -90.000000 to
-          # +90.000000. Positive values represent latitudes north of the
-          # equator; negative values south of the equator.
-      &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-          # antenna horizontal location. This optional parameter should only
-          # be present if its value is less than the FCC requirement of 50
-          # meters.
-    },
-    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
-    &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
-      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
-      &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
-      &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
-      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
-      &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
-    },
-    &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
-    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
-    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
-      &quot;A String&quot;,
-    ],
-    &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
-      &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air
-          # interface specification that the CBSD is compliant with at the time of
-          # registration.
-          #
-          # Optional
-      &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD.
-          #
-          # Conditional
-    },
-    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
-    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
-    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
-  },
-  &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device
-      # manufacturer.
-  &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
-    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
-      &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a
-          # value between -127 and +128 (dBi) inclusive.
-      &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
-      &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False:
-          # outdoor.
-      &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value
-          # between -90 and +90 inclusive; a negative value means the antenna
-          # is tilted up (above horizontal). This parameter is optional for
-          # Category A devices and conditional for Category B devices.
-      &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter
-          # value is &quot;AGL&quot;, the antenna height should be given relative to
-          # ground level. When the heightType parameter value is &quot;AMSL&quot;, it
-          # is given with respect to WGS84 datum.
-      &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
-      &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in
-          # degrees with respect to true north. The value of this parameter
-          # is an integer with a value between 0 and 359 inclusive. A value
-          # of 0 degrees means true north; a value of 90 degrees means
-          # east. This parameter is optional for Category A devices and
-          # conditional for Category B devices.
-      &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in
-          # degrees.  This parameter is an unsigned integer having a value
-          # between 0 and 360 (degrees) inclusive; it is optional for
-          # Category A devices and conditional for Category B devices.
-      &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-          # antenna vertical location. This optional parameter should only be
-          # present if its value is less than the FCC requirement of 3
-          # meters.
-      &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to
-          # the WGS 84 datum. The allowed range is from -180.000000 to
-          # +180.000000. Positive values represent longitudes east of the
-          # prime meridian; negative values west of the prime
-          # meridian.
-      &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz
-          # and is an integer with a value between -127 and +47 (dBm/10 MHz)
-          # inclusive. If not included, SAS interprets it as maximum
-          # allowable EIRP in units of dBm/10MHz for device category.
-      &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally
-          # provided in this field. The string has a maximum length of 128
-          # octets.
-      &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to
-          # the WGS 84 datum. The allowed range is from -90.000000 to
-          # +90.000000. Positive values represent latitudes north of the
-          # equator; negative values south of the equator.
-      &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-          # antenna horizontal location. This optional parameter should only
-          # be present if its value is less than the FCC requirement of 50
-          # meters.
-    },
-    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
-    &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
-      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
-      &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
-      &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
-      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
-      &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
-    },
-    &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
-    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
-    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
-      &quot;A String&quot;,
-    ],
-    &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
-      &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air
-          # interface specification that the CBSD is compliant with at the time of
-          # registration.
-          #
-          # Optional
-      &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD.
-          #
-          # Conditional
-    },
-    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
-    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
-    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
-  },
   &quot;grants&quot;: [ # Output only. Grants held by the device.
-    { # Device grant. It is an authorization provided by the Spectrum
-        # Access System to a device to transmit using specified operating
-        # parameters after a successful heartbeat by the device.
-      &quot;maxEirp&quot;: 3.14, # Maximum Equivalent Isotropically Radiated Power (EIRP) permitted
-          # by the grant. The maximum EIRP is in units of dBm/MHz. The
-          # value of maxEirp represents the average (RMS) EIRP that would be
-          # measured by the procedure defined in FCC part 96.41(e)(3).
-      &quot;state&quot;: &quot;A String&quot;, # State of the grant.
-      &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
-        { # An entry in a DPA&#x27;s move list.
-          &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
-          &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
-            &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
-            &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
-          },
-        },
-      ],
+    { # Device grant. It is an authorization provided by the Spectrum Access System to a device to transmit using specified operating parameters after a successful heartbeat by the device.
       &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
         &quot;A String&quot;,
       ],
-      &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
-      &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
       &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The transmission frequency range.
-        &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
         &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
+        &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
       },
+      &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
+      &quot;maxEirp&quot;: 3.14, # Maximum Equivalent Isotropically Radiated Power (EIRP) permitted by the grant. The maximum EIRP is in units of dBm/MHz. The value of maxEirp represents the average (RMS) EIRP that would be measured by the procedure defined in FCC part 96.41(e)(3).
+      &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
+      &quot;state&quot;: &quot;A String&quot;, # State of the grant.
+      &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
+      &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
+        { # An entry in a DPA&#x27;s move list.
+          &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
+            &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
+            &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
+          },
+          &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
+        },
+      ],
     },
   ],
-  &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
-  &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
-  &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS
-      # registration requests.
+  &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
+  &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
+    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
+      &quot;A String&quot;,
+    ],
+    &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
+      &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
+      &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air interface specification that the CBSD is compliant with at the time of registration. Optional
+    },
+    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
+    &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
+      &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
+      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
+      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
+      &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
+      &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
+    },
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
+    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
+    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
+    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
+      &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna vertical location. This optional parameter should only be present if its value is less than the FCC requirement of 3 meters.
+      &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna horizontal location. This optional parameter should only be present if its value is less than the FCC requirement of 50 meters.
+      &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
+      &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in degrees with respect to true north. The value of this parameter is an integer with a value between 0 and 359 inclusive. A value of 0 degrees means true north; a value of 90 degrees means east. This parameter is optional for Category A devices and conditional for Category B devices.
+      &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in degrees. This parameter is an unsigned integer having a value between 0 and 360 (degrees) inclusive; it is optional for Category A devices and conditional for Category B devices.
+      &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz and is an integer with a value between -127 and +47 (dBm/10 MHz) inclusive. If not included, SAS interprets it as maximum allowable EIRP in units of dBm/10MHz for device category.
+      &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value between -90 and +90 inclusive; a negative value means the antenna is tilted up (above horizontal). This parameter is optional for Category A devices and conditional for Category B devices.
+      &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
+      &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
+      &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
+      &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
+      &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to the WGS 84 datum. The allowed range is from -90.000000 to +90.000000. Positive values represent latitudes north of the equator; negative values south of the equator.
+      &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
+      &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to the WGS 84 datum. The allowed range is from -180.000000 to +180.000000. Positive values represent longitudes east of the prime meridian; negative values west of the prime meridian.
+    },
+    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
+    &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
   },
+  &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
+    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
+      &quot;A String&quot;,
+    ],
+    &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
+      &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
+      &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air interface specification that the CBSD is compliant with at the time of registration. Optional
+    },
+    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
+    &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
+      &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
+      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
+      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
+      &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
+      &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
+    },
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
+    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
+    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
+    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
+      &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna vertical location. This optional parameter should only be present if its value is less than the FCC requirement of 3 meters.
+      &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna horizontal location. This optional parameter should only be present if its value is less than the FCC requirement of 50 meters.
+      &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
+      &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in degrees with respect to true north. The value of this parameter is an integer with a value between 0 and 359 inclusive. A value of 0 degrees means true north; a value of 90 degrees means east. This parameter is optional for Category A devices and conditional for Category B devices.
+      &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in degrees. This parameter is an unsigned integer having a value between 0 and 360 (degrees) inclusive; it is optional for Category A devices and conditional for Category B devices.
+      &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz and is an integer with a value between -127 and +47 (dBm/10 MHz) inclusive. If not included, SAS interprets it as maximum allowable EIRP in units of dBm/10MHz for device category.
+      &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value between -90 and +90 inclusive; a negative value means the antenna is tilted up (above horizontal). This parameter is optional for Category A devices and conditional for Category B devices.
+      &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
+      &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
+      &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
+      &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
+      &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to the WGS 84 datum. The allowed range is from -90.000000 to +90.000000. Positive values represent latitudes north of the equator; negative values south of the equator.
+      &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
+      &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to the WGS 84 datum. The allowed range is from -180.000000 to +180.000000. Positive values represent longitudes east of the prime meridian; negative values west of the prime meridian.
+    },
+    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
+    &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
+  },
+  &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
 }
 
   x__xgafv: string, V1 error format.
@@ -547,207 +382,120 @@
   An object of the form:
 
     {
+    &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS registration requests.
+    },
+    &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
-    &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
-    &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
-      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
-        &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a
-            # value between -127 and +128 (dBi) inclusive.
-        &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
-        &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False:
-            # outdoor.
-        &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value
-            # between -90 and +90 inclusive; a negative value means the antenna
-            # is tilted up (above horizontal). This parameter is optional for
-            # Category A devices and conditional for Category B devices.
-        &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter
-            # value is &quot;AGL&quot;, the antenna height should be given relative to
-            # ground level. When the heightType parameter value is &quot;AMSL&quot;, it
-            # is given with respect to WGS84 datum.
-        &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
-        &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in
-            # degrees with respect to true north. The value of this parameter
-            # is an integer with a value between 0 and 359 inclusive. A value
-            # of 0 degrees means true north; a value of 90 degrees means
-            # east. This parameter is optional for Category A devices and
-            # conditional for Category B devices.
-        &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in
-            # degrees.  This parameter is an unsigned integer having a value
-            # between 0 and 360 (degrees) inclusive; it is optional for
-            # Category A devices and conditional for Category B devices.
-        &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-            # antenna vertical location. This optional parameter should only be
-            # present if its value is less than the FCC requirement of 3
-            # meters.
-        &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to
-            # the WGS 84 datum. The allowed range is from -180.000000 to
-            # +180.000000. Positive values represent longitudes east of the
-            # prime meridian; negative values west of the prime
-            # meridian.
-        &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz
-            # and is an integer with a value between -127 and +47 (dBm/10 MHz)
-            # inclusive. If not included, SAS interprets it as maximum
-            # allowable EIRP in units of dBm/10MHz for device category.
-        &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally
-            # provided in this field. The string has a maximum length of 128
-            # octets.
-        &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to
-            # the WGS 84 datum. The allowed range is from -90.000000 to
-            # +90.000000. Positive values represent latitudes north of the
-            # equator; negative values south of the equator.
-        &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-            # antenna horizontal location. This optional parameter should only
-            # be present if its value is less than the FCC requirement of 50
-            # meters.
-      },
-      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
-      &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
-        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
-        &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
-        &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
-        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
-        &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
-      },
-      &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
-      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
-      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
-        &quot;A String&quot;,
-      ],
-      &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
-        &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air
-            # interface specification that the CBSD is compliant with at the time of
-            # registration.
-            #
-            # Optional
-        &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD.
-            #
-            # Conditional
-      },
-      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
-      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
-      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
-    },
-    &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device
-        # manufacturer.
-    &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
-      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
-        &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a
-            # value between -127 and +128 (dBi) inclusive.
-        &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
-        &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False:
-            # outdoor.
-        &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value
-            # between -90 and +90 inclusive; a negative value means the antenna
-            # is tilted up (above horizontal). This parameter is optional for
-            # Category A devices and conditional for Category B devices.
-        &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter
-            # value is &quot;AGL&quot;, the antenna height should be given relative to
-            # ground level. When the heightType parameter value is &quot;AMSL&quot;, it
-            # is given with respect to WGS84 datum.
-        &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
-        &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in
-            # degrees with respect to true north. The value of this parameter
-            # is an integer with a value between 0 and 359 inclusive. A value
-            # of 0 degrees means true north; a value of 90 degrees means
-            # east. This parameter is optional for Category A devices and
-            # conditional for Category B devices.
-        &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in
-            # degrees.  This parameter is an unsigned integer having a value
-            # between 0 and 360 (degrees) inclusive; it is optional for
-            # Category A devices and conditional for Category B devices.
-        &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-            # antenna vertical location. This optional parameter should only be
-            # present if its value is less than the FCC requirement of 3
-            # meters.
-        &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to
-            # the WGS 84 datum. The allowed range is from -180.000000 to
-            # +180.000000. Positive values represent longitudes east of the
-            # prime meridian; negative values west of the prime
-            # meridian.
-        &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz
-            # and is an integer with a value between -127 and +47 (dBm/10 MHz)
-            # inclusive. If not included, SAS interprets it as maximum
-            # allowable EIRP in units of dBm/10MHz for device category.
-        &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally
-            # provided in this field. The string has a maximum length of 128
-            # octets.
-        &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to
-            # the WGS 84 datum. The allowed range is from -90.000000 to
-            # +90.000000. Positive values represent latitudes north of the
-            # equator; negative values south of the equator.
-        &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-            # antenna horizontal location. This optional parameter should only
-            # be present if its value is less than the FCC requirement of 50
-            # meters.
-      },
-      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
-      &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
-        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
-        &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
-        &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
-        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
-        &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
-      },
-      &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
-      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
-      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
-        &quot;A String&quot;,
-      ],
-      &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
-        &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air
-            # interface specification that the CBSD is compliant with at the time of
-            # registration.
-            #
-            # Optional
-        &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD.
-            #
-            # Conditional
-      },
-      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
-      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
-      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
-    },
     &quot;grants&quot;: [ # Output only. Grants held by the device.
-      { # Device grant. It is an authorization provided by the Spectrum
-          # Access System to a device to transmit using specified operating
-          # parameters after a successful heartbeat by the device.
-        &quot;maxEirp&quot;: 3.14, # Maximum Equivalent Isotropically Radiated Power (EIRP) permitted
-            # by the grant. The maximum EIRP is in units of dBm/MHz. The
-            # value of maxEirp represents the average (RMS) EIRP that would be
-            # measured by the procedure defined in FCC part 96.41(e)(3).
-        &quot;state&quot;: &quot;A String&quot;, # State of the grant.
-        &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
-          { # An entry in a DPA&#x27;s move list.
-            &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
-            &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
-              &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
-              &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
-            },
-          },
-        ],
+      { # Device grant. It is an authorization provided by the Spectrum Access System to a device to transmit using specified operating parameters after a successful heartbeat by the device.
         &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
           &quot;A String&quot;,
         ],
-        &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
-        &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
         &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The transmission frequency range.
-          &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
           &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
+          &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
         },
+        &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
+        &quot;maxEirp&quot;: 3.14, # Maximum Equivalent Isotropically Radiated Power (EIRP) permitted by the grant. The maximum EIRP is in units of dBm/MHz. The value of maxEirp represents the average (RMS) EIRP that would be measured by the procedure defined in FCC part 96.41(e)(3).
+        &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
+        &quot;state&quot;: &quot;A String&quot;, # State of the grant.
+        &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
+        &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
+          { # An entry in a DPA&#x27;s move list.
+            &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
+              &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
+              &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
+            },
+            &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
+          },
+        ],
       },
     ],
-    &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
-    &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
-    &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS
-        # registration requests.
+    &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
+    &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
+      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
+        &quot;A String&quot;,
+      ],
+      &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
+        &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
+        &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air interface specification that the CBSD is compliant with at the time of registration. Optional
+      },
+      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
+      &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
+        &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
+        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
+        &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
+        &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
+      },
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
+      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
+      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
+      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
+        &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna vertical location. This optional parameter should only be present if its value is less than the FCC requirement of 3 meters.
+        &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna horizontal location. This optional parameter should only be present if its value is less than the FCC requirement of 50 meters.
+        &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
+        &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in degrees with respect to true north. The value of this parameter is an integer with a value between 0 and 359 inclusive. A value of 0 degrees means true north; a value of 90 degrees means east. This parameter is optional for Category A devices and conditional for Category B devices.
+        &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in degrees. This parameter is an unsigned integer having a value between 0 and 360 (degrees) inclusive; it is optional for Category A devices and conditional for Category B devices.
+        &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz and is an integer with a value between -127 and +47 (dBm/10 MHz) inclusive. If not included, SAS interprets it as maximum allowable EIRP in units of dBm/10MHz for device category.
+        &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value between -90 and +90 inclusive; a negative value means the antenna is tilted up (above horizontal). This parameter is optional for Category A devices and conditional for Category B devices.
+        &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
+        &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
+        &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
+        &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
+        &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to the WGS 84 datum. The allowed range is from -90.000000 to +90.000000. Positive values represent latitudes north of the equator; negative values south of the equator.
+        &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
+        &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to the WGS 84 datum. The allowed range is from -180.000000 to +180.000000. Positive values represent longitudes east of the prime meridian; negative values west of the prime meridian.
+      },
+      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
+      &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
     },
+    &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
+      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
+        &quot;A String&quot;,
+      ],
+      &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
+        &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
+        &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air interface specification that the CBSD is compliant with at the time of registration. Optional
+      },
+      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
+      &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
+        &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
+        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
+        &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
+        &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
+      },
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
+      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
+      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
+      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
+        &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna vertical location. This optional parameter should only be present if its value is less than the FCC requirement of 3 meters.
+        &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna horizontal location. This optional parameter should only be present if its value is less than the FCC requirement of 50 meters.
+        &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
+        &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in degrees with respect to true north. The value of this parameter is an integer with a value between 0 and 359 inclusive. A value of 0 degrees means true north; a value of 90 degrees means east. This parameter is optional for Category A devices and conditional for Category B devices.
+        &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in degrees. This parameter is an unsigned integer having a value between 0 and 360 (degrees) inclusive; it is optional for Category A devices and conditional for Category B devices.
+        &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz and is an integer with a value between -127 and +47 (dBm/10 MHz) inclusive. If not included, SAS interprets it as maximum allowable EIRP in units of dBm/10MHz for device category.
+        &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value between -90 and +90 inclusive; a negative value means the antenna is tilted up (above horizontal). This parameter is optional for Category A devices and conditional for Category B devices.
+        &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
+        &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
+        &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
+        &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
+        &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to the WGS 84 datum. The allowed range is from -90.000000 to +90.000000. Positive values represent latitudes north of the equator; negative values south of the equator.
+        &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
+        &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to the WGS 84 datum. The allowed range is from -180.000000 to +180.000000. Positive values represent longitudes east of the prime meridian; negative values west of the prime meridian.
+      },
+      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
+      &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
+    },
+    &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
+    &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
   }</pre>
 </div>
 
 <div class="method">
     <code class="details" id="createSigned">createSigned(parent, body=None, x__xgafv=None)</code>
-  <pre>Creates a signed device under a
-node or customer.
+  <pre>Creates a signed device under a node or customer.
 
 Args:
   parent: string, Required. The name of the parent resource. (required)
@@ -755,10 +503,8 @@
     The object takes the form of:
 
 { # Request for CreateSignedDevice method.
-    &quot;installerId&quot;: &quot;A String&quot;, # Required. Unique installer id (cpiId) from the Certified Professional
-        # Installers database.
-    &quot;encodedDevice&quot;: &quot;A String&quot;, # Required. JSON Web Token signed using a CPI private key. Payload
-        # must be the JSON encoding of the [Device]. The user_id field must be set.
+    &quot;encodedDevice&quot;: &quot;A String&quot;, # Required. JSON Web Token signed using a CPI private key. Payload must be the JSON encoding of the [Device]. The user_id field must be set.
+    &quot;installerId&quot;: &quot;A String&quot;, # Required. Unique installer id (cpiId) from the Certified Professional Installers database.
   }
 
   x__xgafv: string, V1 error format.
@@ -770,200 +516,114 @@
   An object of the form:
 
     {
+    &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS registration requests.
+    },
+    &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
-    &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
-    &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
-      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
-        &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a
-            # value between -127 and +128 (dBi) inclusive.
-        &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
-        &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False:
-            # outdoor.
-        &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value
-            # between -90 and +90 inclusive; a negative value means the antenna
-            # is tilted up (above horizontal). This parameter is optional for
-            # Category A devices and conditional for Category B devices.
-        &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter
-            # value is &quot;AGL&quot;, the antenna height should be given relative to
-            # ground level. When the heightType parameter value is &quot;AMSL&quot;, it
-            # is given with respect to WGS84 datum.
-        &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
-        &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in
-            # degrees with respect to true north. The value of this parameter
-            # is an integer with a value between 0 and 359 inclusive. A value
-            # of 0 degrees means true north; a value of 90 degrees means
-            # east. This parameter is optional for Category A devices and
-            # conditional for Category B devices.
-        &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in
-            # degrees.  This parameter is an unsigned integer having a value
-            # between 0 and 360 (degrees) inclusive; it is optional for
-            # Category A devices and conditional for Category B devices.
-        &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-            # antenna vertical location. This optional parameter should only be
-            # present if its value is less than the FCC requirement of 3
-            # meters.
-        &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to
-            # the WGS 84 datum. The allowed range is from -180.000000 to
-            # +180.000000. Positive values represent longitudes east of the
-            # prime meridian; negative values west of the prime
-            # meridian.
-        &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz
-            # and is an integer with a value between -127 and +47 (dBm/10 MHz)
-            # inclusive. If not included, SAS interprets it as maximum
-            # allowable EIRP in units of dBm/10MHz for device category.
-        &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally
-            # provided in this field. The string has a maximum length of 128
-            # octets.
-        &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to
-            # the WGS 84 datum. The allowed range is from -90.000000 to
-            # +90.000000. Positive values represent latitudes north of the
-            # equator; negative values south of the equator.
-        &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-            # antenna horizontal location. This optional parameter should only
-            # be present if its value is less than the FCC requirement of 50
-            # meters.
-      },
-      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
-      &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
-        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
-        &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
-        &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
-        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
-        &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
-      },
-      &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
-      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
-      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
-        &quot;A String&quot;,
-      ],
-      &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
-        &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air
-            # interface specification that the CBSD is compliant with at the time of
-            # registration.
-            #
-            # Optional
-        &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD.
-            #
-            # Conditional
-      },
-      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
-      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
-      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
-    },
-    &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device
-        # manufacturer.
-    &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
-      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
-        &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a
-            # value between -127 and +128 (dBi) inclusive.
-        &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
-        &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False:
-            # outdoor.
-        &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value
-            # between -90 and +90 inclusive; a negative value means the antenna
-            # is tilted up (above horizontal). This parameter is optional for
-            # Category A devices and conditional for Category B devices.
-        &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter
-            # value is &quot;AGL&quot;, the antenna height should be given relative to
-            # ground level. When the heightType parameter value is &quot;AMSL&quot;, it
-            # is given with respect to WGS84 datum.
-        &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
-        &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in
-            # degrees with respect to true north. The value of this parameter
-            # is an integer with a value between 0 and 359 inclusive. A value
-            # of 0 degrees means true north; a value of 90 degrees means
-            # east. This parameter is optional for Category A devices and
-            # conditional for Category B devices.
-        &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in
-            # degrees.  This parameter is an unsigned integer having a value
-            # between 0 and 360 (degrees) inclusive; it is optional for
-            # Category A devices and conditional for Category B devices.
-        &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-            # antenna vertical location. This optional parameter should only be
-            # present if its value is less than the FCC requirement of 3
-            # meters.
-        &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to
-            # the WGS 84 datum. The allowed range is from -180.000000 to
-            # +180.000000. Positive values represent longitudes east of the
-            # prime meridian; negative values west of the prime
-            # meridian.
-        &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz
-            # and is an integer with a value between -127 and +47 (dBm/10 MHz)
-            # inclusive. If not included, SAS interprets it as maximum
-            # allowable EIRP in units of dBm/10MHz for device category.
-        &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally
-            # provided in this field. The string has a maximum length of 128
-            # octets.
-        &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to
-            # the WGS 84 datum. The allowed range is from -90.000000 to
-            # +90.000000. Positive values represent latitudes north of the
-            # equator; negative values south of the equator.
-        &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-            # antenna horizontal location. This optional parameter should only
-            # be present if its value is less than the FCC requirement of 50
-            # meters.
-      },
-      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
-      &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
-        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
-        &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
-        &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
-        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
-        &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
-      },
-      &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
-      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
-      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
-        &quot;A String&quot;,
-      ],
-      &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
-        &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air
-            # interface specification that the CBSD is compliant with at the time of
-            # registration.
-            #
-            # Optional
-        &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD.
-            #
-            # Conditional
-      },
-      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
-      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
-      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
-    },
     &quot;grants&quot;: [ # Output only. Grants held by the device.
-      { # Device grant. It is an authorization provided by the Spectrum
-          # Access System to a device to transmit using specified operating
-          # parameters after a successful heartbeat by the device.
-        &quot;maxEirp&quot;: 3.14, # Maximum Equivalent Isotropically Radiated Power (EIRP) permitted
-            # by the grant. The maximum EIRP is in units of dBm/MHz. The
-            # value of maxEirp represents the average (RMS) EIRP that would be
-            # measured by the procedure defined in FCC part 96.41(e)(3).
-        &quot;state&quot;: &quot;A String&quot;, # State of the grant.
-        &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
-          { # An entry in a DPA&#x27;s move list.
-            &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
-            &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
-              &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
-              &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
-            },
-          },
-        ],
+      { # Device grant. It is an authorization provided by the Spectrum Access System to a device to transmit using specified operating parameters after a successful heartbeat by the device.
         &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
           &quot;A String&quot;,
         ],
-        &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
-        &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
         &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The transmission frequency range.
-          &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
           &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
+          &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
         },
+        &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
+        &quot;maxEirp&quot;: 3.14, # Maximum Equivalent Isotropically Radiated Power (EIRP) permitted by the grant. The maximum EIRP is in units of dBm/MHz. The value of maxEirp represents the average (RMS) EIRP that would be measured by the procedure defined in FCC part 96.41(e)(3).
+        &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
+        &quot;state&quot;: &quot;A String&quot;, # State of the grant.
+        &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
+        &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
+          { # An entry in a DPA&#x27;s move list.
+            &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
+              &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
+              &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
+            },
+            &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
+          },
+        ],
       },
     ],
-    &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
-    &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
-    &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS
-        # registration requests.
+    &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
+    &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
+      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
+        &quot;A String&quot;,
+      ],
+      &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
+        &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
+        &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air interface specification that the CBSD is compliant with at the time of registration. Optional
+      },
+      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
+      &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
+        &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
+        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
+        &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
+        &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
+      },
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
+      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
+      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
+      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
+        &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna vertical location. This optional parameter should only be present if its value is less than the FCC requirement of 3 meters.
+        &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna horizontal location. This optional parameter should only be present if its value is less than the FCC requirement of 50 meters.
+        &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
+        &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in degrees with respect to true north. The value of this parameter is an integer with a value between 0 and 359 inclusive. A value of 0 degrees means true north; a value of 90 degrees means east. This parameter is optional for Category A devices and conditional for Category B devices.
+        &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in degrees. This parameter is an unsigned integer having a value between 0 and 360 (degrees) inclusive; it is optional for Category A devices and conditional for Category B devices.
+        &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz and is an integer with a value between -127 and +47 (dBm/10 MHz) inclusive. If not included, SAS interprets it as maximum allowable EIRP in units of dBm/10MHz for device category.
+        &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value between -90 and +90 inclusive; a negative value means the antenna is tilted up (above horizontal). This parameter is optional for Category A devices and conditional for Category B devices.
+        &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
+        &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
+        &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
+        &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
+        &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to the WGS 84 datum. The allowed range is from -90.000000 to +90.000000. Positive values represent latitudes north of the equator; negative values south of the equator.
+        &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
+        &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to the WGS 84 datum. The allowed range is from -180.000000 to +180.000000. Positive values represent longitudes east of the prime meridian; negative values west of the prime meridian.
+      },
+      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
+      &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
     },
+    &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
+      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
+        &quot;A String&quot;,
+      ],
+      &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
+        &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
+        &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air interface specification that the CBSD is compliant with at the time of registration. Optional
+      },
+      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
+      &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
+        &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
+        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
+        &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
+        &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
+      },
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
+      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
+      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
+      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
+        &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna vertical location. This optional parameter should only be present if its value is less than the FCC requirement of 3 meters.
+        &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna horizontal location. This optional parameter should only be present if its value is less than the FCC requirement of 50 meters.
+        &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
+        &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in degrees with respect to true north. The value of this parameter is an integer with a value between 0 and 359 inclusive. A value of 0 degrees means true north; a value of 90 degrees means east. This parameter is optional for Category A devices and conditional for Category B devices.
+        &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in degrees. This parameter is an unsigned integer having a value between 0 and 360 (degrees) inclusive; it is optional for Category A devices and conditional for Category B devices.
+        &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz and is an integer with a value between -127 and +47 (dBm/10 MHz) inclusive. If not included, SAS interprets it as maximum allowable EIRP in units of dBm/10MHz for device category.
+        &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value between -90 and +90 inclusive; a negative value means the antenna is tilted up (above horizontal). This parameter is optional for Category A devices and conditional for Category B devices.
+        &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
+        &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
+        &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
+        &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
+        &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to the WGS 84 datum. The allowed range is from -90.000000 to +90.000000. Positive values represent latitudes north of the equator; negative values south of the equator.
+        &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
+        &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to the WGS 84 datum. The allowed range is from -180.000000 to +180.000000. Positive values represent longitudes east of the prime meridian; negative values west of the prime meridian.
+      },
+      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
+      &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
+    },
+    &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
+    &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
   }</pre>
 </div>
 
@@ -981,15 +641,7 @@
 Returns:
   An object of the form:
 
-    { # A generic empty message that you can re-use to avoid defining duplicated
-      # empty messages in your APIs. A typical example is to use it as the request
-      # or the response type of an API method. For instance:
-      #
-      #     service Foo {
-      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
-      #     }
-      #
-      # The JSON representation for `Empty` is empty JSON object `{}`.
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
   }</pre>
 </div>
 
@@ -1008,200 +660,114 @@
   An object of the form:
 
     {
+    &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS registration requests.
+    },
+    &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
-    &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
-    &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
-      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
-        &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a
-            # value between -127 and +128 (dBi) inclusive.
-        &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
-        &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False:
-            # outdoor.
-        &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value
-            # between -90 and +90 inclusive; a negative value means the antenna
-            # is tilted up (above horizontal). This parameter is optional for
-            # Category A devices and conditional for Category B devices.
-        &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter
-            # value is &quot;AGL&quot;, the antenna height should be given relative to
-            # ground level. When the heightType parameter value is &quot;AMSL&quot;, it
-            # is given with respect to WGS84 datum.
-        &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
-        &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in
-            # degrees with respect to true north. The value of this parameter
-            # is an integer with a value between 0 and 359 inclusive. A value
-            # of 0 degrees means true north; a value of 90 degrees means
-            # east. This parameter is optional for Category A devices and
-            # conditional for Category B devices.
-        &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in
-            # degrees.  This parameter is an unsigned integer having a value
-            # between 0 and 360 (degrees) inclusive; it is optional for
-            # Category A devices and conditional for Category B devices.
-        &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-            # antenna vertical location. This optional parameter should only be
-            # present if its value is less than the FCC requirement of 3
-            # meters.
-        &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to
-            # the WGS 84 datum. The allowed range is from -180.000000 to
-            # +180.000000. Positive values represent longitudes east of the
-            # prime meridian; negative values west of the prime
-            # meridian.
-        &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz
-            # and is an integer with a value between -127 and +47 (dBm/10 MHz)
-            # inclusive. If not included, SAS interprets it as maximum
-            # allowable EIRP in units of dBm/10MHz for device category.
-        &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally
-            # provided in this field. The string has a maximum length of 128
-            # octets.
-        &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to
-            # the WGS 84 datum. The allowed range is from -90.000000 to
-            # +90.000000. Positive values represent latitudes north of the
-            # equator; negative values south of the equator.
-        &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-            # antenna horizontal location. This optional parameter should only
-            # be present if its value is less than the FCC requirement of 50
-            # meters.
-      },
-      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
-      &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
-        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
-        &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
-        &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
-        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
-        &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
-      },
-      &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
-      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
-      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
-        &quot;A String&quot;,
-      ],
-      &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
-        &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air
-            # interface specification that the CBSD is compliant with at the time of
-            # registration.
-            #
-            # Optional
-        &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD.
-            #
-            # Conditional
-      },
-      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
-      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
-      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
-    },
-    &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device
-        # manufacturer.
-    &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
-      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
-        &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a
-            # value between -127 and +128 (dBi) inclusive.
-        &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
-        &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False:
-            # outdoor.
-        &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value
-            # between -90 and +90 inclusive; a negative value means the antenna
-            # is tilted up (above horizontal). This parameter is optional for
-            # Category A devices and conditional for Category B devices.
-        &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter
-            # value is &quot;AGL&quot;, the antenna height should be given relative to
-            # ground level. When the heightType parameter value is &quot;AMSL&quot;, it
-            # is given with respect to WGS84 datum.
-        &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
-        &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in
-            # degrees with respect to true north. The value of this parameter
-            # is an integer with a value between 0 and 359 inclusive. A value
-            # of 0 degrees means true north; a value of 90 degrees means
-            # east. This parameter is optional for Category A devices and
-            # conditional for Category B devices.
-        &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in
-            # degrees.  This parameter is an unsigned integer having a value
-            # between 0 and 360 (degrees) inclusive; it is optional for
-            # Category A devices and conditional for Category B devices.
-        &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-            # antenna vertical location. This optional parameter should only be
-            # present if its value is less than the FCC requirement of 3
-            # meters.
-        &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to
-            # the WGS 84 datum. The allowed range is from -180.000000 to
-            # +180.000000. Positive values represent longitudes east of the
-            # prime meridian; negative values west of the prime
-            # meridian.
-        &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz
-            # and is an integer with a value between -127 and +47 (dBm/10 MHz)
-            # inclusive. If not included, SAS interprets it as maximum
-            # allowable EIRP in units of dBm/10MHz for device category.
-        &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally
-            # provided in this field. The string has a maximum length of 128
-            # octets.
-        &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to
-            # the WGS 84 datum. The allowed range is from -90.000000 to
-            # +90.000000. Positive values represent latitudes north of the
-            # equator; negative values south of the equator.
-        &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-            # antenna horizontal location. This optional parameter should only
-            # be present if its value is less than the FCC requirement of 50
-            # meters.
-      },
-      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
-      &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
-        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
-        &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
-        &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
-        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
-        &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
-      },
-      &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
-      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
-      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
-        &quot;A String&quot;,
-      ],
-      &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
-        &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air
-            # interface specification that the CBSD is compliant with at the time of
-            # registration.
-            #
-            # Optional
-        &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD.
-            #
-            # Conditional
-      },
-      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
-      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
-      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
-    },
     &quot;grants&quot;: [ # Output only. Grants held by the device.
-      { # Device grant. It is an authorization provided by the Spectrum
-          # Access System to a device to transmit using specified operating
-          # parameters after a successful heartbeat by the device.
-        &quot;maxEirp&quot;: 3.14, # Maximum Equivalent Isotropically Radiated Power (EIRP) permitted
-            # by the grant. The maximum EIRP is in units of dBm/MHz. The
-            # value of maxEirp represents the average (RMS) EIRP that would be
-            # measured by the procedure defined in FCC part 96.41(e)(3).
-        &quot;state&quot;: &quot;A String&quot;, # State of the grant.
-        &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
-          { # An entry in a DPA&#x27;s move list.
-            &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
-            &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
-              &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
-              &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
-            },
-          },
-        ],
+      { # Device grant. It is an authorization provided by the Spectrum Access System to a device to transmit using specified operating parameters after a successful heartbeat by the device.
         &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
           &quot;A String&quot;,
         ],
-        &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
-        &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
         &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The transmission frequency range.
-          &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
           &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
+          &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
         },
+        &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
+        &quot;maxEirp&quot;: 3.14, # Maximum Equivalent Isotropically Radiated Power (EIRP) permitted by the grant. The maximum EIRP is in units of dBm/MHz. The value of maxEirp represents the average (RMS) EIRP that would be measured by the procedure defined in FCC part 96.41(e)(3).
+        &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
+        &quot;state&quot;: &quot;A String&quot;, # State of the grant.
+        &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
+        &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
+          { # An entry in a DPA&#x27;s move list.
+            &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
+              &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
+              &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
+            },
+            &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
+          },
+        ],
       },
     ],
-    &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
-    &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
-    &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS
-        # registration requests.
+    &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
+    &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
+      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
+        &quot;A String&quot;,
+      ],
+      &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
+        &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
+        &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air interface specification that the CBSD is compliant with at the time of registration. Optional
+      },
+      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
+      &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
+        &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
+        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
+        &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
+        &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
+      },
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
+      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
+      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
+      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
+        &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna vertical location. This optional parameter should only be present if its value is less than the FCC requirement of 3 meters.
+        &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna horizontal location. This optional parameter should only be present if its value is less than the FCC requirement of 50 meters.
+        &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
+        &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in degrees with respect to true north. The value of this parameter is an integer with a value between 0 and 359 inclusive. A value of 0 degrees means true north; a value of 90 degrees means east. This parameter is optional for Category A devices and conditional for Category B devices.
+        &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in degrees. This parameter is an unsigned integer having a value between 0 and 360 (degrees) inclusive; it is optional for Category A devices and conditional for Category B devices.
+        &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz and is an integer with a value between -127 and +47 (dBm/10 MHz) inclusive. If not included, SAS interprets it as maximum allowable EIRP in units of dBm/10MHz for device category.
+        &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value between -90 and +90 inclusive; a negative value means the antenna is tilted up (above horizontal). This parameter is optional for Category A devices and conditional for Category B devices.
+        &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
+        &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
+        &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
+        &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
+        &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to the WGS 84 datum. The allowed range is from -90.000000 to +90.000000. Positive values represent latitudes north of the equator; negative values south of the equator.
+        &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
+        &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to the WGS 84 datum. The allowed range is from -180.000000 to +180.000000. Positive values represent longitudes east of the prime meridian; negative values west of the prime meridian.
+      },
+      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
+      &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
     },
+    &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
+      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
+        &quot;A String&quot;,
+      ],
+      &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
+        &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
+        &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air interface specification that the CBSD is compliant with at the time of registration. Optional
+      },
+      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
+      &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
+        &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
+        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
+        &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
+        &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
+      },
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
+      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
+      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
+      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
+        &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna vertical location. This optional parameter should only be present if its value is less than the FCC requirement of 3 meters.
+        &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna horizontal location. This optional parameter should only be present if its value is less than the FCC requirement of 50 meters.
+        &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
+        &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in degrees with respect to true north. The value of this parameter is an integer with a value between 0 and 359 inclusive. A value of 0 degrees means true north; a value of 90 degrees means east. This parameter is optional for Category A devices and conditional for Category B devices.
+        &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in degrees. This parameter is an unsigned integer having a value between 0 and 360 (degrees) inclusive; it is optional for Category A devices and conditional for Category B devices.
+        &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz and is an integer with a value between -127 and +47 (dBm/10 MHz) inclusive. If not included, SAS interprets it as maximum allowable EIRP in units of dBm/10MHz for device category.
+        &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value between -90 and +90 inclusive; a negative value means the antenna is tilted up (above horizontal). This parameter is optional for Category A devices and conditional for Category B devices.
+        &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
+        &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
+        &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
+        &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
+        &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to the WGS 84 datum. The allowed range is from -90.000000 to +90.000000. Positive values represent latitudes north of the equator; negative values south of the equator.
+        &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
+        &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to the WGS 84 datum. The allowed range is from -180.000000 to +180.000000. Positive values represent longitudes east of the prime meridian; negative values west of the prime meridian.
+      },
+      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
+      &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
+    },
+    &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
+    &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
   }</pre>
 </div>
 
@@ -1211,14 +777,9 @@
 
 Args:
   parent: string, Required. The name of the parent resource. (required)
-  pageSize: integer, The maximum number of devices to return in the response.
-If empty or zero, all devices will be listed.
-Must be in the range [0, 1000].
-  pageToken: string, A pagination token returned from a previous call to ListDevices
-that indicates where this listing should continue from.
-  filter: string, The filter expression. The filter should have one of the following
-formats: &quot;sn=123454&quot; or &quot;display_name=MyDevice&quot;. sn
-corresponds to serial_number of the device. The filter is case insensitive.
+  pageSize: integer, The maximum number of devices to return in the response. If empty or zero, all devices will be listed. Must be in the range [0, 1000].
+  pageToken: string, A pagination token returned from a previous call to ListDevices that indicates where this listing should continue from.
+  filter: string, The filter expression. The filter should have one of the following formats: &quot;sn=123454&quot; or &quot;display_name=MyDevice&quot;. sn corresponds to serial_number of the device. The filter is case insensitive.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -1230,205 +791,117 @@
     { # Response for ListDevices method.
     &quot;devices&quot;: [ # The devices that match the request.
       {
+        &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS registration requests.
+        },
+        &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
         &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
-        &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
-        &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
-          &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
-            &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a
-                # value between -127 and +128 (dBi) inclusive.
-            &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
-            &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False:
-                # outdoor.
-            &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value
-                # between -90 and +90 inclusive; a negative value means the antenna
-                # is tilted up (above horizontal). This parameter is optional for
-                # Category A devices and conditional for Category B devices.
-            &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter
-                # value is &quot;AGL&quot;, the antenna height should be given relative to
-                # ground level. When the heightType parameter value is &quot;AMSL&quot;, it
-                # is given with respect to WGS84 datum.
-            &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
-            &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in
-                # degrees with respect to true north. The value of this parameter
-                # is an integer with a value between 0 and 359 inclusive. A value
-                # of 0 degrees means true north; a value of 90 degrees means
-                # east. This parameter is optional for Category A devices and
-                # conditional for Category B devices.
-            &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in
-                # degrees.  This parameter is an unsigned integer having a value
-                # between 0 and 360 (degrees) inclusive; it is optional for
-                # Category A devices and conditional for Category B devices.
-            &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-                # antenna vertical location. This optional parameter should only be
-                # present if its value is less than the FCC requirement of 3
-                # meters.
-            &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to
-                # the WGS 84 datum. The allowed range is from -180.000000 to
-                # +180.000000. Positive values represent longitudes east of the
-                # prime meridian; negative values west of the prime
-                # meridian.
-            &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz
-                # and is an integer with a value between -127 and +47 (dBm/10 MHz)
-                # inclusive. If not included, SAS interprets it as maximum
-                # allowable EIRP in units of dBm/10MHz for device category.
-            &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally
-                # provided in this field. The string has a maximum length of 128
-                # octets.
-            &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to
-                # the WGS 84 datum. The allowed range is from -90.000000 to
-                # +90.000000. Positive values represent latitudes north of the
-                # equator; negative values south of the equator.
-            &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-                # antenna horizontal location. This optional parameter should only
-                # be present if its value is less than the FCC requirement of 50
-                # meters.
-          },
-          &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
-          &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
-            &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
-            &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
-            &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
-            &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
-            &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
-          },
-          &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
-          &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
-          &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
-            &quot;A String&quot;,
-          ],
-          &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
-            &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air
-                # interface specification that the CBSD is compliant with at the time of
-                # registration.
-                #
-                # Optional
-            &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD.
-                #
-                # Conditional
-          },
-          &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
-          &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
-          &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
-        },
-        &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device
-            # manufacturer.
-        &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
-          &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
-            &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a
-                # value between -127 and +128 (dBi) inclusive.
-            &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
-            &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False:
-                # outdoor.
-            &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value
-                # between -90 and +90 inclusive; a negative value means the antenna
-                # is tilted up (above horizontal). This parameter is optional for
-                # Category A devices and conditional for Category B devices.
-            &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter
-                # value is &quot;AGL&quot;, the antenna height should be given relative to
-                # ground level. When the heightType parameter value is &quot;AMSL&quot;, it
-                # is given with respect to WGS84 datum.
-            &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
-            &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in
-                # degrees with respect to true north. The value of this parameter
-                # is an integer with a value between 0 and 359 inclusive. A value
-                # of 0 degrees means true north; a value of 90 degrees means
-                # east. This parameter is optional for Category A devices and
-                # conditional for Category B devices.
-            &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in
-                # degrees.  This parameter is an unsigned integer having a value
-                # between 0 and 360 (degrees) inclusive; it is optional for
-                # Category A devices and conditional for Category B devices.
-            &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-                # antenna vertical location. This optional parameter should only be
-                # present if its value is less than the FCC requirement of 3
-                # meters.
-            &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to
-                # the WGS 84 datum. The allowed range is from -180.000000 to
-                # +180.000000. Positive values represent longitudes east of the
-                # prime meridian; negative values west of the prime
-                # meridian.
-            &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz
-                # and is an integer with a value between -127 and +47 (dBm/10 MHz)
-                # inclusive. If not included, SAS interprets it as maximum
-                # allowable EIRP in units of dBm/10MHz for device category.
-            &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally
-                # provided in this field. The string has a maximum length of 128
-                # octets.
-            &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to
-                # the WGS 84 datum. The allowed range is from -90.000000 to
-                # +90.000000. Positive values represent latitudes north of the
-                # equator; negative values south of the equator.
-            &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-                # antenna horizontal location. This optional parameter should only
-                # be present if its value is less than the FCC requirement of 50
-                # meters.
-          },
-          &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
-          &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
-            &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
-            &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
-            &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
-            &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
-            &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
-          },
-          &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
-          &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
-          &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
-            &quot;A String&quot;,
-          ],
-          &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
-            &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air
-                # interface specification that the CBSD is compliant with at the time of
-                # registration.
-                #
-                # Optional
-            &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD.
-                #
-                # Conditional
-          },
-          &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
-          &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
-          &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
-        },
         &quot;grants&quot;: [ # Output only. Grants held by the device.
-          { # Device grant. It is an authorization provided by the Spectrum
-              # Access System to a device to transmit using specified operating
-              # parameters after a successful heartbeat by the device.
-            &quot;maxEirp&quot;: 3.14, # Maximum Equivalent Isotropically Radiated Power (EIRP) permitted
-                # by the grant. The maximum EIRP is in units of dBm/MHz. The
-                # value of maxEirp represents the average (RMS) EIRP that would be
-                # measured by the procedure defined in FCC part 96.41(e)(3).
-            &quot;state&quot;: &quot;A String&quot;, # State of the grant.
-            &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
-              { # An entry in a DPA&#x27;s move list.
-                &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
-                &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
-                  &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
-                  &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
-                },
-              },
-            ],
+          { # Device grant. It is an authorization provided by the Spectrum Access System to a device to transmit using specified operating parameters after a successful heartbeat by the device.
             &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
               &quot;A String&quot;,
             ],
-            &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
-            &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
             &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The transmission frequency range.
-              &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
               &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
+              &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
             },
+            &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
+            &quot;maxEirp&quot;: 3.14, # Maximum Equivalent Isotropically Radiated Power (EIRP) permitted by the grant. The maximum EIRP is in units of dBm/MHz. The value of maxEirp represents the average (RMS) EIRP that would be measured by the procedure defined in FCC part 96.41(e)(3).
+            &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
+            &quot;state&quot;: &quot;A String&quot;, # State of the grant.
+            &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
+            &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
+              { # An entry in a DPA&#x27;s move list.
+                &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
+                  &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
+                  &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
+                },
+                &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
+              },
+            ],
           },
         ],
-        &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
-        &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
-        &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS
-            # registration requests.
+        &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
+        &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
+          &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
+            &quot;A String&quot;,
+          ],
+          &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
+            &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
+            &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air interface specification that the CBSD is compliant with at the time of registration. Optional
+          },
+          &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
+          &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
+            &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
+            &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
+            &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
+            &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
+            &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
+          },
+          &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
+          &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
+          &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
+          &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
+            &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna vertical location. This optional parameter should only be present if its value is less than the FCC requirement of 3 meters.
+            &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna horizontal location. This optional parameter should only be present if its value is less than the FCC requirement of 50 meters.
+            &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
+            &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in degrees with respect to true north. The value of this parameter is an integer with a value between 0 and 359 inclusive. A value of 0 degrees means true north; a value of 90 degrees means east. This parameter is optional for Category A devices and conditional for Category B devices.
+            &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in degrees. This parameter is an unsigned integer having a value between 0 and 360 (degrees) inclusive; it is optional for Category A devices and conditional for Category B devices.
+            &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz and is an integer with a value between -127 and +47 (dBm/10 MHz) inclusive. If not included, SAS interprets it as maximum allowable EIRP in units of dBm/10MHz for device category.
+            &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value between -90 and +90 inclusive; a negative value means the antenna is tilted up (above horizontal). This parameter is optional for Category A devices and conditional for Category B devices.
+            &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
+            &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
+            &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
+            &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
+            &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to the WGS 84 datum. The allowed range is from -90.000000 to +90.000000. Positive values represent latitudes north of the equator; negative values south of the equator.
+            &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
+            &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to the WGS 84 datum. The allowed range is from -180.000000 to +180.000000. Positive values represent longitudes east of the prime meridian; negative values west of the prime meridian.
+          },
+          &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
+          &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
         },
+        &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
+          &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
+            &quot;A String&quot;,
+          ],
+          &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
+            &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
+            &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air interface specification that the CBSD is compliant with at the time of registration. Optional
+          },
+          &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
+          &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
+            &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
+            &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
+            &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
+            &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
+            &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
+          },
+          &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
+          &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
+          &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
+          &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
+            &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna vertical location. This optional parameter should only be present if its value is less than the FCC requirement of 3 meters.
+            &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna horizontal location. This optional parameter should only be present if its value is less than the FCC requirement of 50 meters.
+            &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
+            &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in degrees with respect to true north. The value of this parameter is an integer with a value between 0 and 359 inclusive. A value of 0 degrees means true north; a value of 90 degrees means east. This parameter is optional for Category A devices and conditional for Category B devices.
+            &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in degrees. This parameter is an unsigned integer having a value between 0 and 360 (degrees) inclusive; it is optional for Category A devices and conditional for Category B devices.
+            &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz and is an integer with a value between -127 and +47 (dBm/10 MHz) inclusive. If not included, SAS interprets it as maximum allowable EIRP in units of dBm/10MHz for device category.
+            &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value between -90 and +90 inclusive; a negative value means the antenna is tilted up (above horizontal). This parameter is optional for Category A devices and conditional for Category B devices.
+            &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
+            &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
+            &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
+            &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
+            &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to the WGS 84 datum. The allowed range is from -90.000000 to +90.000000. Positive values represent latitudes north of the equator; negative values south of the equator.
+            &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
+            &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to the WGS 84 datum. The allowed range is from -180.000000 to +180.000000. Positive values represent longitudes east of the prime meridian; negative values west of the prime meridian.
+          },
+          &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
+          &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
+        },
+        &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
+        &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
       },
     ],
-    &quot;nextPageToken&quot;: &quot;A String&quot;, # A pagination token returned from a previous call to ListDevices method
-        # that indicates from where listing should continue. If the field
-        # is missing or empty, it means there is no more devices.
+    &quot;nextPageToken&quot;: &quot;A String&quot;, # A pagination token returned from a previous call to ListDevices method that indicates from where listing should continue. If the field is missing or empty, it means there is no more devices.
   }</pre>
 </div>
 
@@ -1456,8 +929,7 @@
     The object takes the form of:
 
 { # Request for MoveDevice method.
-    &quot;destination&quot;: &quot;A String&quot;, # Required. The name of the new parent resource (Node or Customer) to
-        # reparent the device under.
+    &quot;destination&quot;: &quot;A String&quot;, # Required. The name of the new parent resource (Node or Customer) to reparent the device under.
   }
 
   x__xgafv: string, V1 error format.
@@ -1468,48 +940,24 @@
 Returns:
   An object of the form:
 
-    { # This resource represents a long-running operation that is the result of a
-      # network API call.
-    &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
-        # If `true`, the operation is completed, and either `error` or `response` is
-        # available.
-    &quot;response&quot;: { # The normal response of the operation in case of success.  If the original
-        # method returns no data on success, such as `Delete`, the response is
-        # `google.protobuf.Empty`.  If the original method is standard
-        # `Get`/`Create`/`Update`, the response should be the resource.  For other
-        # methods, the response should have the type `XxxResponse`, where `Xxx`
-        # is the original method name.  For example, if the original method name
-        # is `TakeSnapshot()`, the inferred response type is
-        # `TakeSnapshotResponse`.
-      &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
-    },
-    &quot;metadata&quot;: { # Service-specific metadata associated with the operation.  It typically
-        # contains progress information and common metadata such as create time.
-        # Some services might not provide such metadata.  Any method that returns a
-        # long-running operation should document the metadata type, if any.
-      &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
-    },
-    &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
-        # different programming environments, including REST APIs and RPC APIs. It is
-        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
-        # three pieces of data: error code, error message, and error details.
-        #
-        # You can find out more about this error model and how to work with it in the
-        # [API Design Guide](https://cloud.google.com/apis/design/errors).
-      &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
-      &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
-          # message types for APIs to use.
+    { # This resource represents a long-running operation that is the result of a network API call.
+    &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+    &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+      &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+      &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
         {
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
         },
       ],
-      &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
-          # user-facing error message should be localized and sent in the
-          # google.rpc.Status.details field, or localized by the client.
+      &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
     },
-    &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
-        # originally returns it. If you use the default HTTP mapping, the
-        # `name` should be a resource name ending with `operations/{unique_id}`.
+    &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+    &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+      &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+    },
+    &quot;response&quot;: { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+      &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+    },
   }</pre>
 </div>
 
@@ -1523,200 +971,114 @@
     The object takes the form of:
 
 {
+  &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS registration requests.
+  },
+  &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
   &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
-  &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
-  &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
-    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
-      &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a
-          # value between -127 and +128 (dBi) inclusive.
-      &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
-      &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False:
-          # outdoor.
-      &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value
-          # between -90 and +90 inclusive; a negative value means the antenna
-          # is tilted up (above horizontal). This parameter is optional for
-          # Category A devices and conditional for Category B devices.
-      &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter
-          # value is &quot;AGL&quot;, the antenna height should be given relative to
-          # ground level. When the heightType parameter value is &quot;AMSL&quot;, it
-          # is given with respect to WGS84 datum.
-      &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
-      &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in
-          # degrees with respect to true north. The value of this parameter
-          # is an integer with a value between 0 and 359 inclusive. A value
-          # of 0 degrees means true north; a value of 90 degrees means
-          # east. This parameter is optional for Category A devices and
-          # conditional for Category B devices.
-      &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in
-          # degrees.  This parameter is an unsigned integer having a value
-          # between 0 and 360 (degrees) inclusive; it is optional for
-          # Category A devices and conditional for Category B devices.
-      &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-          # antenna vertical location. This optional parameter should only be
-          # present if its value is less than the FCC requirement of 3
-          # meters.
-      &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to
-          # the WGS 84 datum. The allowed range is from -180.000000 to
-          # +180.000000. Positive values represent longitudes east of the
-          # prime meridian; negative values west of the prime
-          # meridian.
-      &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz
-          # and is an integer with a value between -127 and +47 (dBm/10 MHz)
-          # inclusive. If not included, SAS interprets it as maximum
-          # allowable EIRP in units of dBm/10MHz for device category.
-      &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally
-          # provided in this field. The string has a maximum length of 128
-          # octets.
-      &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to
-          # the WGS 84 datum. The allowed range is from -90.000000 to
-          # +90.000000. Positive values represent latitudes north of the
-          # equator; negative values south of the equator.
-      &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-          # antenna horizontal location. This optional parameter should only
-          # be present if its value is less than the FCC requirement of 50
-          # meters.
-    },
-    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
-    &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
-      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
-      &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
-      &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
-      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
-      &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
-    },
-    &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
-    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
-    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
-      &quot;A String&quot;,
-    ],
-    &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
-      &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air
-          # interface specification that the CBSD is compliant with at the time of
-          # registration.
-          #
-          # Optional
-      &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD.
-          #
-          # Conditional
-    },
-    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
-    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
-    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
-  },
-  &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device
-      # manufacturer.
-  &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
-    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
-      &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a
-          # value between -127 and +128 (dBi) inclusive.
-      &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
-      &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False:
-          # outdoor.
-      &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value
-          # between -90 and +90 inclusive; a negative value means the antenna
-          # is tilted up (above horizontal). This parameter is optional for
-          # Category A devices and conditional for Category B devices.
-      &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter
-          # value is &quot;AGL&quot;, the antenna height should be given relative to
-          # ground level. When the heightType parameter value is &quot;AMSL&quot;, it
-          # is given with respect to WGS84 datum.
-      &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
-      &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in
-          # degrees with respect to true north. The value of this parameter
-          # is an integer with a value between 0 and 359 inclusive. A value
-          # of 0 degrees means true north; a value of 90 degrees means
-          # east. This parameter is optional for Category A devices and
-          # conditional for Category B devices.
-      &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in
-          # degrees.  This parameter is an unsigned integer having a value
-          # between 0 and 360 (degrees) inclusive; it is optional for
-          # Category A devices and conditional for Category B devices.
-      &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-          # antenna vertical location. This optional parameter should only be
-          # present if its value is less than the FCC requirement of 3
-          # meters.
-      &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to
-          # the WGS 84 datum. The allowed range is from -180.000000 to
-          # +180.000000. Positive values represent longitudes east of the
-          # prime meridian; negative values west of the prime
-          # meridian.
-      &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz
-          # and is an integer with a value between -127 and +47 (dBm/10 MHz)
-          # inclusive. If not included, SAS interprets it as maximum
-          # allowable EIRP in units of dBm/10MHz for device category.
-      &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally
-          # provided in this field. The string has a maximum length of 128
-          # octets.
-      &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to
-          # the WGS 84 datum. The allowed range is from -90.000000 to
-          # +90.000000. Positive values represent latitudes north of the
-          # equator; negative values south of the equator.
-      &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-          # antenna horizontal location. This optional parameter should only
-          # be present if its value is less than the FCC requirement of 50
-          # meters.
-    },
-    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
-    &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
-      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
-      &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
-      &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
-      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
-      &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
-    },
-    &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
-    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
-    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
-      &quot;A String&quot;,
-    ],
-    &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
-      &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air
-          # interface specification that the CBSD is compliant with at the time of
-          # registration.
-          #
-          # Optional
-      &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD.
-          #
-          # Conditional
-    },
-    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
-    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
-    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
-  },
   &quot;grants&quot;: [ # Output only. Grants held by the device.
-    { # Device grant. It is an authorization provided by the Spectrum
-        # Access System to a device to transmit using specified operating
-        # parameters after a successful heartbeat by the device.
-      &quot;maxEirp&quot;: 3.14, # Maximum Equivalent Isotropically Radiated Power (EIRP) permitted
-          # by the grant. The maximum EIRP is in units of dBm/MHz. The
-          # value of maxEirp represents the average (RMS) EIRP that would be
-          # measured by the procedure defined in FCC part 96.41(e)(3).
-      &quot;state&quot;: &quot;A String&quot;, # State of the grant.
-      &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
-        { # An entry in a DPA&#x27;s move list.
-          &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
-          &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
-            &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
-            &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
-          },
-        },
-      ],
+    { # Device grant. It is an authorization provided by the Spectrum Access System to a device to transmit using specified operating parameters after a successful heartbeat by the device.
       &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
         &quot;A String&quot;,
       ],
-      &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
-      &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
       &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The transmission frequency range.
-        &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
         &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
+        &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
       },
+      &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
+      &quot;maxEirp&quot;: 3.14, # Maximum Equivalent Isotropically Radiated Power (EIRP) permitted by the grant. The maximum EIRP is in units of dBm/MHz. The value of maxEirp represents the average (RMS) EIRP that would be measured by the procedure defined in FCC part 96.41(e)(3).
+      &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
+      &quot;state&quot;: &quot;A String&quot;, # State of the grant.
+      &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
+      &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
+        { # An entry in a DPA&#x27;s move list.
+          &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
+            &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
+            &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
+          },
+          &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
+        },
+      ],
     },
   ],
-  &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
-  &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
-  &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS
-      # registration requests.
+  &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
+  &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
+    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
+      &quot;A String&quot;,
+    ],
+    &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
+      &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
+      &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air interface specification that the CBSD is compliant with at the time of registration. Optional
+    },
+    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
+    &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
+      &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
+      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
+      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
+      &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
+      &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
+    },
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
+    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
+    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
+    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
+      &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna vertical location. This optional parameter should only be present if its value is less than the FCC requirement of 3 meters.
+      &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna horizontal location. This optional parameter should only be present if its value is less than the FCC requirement of 50 meters.
+      &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
+      &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in degrees with respect to true north. The value of this parameter is an integer with a value between 0 and 359 inclusive. A value of 0 degrees means true north; a value of 90 degrees means east. This parameter is optional for Category A devices and conditional for Category B devices.
+      &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in degrees. This parameter is an unsigned integer having a value between 0 and 360 (degrees) inclusive; it is optional for Category A devices and conditional for Category B devices.
+      &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz and is an integer with a value between -127 and +47 (dBm/10 MHz) inclusive. If not included, SAS interprets it as maximum allowable EIRP in units of dBm/10MHz for device category.
+      &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value between -90 and +90 inclusive; a negative value means the antenna is tilted up (above horizontal). This parameter is optional for Category A devices and conditional for Category B devices.
+      &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
+      &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
+      &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
+      &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
+      &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to the WGS 84 datum. The allowed range is from -90.000000 to +90.000000. Positive values represent latitudes north of the equator; negative values south of the equator.
+      &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
+      &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to the WGS 84 datum. The allowed range is from -180.000000 to +180.000000. Positive values represent longitudes east of the prime meridian; negative values west of the prime meridian.
+    },
+    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
+    &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
   },
+  &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
+    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
+      &quot;A String&quot;,
+    ],
+    &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
+      &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
+      &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air interface specification that the CBSD is compliant with at the time of registration. Optional
+    },
+    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
+    &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
+      &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
+      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
+      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
+      &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
+      &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
+    },
+    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
+    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
+    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
+    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
+      &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna vertical location. This optional parameter should only be present if its value is less than the FCC requirement of 3 meters.
+      &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna horizontal location. This optional parameter should only be present if its value is less than the FCC requirement of 50 meters.
+      &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
+      &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in degrees with respect to true north. The value of this parameter is an integer with a value between 0 and 359 inclusive. A value of 0 degrees means true north; a value of 90 degrees means east. This parameter is optional for Category A devices and conditional for Category B devices.
+      &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in degrees. This parameter is an unsigned integer having a value between 0 and 360 (degrees) inclusive; it is optional for Category A devices and conditional for Category B devices.
+      &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz and is an integer with a value between -127 and +47 (dBm/10 MHz) inclusive. If not included, SAS interprets it as maximum allowable EIRP in units of dBm/10MHz for device category.
+      &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value between -90 and +90 inclusive; a negative value means the antenna is tilted up (above horizontal). This parameter is optional for Category A devices and conditional for Category B devices.
+      &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
+      &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
+      &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
+      &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
+      &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to the WGS 84 datum. The allowed range is from -90.000000 to +90.000000. Positive values represent latitudes north of the equator; negative values south of the equator.
+      &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
+      &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to the WGS 84 datum. The allowed range is from -180.000000 to +180.000000. Positive values represent longitudes east of the prime meridian; negative values west of the prime meridian.
+    },
+    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
+    &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
+  },
+  &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
 }
 
   updateMask: string, Fields to be updated.
@@ -1729,200 +1091,114 @@
   An object of the form:
 
     {
+    &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS registration requests.
+    },
+    &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
-    &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
-    &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
-      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
-        &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a
-            # value between -127 and +128 (dBi) inclusive.
-        &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
-        &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False:
-            # outdoor.
-        &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value
-            # between -90 and +90 inclusive; a negative value means the antenna
-            # is tilted up (above horizontal). This parameter is optional for
-            # Category A devices and conditional for Category B devices.
-        &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter
-            # value is &quot;AGL&quot;, the antenna height should be given relative to
-            # ground level. When the heightType parameter value is &quot;AMSL&quot;, it
-            # is given with respect to WGS84 datum.
-        &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
-        &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in
-            # degrees with respect to true north. The value of this parameter
-            # is an integer with a value between 0 and 359 inclusive. A value
-            # of 0 degrees means true north; a value of 90 degrees means
-            # east. This parameter is optional for Category A devices and
-            # conditional for Category B devices.
-        &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in
-            # degrees.  This parameter is an unsigned integer having a value
-            # between 0 and 360 (degrees) inclusive; it is optional for
-            # Category A devices and conditional for Category B devices.
-        &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-            # antenna vertical location. This optional parameter should only be
-            # present if its value is less than the FCC requirement of 3
-            # meters.
-        &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to
-            # the WGS 84 datum. The allowed range is from -180.000000 to
-            # +180.000000. Positive values represent longitudes east of the
-            # prime meridian; negative values west of the prime
-            # meridian.
-        &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz
-            # and is an integer with a value between -127 and +47 (dBm/10 MHz)
-            # inclusive. If not included, SAS interprets it as maximum
-            # allowable EIRP in units of dBm/10MHz for device category.
-        &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally
-            # provided in this field. The string has a maximum length of 128
-            # octets.
-        &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to
-            # the WGS 84 datum. The allowed range is from -90.000000 to
-            # +90.000000. Positive values represent latitudes north of the
-            # equator; negative values south of the equator.
-        &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-            # antenna horizontal location. This optional parameter should only
-            # be present if its value is less than the FCC requirement of 50
-            # meters.
-      },
-      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
-      &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
-        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
-        &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
-        &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
-        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
-        &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
-      },
-      &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
-      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
-      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
-        &quot;A String&quot;,
-      ],
-      &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
-        &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air
-            # interface specification that the CBSD is compliant with at the time of
-            # registration.
-            #
-            # Optional
-        &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD.
-            #
-            # Conditional
-      },
-      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
-      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
-      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
-    },
-    &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device
-        # manufacturer.
-    &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
-      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
-        &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a
-            # value between -127 and +128 (dBi) inclusive.
-        &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
-        &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False:
-            # outdoor.
-        &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value
-            # between -90 and +90 inclusive; a negative value means the antenna
-            # is tilted up (above horizontal). This parameter is optional for
-            # Category A devices and conditional for Category B devices.
-        &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter
-            # value is &quot;AGL&quot;, the antenna height should be given relative to
-            # ground level. When the heightType parameter value is &quot;AMSL&quot;, it
-            # is given with respect to WGS84 datum.
-        &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
-        &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in
-            # degrees with respect to true north. The value of this parameter
-            # is an integer with a value between 0 and 359 inclusive. A value
-            # of 0 degrees means true north; a value of 90 degrees means
-            # east. This parameter is optional for Category A devices and
-            # conditional for Category B devices.
-        &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in
-            # degrees.  This parameter is an unsigned integer having a value
-            # between 0 and 360 (degrees) inclusive; it is optional for
-            # Category A devices and conditional for Category B devices.
-        &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-            # antenna vertical location. This optional parameter should only be
-            # present if its value is less than the FCC requirement of 3
-            # meters.
-        &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to
-            # the WGS 84 datum. The allowed range is from -180.000000 to
-            # +180.000000. Positive values represent longitudes east of the
-            # prime meridian; negative values west of the prime
-            # meridian.
-        &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz
-            # and is an integer with a value between -127 and +47 (dBm/10 MHz)
-            # inclusive. If not included, SAS interprets it as maximum
-            # allowable EIRP in units of dBm/10MHz for device category.
-        &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally
-            # provided in this field. The string has a maximum length of 128
-            # octets.
-        &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to
-            # the WGS 84 datum. The allowed range is from -90.000000 to
-            # +90.000000. Positive values represent latitudes north of the
-            # equator; negative values south of the equator.
-        &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-            # antenna horizontal location. This optional parameter should only
-            # be present if its value is less than the FCC requirement of 50
-            # meters.
-      },
-      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
-      &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
-        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
-        &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
-        &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
-        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
-        &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
-      },
-      &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
-      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
-      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
-        &quot;A String&quot;,
-      ],
-      &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
-        &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air
-            # interface specification that the CBSD is compliant with at the time of
-            # registration.
-            #
-            # Optional
-        &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD.
-            #
-            # Conditional
-      },
-      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
-      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
-      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
-    },
     &quot;grants&quot;: [ # Output only. Grants held by the device.
-      { # Device grant. It is an authorization provided by the Spectrum
-          # Access System to a device to transmit using specified operating
-          # parameters after a successful heartbeat by the device.
-        &quot;maxEirp&quot;: 3.14, # Maximum Equivalent Isotropically Radiated Power (EIRP) permitted
-            # by the grant. The maximum EIRP is in units of dBm/MHz. The
-            # value of maxEirp represents the average (RMS) EIRP that would be
-            # measured by the procedure defined in FCC part 96.41(e)(3).
-        &quot;state&quot;: &quot;A String&quot;, # State of the grant.
-        &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
-          { # An entry in a DPA&#x27;s move list.
-            &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
-            &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
-              &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
-              &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
-            },
-          },
-        ],
+      { # Device grant. It is an authorization provided by the Spectrum Access System to a device to transmit using specified operating parameters after a successful heartbeat by the device.
         &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
           &quot;A String&quot;,
         ],
-        &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
-        &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
         &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The transmission frequency range.
-          &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
           &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
+          &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
         },
+        &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
+        &quot;maxEirp&quot;: 3.14, # Maximum Equivalent Isotropically Radiated Power (EIRP) permitted by the grant. The maximum EIRP is in units of dBm/MHz. The value of maxEirp represents the average (RMS) EIRP that would be measured by the procedure defined in FCC part 96.41(e)(3).
+        &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
+        &quot;state&quot;: &quot;A String&quot;, # State of the grant.
+        &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
+        &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
+          { # An entry in a DPA&#x27;s move list.
+            &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
+              &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
+              &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
+            },
+            &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
+          },
+        ],
       },
     ],
-    &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
-    &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
-    &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS
-        # registration requests.
+    &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
+    &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
+      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
+        &quot;A String&quot;,
+      ],
+      &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
+        &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
+        &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air interface specification that the CBSD is compliant with at the time of registration. Optional
+      },
+      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
+      &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
+        &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
+        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
+        &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
+        &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
+      },
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
+      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
+      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
+      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
+        &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna vertical location. This optional parameter should only be present if its value is less than the FCC requirement of 3 meters.
+        &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna horizontal location. This optional parameter should only be present if its value is less than the FCC requirement of 50 meters.
+        &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
+        &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in degrees with respect to true north. The value of this parameter is an integer with a value between 0 and 359 inclusive. A value of 0 degrees means true north; a value of 90 degrees means east. This parameter is optional for Category A devices and conditional for Category B devices.
+        &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in degrees. This parameter is an unsigned integer having a value between 0 and 360 (degrees) inclusive; it is optional for Category A devices and conditional for Category B devices.
+        &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz and is an integer with a value between -127 and +47 (dBm/10 MHz) inclusive. If not included, SAS interprets it as maximum allowable EIRP in units of dBm/10MHz for device category.
+        &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value between -90 and +90 inclusive; a negative value means the antenna is tilted up (above horizontal). This parameter is optional for Category A devices and conditional for Category B devices.
+        &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
+        &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
+        &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
+        &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
+        &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to the WGS 84 datum. The allowed range is from -90.000000 to +90.000000. Positive values represent latitudes north of the equator; negative values south of the equator.
+        &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
+        &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to the WGS 84 datum. The allowed range is from -180.000000 to +180.000000. Positive values represent longitudes east of the prime meridian; negative values west of the prime meridian.
+      },
+      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
+      &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
     },
+    &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
+      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
+        &quot;A String&quot;,
+      ],
+      &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
+        &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
+        &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air interface specification that the CBSD is compliant with at the time of registration. Optional
+      },
+      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
+      &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
+        &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
+        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
+        &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
+        &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
+      },
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
+      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
+      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
+      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
+        &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna vertical location. This optional parameter should only be present if its value is less than the FCC requirement of 3 meters.
+        &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna horizontal location. This optional parameter should only be present if its value is less than the FCC requirement of 50 meters.
+        &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
+        &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in degrees with respect to true north. The value of this parameter is an integer with a value between 0 and 359 inclusive. A value of 0 degrees means true north; a value of 90 degrees means east. This parameter is optional for Category A devices and conditional for Category B devices.
+        &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in degrees. This parameter is an unsigned integer having a value between 0 and 360 (degrees) inclusive; it is optional for Category A devices and conditional for Category B devices.
+        &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz and is an integer with a value between -127 and +47 (dBm/10 MHz) inclusive. If not included, SAS interprets it as maximum allowable EIRP in units of dBm/10MHz for device category.
+        &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value between -90 and +90 inclusive; a negative value means the antenna is tilted up (above horizontal). This parameter is optional for Category A devices and conditional for Category B devices.
+        &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
+        &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
+        &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
+        &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
+        &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to the WGS 84 datum. The allowed range is from -90.000000 to +90.000000. Positive values represent latitudes north of the equator; negative values south of the equator.
+        &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
+        &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to the WGS 84 datum. The allowed range is from -180.000000 to +180.000000. Positive values represent longitudes east of the prime meridian; negative values west of the prime meridian.
+      },
+      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
+      &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
+    },
+    &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
+    &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
   }</pre>
 </div>
 
@@ -1936,203 +1212,115 @@
     The object takes the form of:
 
 { # Request for SignDevice method.
-    &quot;device&quot;: { # Required. The device to sign.
-        # The device fields name, fcc_id and serial_number must be set.
-        # The user_id field must be set.
+    &quot;device&quot;: { # Required. The device to sign. The device fields name, fcc_id and serial_number must be set. The user_id field must be set.
+      &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS registration requests.
+      },
+      &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
       &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
-      &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
-      &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
-        &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
-          &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a
-              # value between -127 and +128 (dBi) inclusive.
-          &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
-          &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False:
-              # outdoor.
-          &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value
-              # between -90 and +90 inclusive; a negative value means the antenna
-              # is tilted up (above horizontal). This parameter is optional for
-              # Category A devices and conditional for Category B devices.
-          &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter
-              # value is &quot;AGL&quot;, the antenna height should be given relative to
-              # ground level. When the heightType parameter value is &quot;AMSL&quot;, it
-              # is given with respect to WGS84 datum.
-          &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
-          &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in
-              # degrees with respect to true north. The value of this parameter
-              # is an integer with a value between 0 and 359 inclusive. A value
-              # of 0 degrees means true north; a value of 90 degrees means
-              # east. This parameter is optional for Category A devices and
-              # conditional for Category B devices.
-          &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in
-              # degrees.  This parameter is an unsigned integer having a value
-              # between 0 and 360 (degrees) inclusive; it is optional for
-              # Category A devices and conditional for Category B devices.
-          &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-              # antenna vertical location. This optional parameter should only be
-              # present if its value is less than the FCC requirement of 3
-              # meters.
-          &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to
-              # the WGS 84 datum. The allowed range is from -180.000000 to
-              # +180.000000. Positive values represent longitudes east of the
-              # prime meridian; negative values west of the prime
-              # meridian.
-          &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz
-              # and is an integer with a value between -127 and +47 (dBm/10 MHz)
-              # inclusive. If not included, SAS interprets it as maximum
-              # allowable EIRP in units of dBm/10MHz for device category.
-          &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally
-              # provided in this field. The string has a maximum length of 128
-              # octets.
-          &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to
-              # the WGS 84 datum. The allowed range is from -90.000000 to
-              # +90.000000. Positive values represent latitudes north of the
-              # equator; negative values south of the equator.
-          &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-              # antenna horizontal location. This optional parameter should only
-              # be present if its value is less than the FCC requirement of 50
-              # meters.
-        },
-        &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
-        &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
-          &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
-          &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
-          &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
-          &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
-          &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
-        },
-        &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
-        &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
-        &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
-          &quot;A String&quot;,
-        ],
-        &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
-          &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air
-              # interface specification that the CBSD is compliant with at the time of
-              # registration.
-              #
-              # Optional
-          &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD.
-              #
-              # Conditional
-        },
-        &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
-        &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
-        &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
-      },
-      &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device
-          # manufacturer.
-      &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
-        &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
-          &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a
-              # value between -127 and +128 (dBi) inclusive.
-          &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
-          &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False:
-              # outdoor.
-          &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value
-              # between -90 and +90 inclusive; a negative value means the antenna
-              # is tilted up (above horizontal). This parameter is optional for
-              # Category A devices and conditional for Category B devices.
-          &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter
-              # value is &quot;AGL&quot;, the antenna height should be given relative to
-              # ground level. When the heightType parameter value is &quot;AMSL&quot;, it
-              # is given with respect to WGS84 datum.
-          &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
-          &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in
-              # degrees with respect to true north. The value of this parameter
-              # is an integer with a value between 0 and 359 inclusive. A value
-              # of 0 degrees means true north; a value of 90 degrees means
-              # east. This parameter is optional for Category A devices and
-              # conditional for Category B devices.
-          &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in
-              # degrees.  This parameter is an unsigned integer having a value
-              # between 0 and 360 (degrees) inclusive; it is optional for
-              # Category A devices and conditional for Category B devices.
-          &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-              # antenna vertical location. This optional parameter should only be
-              # present if its value is less than the FCC requirement of 3
-              # meters.
-          &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to
-              # the WGS 84 datum. The allowed range is from -180.000000 to
-              # +180.000000. Positive values represent longitudes east of the
-              # prime meridian; negative values west of the prime
-              # meridian.
-          &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz
-              # and is an integer with a value between -127 and +47 (dBm/10 MHz)
-              # inclusive. If not included, SAS interprets it as maximum
-              # allowable EIRP in units of dBm/10MHz for device category.
-          &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally
-              # provided in this field. The string has a maximum length of 128
-              # octets.
-          &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to
-              # the WGS 84 datum. The allowed range is from -90.000000 to
-              # +90.000000. Positive values represent latitudes north of the
-              # equator; negative values south of the equator.
-          &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-              # antenna horizontal location. This optional parameter should only
-              # be present if its value is less than the FCC requirement of 50
-              # meters.
-        },
-        &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
-        &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
-          &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
-          &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
-          &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
-          &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
-          &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
-        },
-        &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
-        &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
-        &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
-          &quot;A String&quot;,
-        ],
-        &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
-          &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air
-              # interface specification that the CBSD is compliant with at the time of
-              # registration.
-              #
-              # Optional
-          &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD.
-              #
-              # Conditional
-        },
-        &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
-        &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
-        &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
-      },
       &quot;grants&quot;: [ # Output only. Grants held by the device.
-        { # Device grant. It is an authorization provided by the Spectrum
-            # Access System to a device to transmit using specified operating
-            # parameters after a successful heartbeat by the device.
-          &quot;maxEirp&quot;: 3.14, # Maximum Equivalent Isotropically Radiated Power (EIRP) permitted
-              # by the grant. The maximum EIRP is in units of dBm/MHz. The
-              # value of maxEirp represents the average (RMS) EIRP that would be
-              # measured by the procedure defined in FCC part 96.41(e)(3).
-          &quot;state&quot;: &quot;A String&quot;, # State of the grant.
-          &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
-            { # An entry in a DPA&#x27;s move list.
-              &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
-              &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
-                &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
-                &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
-              },
-            },
-          ],
+        { # Device grant. It is an authorization provided by the Spectrum Access System to a device to transmit using specified operating parameters after a successful heartbeat by the device.
           &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
             &quot;A String&quot;,
           ],
-          &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
-          &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
           &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The transmission frequency range.
-            &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
             &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
+            &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
           },
+          &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
+          &quot;maxEirp&quot;: 3.14, # Maximum Equivalent Isotropically Radiated Power (EIRP) permitted by the grant. The maximum EIRP is in units of dBm/MHz. The value of maxEirp represents the average (RMS) EIRP that would be measured by the procedure defined in FCC part 96.41(e)(3).
+          &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
+          &quot;state&quot;: &quot;A String&quot;, # State of the grant.
+          &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
+          &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
+            { # An entry in a DPA&#x27;s move list.
+              &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
+                &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
+                &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
+              },
+              &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
+            },
+          ],
         },
       ],
-      &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
-      &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
-      &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS
-          # registration requests.
+      &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
+      &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
+        &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
+          &quot;A String&quot;,
+        ],
+        &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
+          &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
+          &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air interface specification that the CBSD is compliant with at the time of registration. Optional
+        },
+        &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
+        &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
+          &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
+          &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
+          &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
+          &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
+          &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
+        },
+        &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
+        &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
+        &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
+        &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
+          &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna vertical location. This optional parameter should only be present if its value is less than the FCC requirement of 3 meters.
+          &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna horizontal location. This optional parameter should only be present if its value is less than the FCC requirement of 50 meters.
+          &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
+          &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in degrees with respect to true north. The value of this parameter is an integer with a value between 0 and 359 inclusive. A value of 0 degrees means true north; a value of 90 degrees means east. This parameter is optional for Category A devices and conditional for Category B devices.
+          &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in degrees. This parameter is an unsigned integer having a value between 0 and 360 (degrees) inclusive; it is optional for Category A devices and conditional for Category B devices.
+          &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz and is an integer with a value between -127 and +47 (dBm/10 MHz) inclusive. If not included, SAS interprets it as maximum allowable EIRP in units of dBm/10MHz for device category.
+          &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value between -90 and +90 inclusive; a negative value means the antenna is tilted up (above horizontal). This parameter is optional for Category A devices and conditional for Category B devices.
+          &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
+          &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
+          &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
+          &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
+          &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to the WGS 84 datum. The allowed range is from -90.000000 to +90.000000. Positive values represent latitudes north of the equator; negative values south of the equator.
+          &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
+          &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to the WGS 84 datum. The allowed range is from -180.000000 to +180.000000. Positive values represent longitudes east of the prime meridian; negative values west of the prime meridian.
+        },
+        &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
+        &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
       },
+      &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
+        &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
+          &quot;A String&quot;,
+        ],
+        &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
+          &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
+          &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air interface specification that the CBSD is compliant with at the time of registration. Optional
+        },
+        &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
+        &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
+          &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
+          &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
+          &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
+          &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
+          &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
+        },
+        &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
+        &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
+        &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
+        &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
+          &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna vertical location. This optional parameter should only be present if its value is less than the FCC requirement of 3 meters.
+          &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna horizontal location. This optional parameter should only be present if its value is less than the FCC requirement of 50 meters.
+          &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
+          &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in degrees with respect to true north. The value of this parameter is an integer with a value between 0 and 359 inclusive. A value of 0 degrees means true north; a value of 90 degrees means east. This parameter is optional for Category A devices and conditional for Category B devices.
+          &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in degrees. This parameter is an unsigned integer having a value between 0 and 360 (degrees) inclusive; it is optional for Category A devices and conditional for Category B devices.
+          &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz and is an integer with a value between -127 and +47 (dBm/10 MHz) inclusive. If not included, SAS interprets it as maximum allowable EIRP in units of dBm/10MHz for device category.
+          &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value between -90 and +90 inclusive; a negative value means the antenna is tilted up (above horizontal). This parameter is optional for Category A devices and conditional for Category B devices.
+          &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
+          &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
+          &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
+          &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
+          &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to the WGS 84 datum. The allowed range is from -90.000000 to +90.000000. Positive values represent latitudes north of the equator; negative values south of the equator.
+          &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
+          &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to the WGS 84 datum. The allowed range is from -180.000000 to +180.000000. Positive values represent longitudes east of the prime meridian; negative values west of the prime meridian.
+        },
+        &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
+        &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
+      },
+      &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
+      &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
     },
   }
 
@@ -2144,15 +1332,7 @@
 Returns:
   An object of the form:
 
-    { # A generic empty message that you can re-use to avoid defining duplicated
-      # empty messages in your APIs. A typical example is to use it as the request
-      # or the response type of an API method. For instance:
-      #
-      #     service Foo {
-      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
-      #     }
-      #
-      # The JSON representation for `Empty` is empty JSON object `{}`.
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
   }</pre>
 </div>
 
@@ -2166,11 +1346,8 @@
     The object takes the form of:
 
 { # Request for UpdateSignedDevice method.
-    &quot;installerId&quot;: &quot;A String&quot;, # Required. Unique installer ID (CPI ID) from the Certified Professional
-        # Installers database.
-    &quot;encodedDevice&quot;: &quot;A String&quot;, # Required. The JSON Web Token signed using a CPI private key. Payload
-        # must be the JSON encoding
-        # of the device. The user_id field must be set.
+    &quot;encodedDevice&quot;: &quot;A String&quot;, # Required. The JSON Web Token signed using a CPI private key. Payload must be the JSON encoding of the device. The user_id field must be set.
+    &quot;installerId&quot;: &quot;A String&quot;, # Required. Unique installer ID (CPI ID) from the Certified Professional Installers database.
   }
 
   x__xgafv: string, V1 error format.
@@ -2182,200 +1359,114 @@
   An object of the form:
 
     {
+    &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS registration requests.
+    },
+    &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
     &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
-    &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
-    &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
-      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
-        &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a
-            # value between -127 and +128 (dBi) inclusive.
-        &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
-        &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False:
-            # outdoor.
-        &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value
-            # between -90 and +90 inclusive; a negative value means the antenna
-            # is tilted up (above horizontal). This parameter is optional for
-            # Category A devices and conditional for Category B devices.
-        &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter
-            # value is &quot;AGL&quot;, the antenna height should be given relative to
-            # ground level. When the heightType parameter value is &quot;AMSL&quot;, it
-            # is given with respect to WGS84 datum.
-        &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
-        &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in
-            # degrees with respect to true north. The value of this parameter
-            # is an integer with a value between 0 and 359 inclusive. A value
-            # of 0 degrees means true north; a value of 90 degrees means
-            # east. This parameter is optional for Category A devices and
-            # conditional for Category B devices.
-        &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in
-            # degrees.  This parameter is an unsigned integer having a value
-            # between 0 and 360 (degrees) inclusive; it is optional for
-            # Category A devices and conditional for Category B devices.
-        &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-            # antenna vertical location. This optional parameter should only be
-            # present if its value is less than the FCC requirement of 3
-            # meters.
-        &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to
-            # the WGS 84 datum. The allowed range is from -180.000000 to
-            # +180.000000. Positive values represent longitudes east of the
-            # prime meridian; negative values west of the prime
-            # meridian.
-        &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz
-            # and is an integer with a value between -127 and +47 (dBm/10 MHz)
-            # inclusive. If not included, SAS interprets it as maximum
-            # allowable EIRP in units of dBm/10MHz for device category.
-        &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally
-            # provided in this field. The string has a maximum length of 128
-            # octets.
-        &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to
-            # the WGS 84 datum. The allowed range is from -90.000000 to
-            # +90.000000. Positive values represent latitudes north of the
-            # equator; negative values south of the equator.
-        &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-            # antenna horizontal location. This optional parameter should only
-            # be present if its value is less than the FCC requirement of 50
-            # meters.
-      },
-      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
-      &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
-        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
-        &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
-        &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
-        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
-        &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
-      },
-      &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
-      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
-      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
-        &quot;A String&quot;,
-      ],
-      &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
-        &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air
-            # interface specification that the CBSD is compliant with at the time of
-            # registration.
-            #
-            # Optional
-        &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD.
-            #
-            # Conditional
-      },
-      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
-      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
-      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
-    },
-    &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device
-        # manufacturer.
-    &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
-      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
-        &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a
-            # value between -127 and +128 (dBi) inclusive.
-        &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
-        &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False:
-            # outdoor.
-        &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value
-            # between -90 and +90 inclusive; a negative value means the antenna
-            # is tilted up (above horizontal). This parameter is optional for
-            # Category A devices and conditional for Category B devices.
-        &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter
-            # value is &quot;AGL&quot;, the antenna height should be given relative to
-            # ground level. When the heightType parameter value is &quot;AMSL&quot;, it
-            # is given with respect to WGS84 datum.
-        &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
-        &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in
-            # degrees with respect to true north. The value of this parameter
-            # is an integer with a value between 0 and 359 inclusive. A value
-            # of 0 degrees means true north; a value of 90 degrees means
-            # east. This parameter is optional for Category A devices and
-            # conditional for Category B devices.
-        &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in
-            # degrees.  This parameter is an unsigned integer having a value
-            # between 0 and 360 (degrees) inclusive; it is optional for
-            # Category A devices and conditional for Category B devices.
-        &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-            # antenna vertical location. This optional parameter should only be
-            # present if its value is less than the FCC requirement of 3
-            # meters.
-        &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to
-            # the WGS 84 datum. The allowed range is from -180.000000 to
-            # +180.000000. Positive values represent longitudes east of the
-            # prime meridian; negative values west of the prime
-            # meridian.
-        &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz
-            # and is an integer with a value between -127 and +47 (dBm/10 MHz)
-            # inclusive. If not included, SAS interprets it as maximum
-            # allowable EIRP in units of dBm/10MHz for device category.
-        &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally
-            # provided in this field. The string has a maximum length of 128
-            # octets.
-        &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to
-            # the WGS 84 datum. The allowed range is from -90.000000 to
-            # +90.000000. Positive values represent latitudes north of the
-            # equator; negative values south of the equator.
-        &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device
-            # antenna horizontal location. This optional parameter should only
-            # be present if its value is less than the FCC requirement of 50
-            # meters.
-      },
-      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
-      &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
-        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
-        &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
-        &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
-        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
-        &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
-      },
-      &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
-      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
-      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
-        &quot;A String&quot;,
-      ],
-      &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
-        &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air
-            # interface specification that the CBSD is compliant with at the time of
-            # registration.
-            #
-            # Optional
-        &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD.
-            #
-            # Conditional
-      },
-      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
-      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
-      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
-    },
     &quot;grants&quot;: [ # Output only. Grants held by the device.
-      { # Device grant. It is an authorization provided by the Spectrum
-          # Access System to a device to transmit using specified operating
-          # parameters after a successful heartbeat by the device.
-        &quot;maxEirp&quot;: 3.14, # Maximum Equivalent Isotropically Radiated Power (EIRP) permitted
-            # by the grant. The maximum EIRP is in units of dBm/MHz. The
-            # value of maxEirp represents the average (RMS) EIRP that would be
-            # measured by the procedure defined in FCC part 96.41(e)(3).
-        &quot;state&quot;: &quot;A String&quot;, # State of the grant.
-        &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
-          { # An entry in a DPA&#x27;s move list.
-            &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
-            &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
-              &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
-              &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
-            },
-          },
-        ],
+      { # Device grant. It is an authorization provided by the Spectrum Access System to a device to transmit using specified operating parameters after a successful heartbeat by the device.
         &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
           &quot;A String&quot;,
         ],
-        &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
-        &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
         &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The transmission frequency range.
-          &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
           &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
+          &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
         },
+        &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
+        &quot;maxEirp&quot;: 3.14, # Maximum Equivalent Isotropically Radiated Power (EIRP) permitted by the grant. The maximum EIRP is in units of dBm/MHz. The value of maxEirp represents the average (RMS) EIRP that would be measured by the procedure defined in FCC part 96.41(e)(3).
+        &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
+        &quot;state&quot;: &quot;A String&quot;, # State of the grant.
+        &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
+        &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
+          { # An entry in a DPA&#x27;s move list.
+            &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
+              &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
+              &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
+            },
+            &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
+          },
+        ],
       },
     ],
-    &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
-    &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
-    &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS
-        # registration requests.
+    &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
+    &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
+      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
+        &quot;A String&quot;,
+      ],
+      &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
+        &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
+        &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air interface specification that the CBSD is compliant with at the time of registration. Optional
+      },
+      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
+      &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
+        &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
+        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
+        &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
+        &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
+      },
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
+      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
+      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
+      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
+        &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna vertical location. This optional parameter should only be present if its value is less than the FCC requirement of 3 meters.
+        &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna horizontal location. This optional parameter should only be present if its value is less than the FCC requirement of 50 meters.
+        &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
+        &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in degrees with respect to true north. The value of this parameter is an integer with a value between 0 and 359 inclusive. A value of 0 degrees means true north; a value of 90 degrees means east. This parameter is optional for Category A devices and conditional for Category B devices.
+        &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in degrees. This parameter is an unsigned integer having a value between 0 and 360 (degrees) inclusive; it is optional for Category A devices and conditional for Category B devices.
+        &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz and is an integer with a value between -127 and +47 (dBm/10 MHz) inclusive. If not included, SAS interprets it as maximum allowable EIRP in units of dBm/10MHz for device category.
+        &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value between -90 and +90 inclusive; a negative value means the antenna is tilted up (above horizontal). This parameter is optional for Category A devices and conditional for Category B devices.
+        &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
+        &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
+        &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
+        &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
+        &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to the WGS 84 datum. The allowed range is from -90.000000 to +90.000000. Positive values represent latitudes north of the equator; negative values south of the equator.
+        &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
+        &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to the WGS 84 datum. The allowed range is from -180.000000 to +180.000000. Positive values represent longitudes east of the prime meridian; negative values west of the prime meridian.
+      },
+      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
+      &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
     },
+    &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
+      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
+        &quot;A String&quot;,
+      ],
+      &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
+        &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
+        &quot;supportedSpec&quot;: &quot;A String&quot;, # This field is related to the radioTechnology field and provides the air interface specification that the CBSD is compliant with at the time of registration. Optional
+      },
+      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
+      &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
+        &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
+        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
+        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
+        &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
+        &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
+      },
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
+      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
+      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
+      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
+        &quot;verticalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna vertical location. This optional parameter should only be present if its value is less than the FCC requirement of 3 meters.
+        &quot;horizontalAccuracy&quot;: 3.14, # A positive number in meters to indicate accuracy of the device antenna horizontal location. This optional parameter should only be present if its value is less than the FCC requirement of 50 meters.
+        &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
+        &quot;antennaAzimuth&quot;: 42, # Boresight direction of the horizontal plane of the antenna in degrees with respect to true north. The value of this parameter is an integer with a value between 0 and 359 inclusive. A value of 0 degrees means true north; a value of 90 degrees means east. This parameter is optional for Category A devices and conditional for Category B devices.
+        &quot;antennaBeamwidth&quot;: 42, # 3-dB antenna beamwidth of the antenna in the horizontal-plane in degrees. This parameter is an unsigned integer having a value between 0 and 360 (degrees) inclusive; it is optional for Category A devices and conditional for Category B devices.
+        &quot;eirpCapability&quot;: 42, # This parameter is the maximum device EIRP in units of dBm/10MHz and is an integer with a value between -127 and +47 (dBm/10 MHz) inclusive. If not included, SAS interprets it as maximum allowable EIRP in units of dBm/10MHz for device category.
+        &quot;antennaDowntilt&quot;: 42, # Antenna downtilt in degrees and is an integer with a value between -90 and +90 inclusive; a negative value means the antenna is tilted up (above horizontal). This parameter is optional for Category A devices and conditional for Category B devices.
+        &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
+        &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
+        &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
+        &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
+        &quot;latitude&quot;: 3.14, # Latitude of the device antenna location in degrees relative to the WGS 84 datum. The allowed range is from -90.000000 to +90.000000. Positive values represent latitudes north of the equator; negative values south of the equator.
+        &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
+        &quot;longitude&quot;: 3.14, # Longitude of the device antenna location. in degrees relative to the WGS 84 datum. The allowed range is from -180.000000 to +180.000000. Positive values represent longitudes east of the prime meridian; negative values west of the prime meridian.
+      },
+      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
+      &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
+    },
+    &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
+    &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
   }</pre>
 </div>
 
