{
  "basePath": "/spectrum/v1explorer/paws/",
  "baseUrl": "https://www.googleapis.com/spectrum/v1explorer/paws/",
  "batchPath": "batch/spectrum/v1explorer",
  "description": "API for spectrum-management functions.",
  "discoveryVersion": "v1",
  "documentationLink": "http://developers.google.com/spectrum",
  "etag": "\"Zkyw9ACJZUvcYmlFaKGChzhmtnE/uZl_j1OdJ5YVh2iMjymfidSMdSA\"",
  "icons": {
    "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png",
    "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png"
  },
  "id": "spectrum:v1explorer",
  "kind": "discovery#restDescription",
  "name": "spectrum",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "alt": {
      "default": "json",
      "description": "Data format for the response.",
      "enum": [
        "csv",
        "json"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of text/csv",
        "Responses with Content-Type of application/json"
      ],
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "quotaUser": {
      "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "userIp": {
      "description": "Deprecated. Please use quotaUser instead.",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "paws": {
      "methods": {
        "getSpectrum": {
          "description": "Requests information about the available spectrum for a device at a location. Requests from a fixed-mode device must include owner information so the device can be registered with the database.",
          "httpMethod": "POST",
          "id": "spectrum.paws.getSpectrum",
          "path": "getSpectrum",
          "request": {
            "$ref": "PawsGetSpectrumRequest"
          },
          "response": {
            "$ref": "PawsGetSpectrumResponse"
          }
        },
        "getSpectrumBatch": {
          "description": "The Google Spectrum Database does not support batch requests, so this method always yields an UNIMPLEMENTED error.",
          "httpMethod": "POST",
          "id": "spectrum.paws.getSpectrumBatch",
          "path": "getSpectrumBatch",
          "request": {
            "$ref": "PawsGetSpectrumBatchRequest"
          },
          "response": {
            "$ref": "PawsGetSpectrumBatchResponse"
          }
        },
        "init": {
          "description": "Initializes the connection between a white space device and the database.",
          "httpMethod": "POST",
          "id": "spectrum.paws.init",
          "path": "init",
          "request": {
            "$ref": "PawsInitRequest"
          },
          "response": {
            "$ref": "PawsInitResponse"
          }
        },
        "notifySpectrumUse": {
          "description": "Notifies the database that the device has selected certain frequency ranges for transmission. Only to be invoked when required by the regulator. The Google Spectrum Database does not operate in domains that require notification, so this always yields an UNIMPLEMENTED error.",
          "httpMethod": "POST",
          "id": "spectrum.paws.notifySpectrumUse",
          "path": "notifySpectrumUse",
          "request": {
            "$ref": "PawsNotifySpectrumUseRequest"
          },
          "response": {
            "$ref": "PawsNotifySpectrumUseResponse"
          }
        },
        "register": {
          "description": "The Google Spectrum Database implements registration in the getSpectrum method. As such this always returns an UNIMPLEMENTED error.",
          "httpMethod": "POST",
          "id": "spectrum.paws.register",
          "path": "register",
          "request": {
            "$ref": "PawsRegisterRequest"
          },
          "response": {
            "$ref": "PawsRegisterResponse"
          }
        },
        "verifyDevice": {
          "description": "Validates a device for white space use in accordance with regulatory rules. The Google Spectrum Database does not support master/slave configurations, so this always yields an UNIMPLEMENTED error.",
          "httpMethod": "POST",
          "id": "spectrum.paws.verifyDevice",
          "path": "verifyDevice",
          "request": {
            "$ref": "PawsVerifyDeviceRequest"
          },
          "response": {
            "$ref": "PawsVerifyDeviceResponse"
          }
        }
      }
    }
  },
  "revision": "20180313",
  "rootUrl": "https://www.googleapis.com/",
  "schemas": {
    "AntennaCharacteristics": {
      "description": "Antenna characteristics provide additional information, such as the antenna height, antenna type, etc. Whether antenna characteristics must be provided in a request depends on the device type and regulatory domain.",
      "id": "AntennaCharacteristics",
      "properties": {
        "height": {
          "description": "The antenna height in meters. Whether the antenna height is required depends on the device type and the regulatory domain. Note that the height may be negative.",
          "format": "double",
          "type": "number"
        },
        "heightType": {
          "description": "If the height is required, then the height type (AGL for above ground level or AMSL for above mean sea level) is also required. The default is AGL.",
          "type": "string"
        },
        "heightUncertainty": {
          "description": "The height uncertainty in meters. Whether this is required depends on the regulatory domain.",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "DatabaseSpec": {
      "description": "This message contains the name and URI of a database.",
      "id": "DatabaseSpec",
      "properties": {
        "name": {
          "description": "The display name for a database.",
          "type": "string"
        },
        "uri": {
          "description": "The corresponding URI of the database.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DbUpdateSpec": {
      "description": "This message is provided by the database to notify devices of an upcoming change to the database URI.",
      "id": "DbUpdateSpec",
      "properties": {
        "databases": {
          "description": "A required list of one or more databases. A device should update its preconfigured list of databases to replace (only) the database that provided the response with the specified entries.",
          "items": {
            "$ref": "DatabaseSpec"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "DeviceCapabilities": {
      "description": "Device capabilities provide additional information that may be used by a device to provide additional information to the database that may help it to determine available spectrum. If the database does not support device capabilities it will ignore the parameter altogether.",
      "id": "DeviceCapabilities",
      "properties": {
        "frequencyRanges": {
          "description": "An optional list of frequency ranges supported by the device. Each element must contain start and stop frequencies in which the device can operate. Channel identifiers are optional. When specified, the database should not return available spectrum that falls outside these ranges or channel IDs.",
          "items": {
            "$ref": "FrequencyRange"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "DeviceDescriptor": {
      "description": "The device descriptor contains parameters that identify the specific device, such as its manufacturer serial number, regulatory-specific identifier (e.g., FCC ID), and any other device characteristics required by regulatory domains.",
      "id": "DeviceDescriptor",
      "properties": {
        "etsiEnDeviceCategory": {
          "description": "Specifies the ETSI white space device category. Valid values are the strings master and slave. This field is case-insensitive. Consult the ETSI documentation for details about the device types.",
          "type": "string"
        },
        "etsiEnDeviceEmissionsClass": {
          "description": "Specifies the ETSI white space device emissions class. The values are represented by numeric strings, such as 1, 2, etc. Consult the ETSI documentation for details about the device types.",
          "type": "string"
        },
        "etsiEnDeviceType": {
          "description": "Specifies the ETSI white space device type. Valid values are single-letter strings, such as A, B, etc. Consult the ETSI documentation for details about the device types.",
          "type": "string"
        },
        "etsiEnTechnologyId": {
          "description": "Specifies the ETSI white space device technology identifier. The string value must not exceed 64 characters in length. Consult the ETSI documentation for details about the device types.",
          "type": "string"
        },
        "fccId": {
          "description": "Specifies the device's FCC certification identifier. The value is an identifier string whose length should not exceed 32 characters. Note that, in practice, a valid FCC ID may be limited to 19 characters.",
          "type": "string"
        },
        "fccTvbdDeviceType": {
          "description": "Specifies the TV Band White Space device type, as defined by the FCC. Valid values are FIXED, MODE_1, MODE_2.",
          "type": "string"
        },
        "manufacturerId": {
          "description": "The manufacturer's ID may be required by the regulatory domain. This should represent the name of the device manufacturer, should be consistent across all devices from the same manufacturer, and should be distinct from that of other manufacturers. The string value must not exceed 64 characters in length.",
          "type": "string"
        },
        "modelId": {
          "description": "The device's model ID may be required by the regulatory domain. The string value must not exceed 64 characters in length.",
          "type": "string"
        },
        "rulesetIds": {
          "description": "The list of identifiers for rulesets supported by the device. A database may require that the device provide this list before servicing the device requests. If the database does not support any of the rulesets specified in the list, the database may refuse to service the device requests. If present, the list must contain at least one entry.\n\nFor information about the valid requests, see section 9.2 of the PAWS specification. Currently, FccTvBandWhiteSpace-2010 is the only supported ruleset.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "serialNumber": {
          "description": "The manufacturer's device serial number; required by the applicable regulatory domain. The length of the value must not exceed 64 characters.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DeviceOwner": {
      "description": "This parameter contains device-owner information required as part of device registration. The regulatory domains may require additional parameters.\n\nAll contact information must be expressed using the structure defined by the vCard format specification. Only the contact fields of vCard are supported:  \n- fn: Full name of an individual \n- org: Name of the organization \n- adr: Address fields \n- tel: Telephone numbers \n- email: Email addresses  \n\nNote that the vCard specification defines maximum lengths for each field.",
      "id": "DeviceOwner",
      "properties": {
        "operator": {
          "$ref": "Vcard",
          "description": "The vCard contact information for the device operator is optional, but may be required by specific regulatory domains."
        },
        "owner": {
          "$ref": "Vcard",
          "description": "The vCard contact information for the individual or business that owns the device is required."
        }
      },
      "type": "object"
    },
    "DeviceValidity": {
      "description": "The device validity element describes whether a particular device is valid to operate in the regulatory domain.",
      "id": "DeviceValidity",
      "properties": {
        "deviceDesc": {
          "$ref": "DeviceDescriptor",
          "description": "The descriptor of the device for which the validity check was requested. It will always be present."
        },
        "isValid": {
          "description": "The validity status: true if the device is valid for operation, false otherwise. It will always be present.",
          "type": "boolean"
        },
        "reason": {
          "description": "If the device identifier is not valid, the database may include a reason. The reason may be in any language. The length of the value should not exceed 128 characters.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "EventTime": {
      "description": "The start and stop times of an event. This is used to indicate the time period for which a spectrum profile is valid.\n\nBoth times are expressed using the format, YYYY-MM-DDThh:mm:ssZ, as defined in RFC3339. The times must be expressed using UTC.",
      "id": "EventTime",
      "properties": {
        "startTime": {
          "description": "The inclusive start of the event. It will be present.",
          "type": "string"
        },
        "stopTime": {
          "description": "The exclusive end of the event. It will be present.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "FrequencyRange": {
      "description": "A specific range of frequencies together with the associated maximum power level and channel identifier.",
      "id": "FrequencyRange",
      "properties": {
        "channelId": {
          "description": "The database may include a channel identifier, when applicable. When it is included, the device should treat it as informative. The length of the identifier should not exceed 16 characters.",
          "type": "string"
        },
        "maxPowerDBm": {
          "description": "The maximum total power level (EIRP)—computed over the corresponding operating bandwidth—that is permitted within the frequency range. Depending on the context in which the frequency-range element appears, this value may be required. For example, it is required in the available-spectrum response, available-spectrum-batch response, and spectrum-use notification message, but it should not be present (it is not applicable) when the frequency range appears inside a device-capabilities message.",
          "format": "double",
          "type": "number"
        },
        "startHz": {
          "description": "The required inclusive start of the frequency range (in Hertz).",
          "format": "double",
          "type": "number"
        },
        "stopHz": {
          "description": "The required exclusive end of the frequency range (in Hertz).",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "GeoLocation": {
      "description": "This parameter is used to specify the geolocation of the device.",
      "id": "GeoLocation",
      "properties": {
        "confidence": {
          "description": "The location confidence level, as an integer percentage, may be required, depending on the regulatory domain. When the parameter is optional and not provided, its value is assumed to be 95. Valid values range from 0 to 99, since, in practice, 100-percent confidence is not achievable. The confidence value is meaningful only when geolocation refers to a point with uncertainty.",
          "format": "int32",
          "type": "integer"
        },
        "point": {
          "$ref": "GeoLocationEllipse",
          "description": "If present, indicates that the geolocation represents a point. Paradoxically, a point is parameterized using an ellipse, where the center represents the location of the point and the distances along the major and minor axes represent the uncertainty. The uncertainty values may be required, depending on the regulatory domain."
        },
        "region": {
          "$ref": "GeoLocationPolygon",
          "description": "If present, indicates that the geolocation represents a region. Database support for regions is optional."
        }
      },
      "type": "object"
    },
    "GeoLocationEllipse": {
      "description": "A \"point\" with uncertainty is represented using the Ellipse shape.",
      "id": "GeoLocationEllipse",
      "properties": {
        "center": {
          "$ref": "GeoLocationPoint",
          "description": "A required geo-spatial point representing the center of the ellipse."
        },
        "orientation": {
          "description": "A floating-point number that expresses the orientation of the ellipse, representing the rotation, in degrees, of the semi-major axis from North towards the East. For example, when the uncertainty is greatest along the North-South direction, orientation is 0 degrees; conversely, if the uncertainty is greatest along the East-West direction, orientation is 90 degrees. When orientation is not present, the orientation is assumed to be 0.",
          "format": "double",
          "type": "number"
        },
        "semiMajorAxis": {
          "description": "A floating-point number that expresses the location uncertainty along the major axis of the ellipse. May be required by the regulatory domain. When the uncertainty is optional, the default value is 0.",
          "format": "double",
          "type": "number"
        },
        "semiMinorAxis": {
          "description": "A floating-point number that expresses the location uncertainty along the minor axis of the ellipse. May be required by the regulatory domain. When the uncertainty is optional, the default value is 0.",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "GeoLocationPoint": {
      "description": "A single geolocation on the globe.",
      "id": "GeoLocationPoint",
      "properties": {
        "latitude": {
          "description": "A required floating-point number that expresses the latitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.",
          "format": "double",
          "type": "number"
        },
        "longitude": {
          "description": "A required floating-point number that expresses the longitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "GeoLocationPolygon": {
      "description": "A region is represented using the polygonal shape.",
      "id": "GeoLocationPolygon",
      "properties": {
        "exterior": {
          "description": "When the geolocation describes a region, the exterior field refers to a list of latitude/longitude points that represent the vertices of a polygon. The first and last points must be the same. Thus, a minimum of four points is required. The following polygon restrictions from RFC5491 apply:  \n- A connecting line shall not cross another connecting line of the same polygon. \n- The vertices must be defined in a counterclockwise order. \n- The edges of a polygon are defined by the shortest path between two points in space (not a geodesic curve). Consequently, the length between two adjacent vertices should be restricted to a maximum of 130 km. \n- All vertices are assumed to be at the same altitude. \n- Polygon shapes should be restricted to a maximum of 15 vertices (16 points that include the repeated vertex).",
          "items": {
            "$ref": "GeoLocationPoint"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GeoSpectrumSchedule": {
      "description": "The schedule of spectrum profiles available at a particular geolocation.",
      "id": "GeoSpectrumSchedule",
      "properties": {
        "location": {
          "$ref": "GeoLocation",
          "description": "The geolocation identifies the location at which the spectrum schedule applies. It will always be present."
        },
        "spectrumSchedules": {
          "description": "A list of available spectrum profiles and associated times. It will always be present, and at least one schedule must be included (though it may be empty if there is no available spectrum). More than one schedule may be included to represent future changes to the available spectrum.",
          "items": {
            "$ref": "SpectrumSchedule"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "PawsGetSpectrumBatchRequest": {
      "description": "The request message for a batch available spectrum query protocol.",
      "id": "PawsGetSpectrumBatchRequest",
      "properties": {
        "antenna": {
          "$ref": "AntennaCharacteristics",
          "description": "Depending on device type and regulatory domain, antenna characteristics may be required."
        },
        "capabilities": {
          "$ref": "DeviceCapabilities",
          "description": "The master device may include its device capabilities to limit the available-spectrum batch response to the spectrum that is compatible with its capabilities. The database should not return spectrum that is incompatible with the specified capabilities."
        },
        "deviceDesc": {
          "$ref": "DeviceDescriptor",
          "description": "When the available spectrum request is made on behalf of a specific device (a master or slave device), device descriptor information for the device on whose behalf the request is made is required (in such cases, the requestType parameter must be empty). When a requestType value is specified, device descriptor information may be optional or required according to the rules of the applicable regulatory domain."
        },
        "locations": {
          "description": "A geolocation list is required. This allows a device to specify its current location plus additional anticipated locations when allowed by the regulatory domain. At least one location must be included. Geolocation must be given as the location of the radiation center of the device's antenna. If a location specifies a region, rather than a point, the database may return an UNIMPLEMENTED error if it does not support query by region.\n\nThere is no upper limit on the number of locations included in a available spectrum batch request, but the database may restrict the number of locations it supports by returning a response with fewer locations than specified in the batch request. Note that geolocations must be those of the master device (a device with geolocation capability that makes an available spectrum batch request), whether the master device is making the request on its own behalf or on behalf of a slave device (one without geolocation capability).",
          "items": {
            "$ref": "GeoLocation"
          },
          "type": "array"
        },
        "masterDeviceDesc": {
          "$ref": "DeviceDescriptor",
          "description": "When an available spectrum batch request is made by the master device (a device with geolocation capability) on behalf of a slave device (a device without geolocation capability), the rules of the applicable regulatory domain may require the master device to provide its own device descriptor information (in addition to device descriptor information for the slave device in a separate parameter)."
        },
        "owner": {
          "$ref": "DeviceOwner",
          "description": "Depending on device type and regulatory domain, device owner information may be included in an available spectrum batch request. This allows the device to register and get spectrum-availability information in a single request."
        },
        "requestType": {
          "description": "The request type parameter is an optional parameter that can be used to modify an available spectrum batch request, but its use depends on applicable regulatory rules. For example, It may be used to request generic slave device parameters without having to specify the device descriptor for a specific device. When the requestType parameter is missing, the request is for a specific device (master or slave), and the device descriptor parameter for the device on whose behalf the batch request is made is required.",
          "type": "string"
        },
        "type": {
          "description": "The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).\n\nRequired field.",
          "type": "string"
        },
        "version": {
          "description": "The PAWS version. Must be exactly 1.0.\n\nRequired field.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PawsGetSpectrumBatchResponse": {
      "description": "The response message for the batch available spectrum query contains a schedule of available spectrum for the device at multiple locations.",
      "id": "PawsGetSpectrumBatchResponse",
      "properties": {
        "databaseChange": {
          "$ref": "DbUpdateSpec",
          "description": "A database may include the databaseChange parameter to notify a device of a change to its database URI, providing one or more alternate database URIs. The device should use this information to update its list of pre-configured databases by (only) replacing its entry for the responding database with the list of alternate URIs."
        },
        "deviceDesc": {
          "$ref": "DeviceDescriptor",
          "description": "The database must return in its available spectrum response the device descriptor information it received in the master device's available spectrum batch request."
        },
        "geoSpectrumSchedules": {
          "description": "The available spectrum batch response must contain a geo-spectrum schedule list, The list may be empty if spectrum is not available. The database may return more than one geo-spectrum schedule to represent future changes to the available spectrum. How far in advance a schedule may be provided depends upon the applicable regulatory domain. The database may return available spectrum for fewer geolocations than requested. The device must not make assumptions about the order of the entries in the list, and must use the geolocation value in each geo-spectrum schedule entry to match available spectrum to a location.",
          "items": {
            "$ref": "GeoSpectrumSchedule"
          },
          "type": "array"
        },
        "kind": {
          "default": "spectrum#pawsGetSpectrumBatchResponse",
          "description": "Identifies what kind of resource this is. Value: the fixed string \"spectrum#pawsGetSpectrumBatchResponse\".",
          "type": "string"
        },
        "maxContiguousBwHz": {
          "description": "The database may return a constraint on the allowed maximum contiguous bandwidth (in Hertz). A regulatory domain may require the database to return this parameter. When this parameter is present in the response, the device must apply this constraint to its spectrum-selection logic to ensure that no single block of spectrum has bandwidth that exceeds this value.",
          "format": "double",
          "type": "number"
        },
        "maxTotalBwHz": {
          "description": "The database may return a constraint on the allowed maximum total bandwidth (in Hertz), which does not need to be contiguous. A regulatory domain may require the database to return this parameter. When this parameter is present in the available spectrum batch response, the device must apply this constraint to its spectrum-selection logic to ensure that total bandwidth does not exceed this value.",
          "format": "double",
          "type": "number"
        },
        "needsSpectrumReport": {
          "description": "For regulatory domains that require a spectrum-usage report from devices, the database must return true for this parameter if the geo-spectrum schedules list is not empty; otherwise, the database should either return false or omit this parameter. If this parameter is present and its value is true, the device must send a spectrum use notify message to the database; otherwise, the device should not send the notification.",
          "type": "boolean"
        },
        "rulesetInfo": {
          "$ref": "RulesetInfo",
          "description": "The database should return ruleset information, which identifies the applicable regulatory authority and ruleset for the available spectrum batch response. If included, the device must use the corresponding ruleset to interpret the response. Values provided in the returned ruleset information, such as maxLocationChange, take precedence over any conflicting values provided in the ruleset information returned in a prior initialization response sent by the database to the device."
        },
        "timestamp": {
          "description": "The database includes a timestamp of the form, YYYY-MM-DDThh:mm:ssZ (Internet timestamp format per RFC3339), in its available spectrum batch response. The timestamp should be used by the device as a reference for the start and stop times specified in the response spectrum schedules.",
          "type": "string"
        },
        "type": {
          "description": "The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).\n\nRequired field.",
          "type": "string"
        },
        "version": {
          "description": "The PAWS version. Must be exactly 1.0.\n\nRequired field.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PawsGetSpectrumRequest": {
      "description": "The request message for the available spectrum query protocol which must include the device's geolocation.",
      "id": "PawsGetSpectrumRequest",
      "properties": {
        "antenna": {
          "$ref": "AntennaCharacteristics",
          "description": "Depending on device type and regulatory domain, the characteristics of the antenna may be required."
        },
        "capabilities": {
          "$ref": "DeviceCapabilities",
          "description": "The master device may include its device capabilities to limit the available-spectrum response to the spectrum that is compatible with its capabilities. The database should not return spectrum that is incompatible with the specified capabilities."
        },
        "deviceDesc": {
          "$ref": "DeviceDescriptor",
          "description": "When the available spectrum request is made on behalf of a specific device (a master or slave device), device descriptor information for that device is required (in such cases, the requestType parameter must be empty). When a requestType value is specified, device descriptor information may be optional or required according to the rules of the applicable regulatory domain."
        },
        "location": {
          "$ref": "GeoLocation",
          "description": "The geolocation of the master device (a device with geolocation capability that makes an available spectrum request) is required whether the master device is making the request on its own behalf or on behalf of a slave device (one without geolocation capability). The location must be the location of the radiation center of the master device's antenna. To support mobile devices, a regulatory domain may allow the anticipated position of the master device to be given instead. If the location specifies a region, rather than a point, the database may return an UNIMPLEMENTED error code if it does not support query by region."
        },
        "masterDeviceDesc": {
          "$ref": "DeviceDescriptor",
          "description": "When an available spectrum request is made by the master device (a device with geolocation capability) on behalf of a slave device (a device without geolocation capability), the rules of the applicable regulatory domain may require the master device to provide its own device descriptor information (in addition to device descriptor information for the slave device, which is provided in a separate parameter)."
        },
        "owner": {
          "$ref": "DeviceOwner",
          "description": "Depending on device type and regulatory domain, device owner information may be included in an available spectrum request. This allows the device to register and get spectrum-availability information in a single request."
        },
        "requestType": {
          "description": "The request type parameter is an optional parameter that can be used to modify an available spectrum request, but its use depends on applicable regulatory rules. It may be used, for example, to request generic slave device parameters without having to specify the device descriptor for a specific device. When the requestType parameter is missing, the request is for a specific device (master or slave), and the deviceDesc parameter for the device on whose behalf the request is made is required.",
          "type": "string"
        },
        "type": {
          "description": "The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).\n\nRequired field.",
          "type": "string"
        },
        "version": {
          "description": "The PAWS version. Must be exactly 1.0.\n\nRequired field.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PawsGetSpectrumResponse": {
      "description": "The response message for the available spectrum query which contains a schedule of available spectrum for the device.",
      "id": "PawsGetSpectrumResponse",
      "properties": {
        "databaseChange": {
          "$ref": "DbUpdateSpec",
          "description": "A database may include the databaseChange parameter to notify a device of a change to its database URI, providing one or more alternate database URIs. The device should use this information to update its list of pre-configured databases by (only) replacing its entry for the responding database with the list of alternate URIs."
        },
        "deviceDesc": {
          "$ref": "DeviceDescriptor",
          "description": "The database must return, in its available spectrum response, the device descriptor information it received in the master device's available spectrum request."
        },
        "kind": {
          "default": "spectrum#pawsGetSpectrumResponse",
          "description": "Identifies what kind of resource this is. Value: the fixed string \"spectrum#pawsGetSpectrumResponse\".",
          "type": "string"
        },
        "maxContiguousBwHz": {
          "description": "The database may return a constraint on the allowed maximum contiguous bandwidth (in Hertz). A regulatory domain may require the database to return this parameter. When this parameter is present in the response, the device must apply this constraint to its spectrum-selection logic to ensure that no single block of spectrum has bandwidth that exceeds this value.",
          "format": "double",
          "type": "number"
        },
        "maxTotalBwHz": {
          "description": "The database may return a constraint on the allowed maximum total bandwidth (in Hertz), which need not be contiguous. A regulatory domain may require the database to return this parameter. When this parameter is present in the available spectrum response, the device must apply this constraint to its spectrum-selection logic to ensure that total bandwidth does not exceed this value.",
          "format": "double",
          "type": "number"
        },
        "needsSpectrumReport": {
          "description": "For regulatory domains that require a spectrum-usage report from devices, the database must return true for this parameter if the spectrum schedule list is not empty; otherwise, the database will either return false or omit this parameter. If this parameter is present and its value is true, the device must send a spectrum use notify message to the database; otherwise, the device must not send the notification.",
          "type": "boolean"
        },
        "rulesetInfo": {
          "$ref": "RulesetInfo",
          "description": "The database should return ruleset information, which identifies the applicable regulatory authority and ruleset for the available spectrum response. If included, the device must use the corresponding ruleset to interpret the response. Values provided in the returned ruleset information, such as maxLocationChange, take precedence over any conflicting values provided in the ruleset information returned in a prior initialization response sent by the database to the device."
        },
        "spectrumSchedules": {
          "description": "The available spectrum response must contain a spectrum schedule list. The list may be empty if spectrum is not available. The database may return more than one spectrum schedule to represent future changes to the available spectrum. How far in advance a schedule may be provided depends on the applicable regulatory domain.",
          "items": {
            "$ref": "SpectrumSchedule"
          },
          "type": "array"
        },
        "timestamp": {
          "description": "The database includes a timestamp of the form YYYY-MM-DDThh:mm:ssZ (Internet timestamp format per RFC3339) in its available spectrum response. The timestamp should be used by the device as a reference for the start and stop times specified in the response spectrum schedules.",
          "type": "string"
        },
        "type": {
          "description": "The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).\n\nRequired field.",
          "type": "string"
        },
        "version": {
          "description": "The PAWS version. Must be exactly 1.0.\n\nRequired field.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PawsInitRequest": {
      "description": "The initialization request message allows the master device to initiate exchange of capabilities with the database.",
      "id": "PawsInitRequest",
      "properties": {
        "deviceDesc": {
          "$ref": "DeviceDescriptor",
          "description": "The DeviceDescriptor parameter is required. If the database does not support the device or any of the rulesets specified in the device descriptor, it must return an UNSUPPORTED error code in the error response."
        },
        "location": {
          "$ref": "GeoLocation",
          "description": "A device's geolocation is required."
        },
        "type": {
          "description": "The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).\n\nRequired field.",
          "type": "string"
        },
        "version": {
          "description": "The PAWS version. Must be exactly 1.0.\n\nRequired field.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PawsInitResponse": {
      "description": "The initialization response message communicates database parameters to the requesting device.",
      "id": "PawsInitResponse",
      "properties": {
        "databaseChange": {
          "$ref": "DbUpdateSpec",
          "description": "A database may include the databaseChange parameter to notify a device of a change to its database URI, providing one or more alternate database URIs. The device should use this information to update its list of pre-configured databases by (only) replacing its entry for the responding database with the list of alternate URIs."
        },
        "kind": {
          "default": "spectrum#pawsInitResponse",
          "description": "Identifies what kind of resource this is. Value: the fixed string \"spectrum#pawsInitResponse\".",
          "type": "string"
        },
        "rulesetInfo": {
          "$ref": "RulesetInfo",
          "description": "The rulesetInfo parameter must be included in the response. This parameter specifies the regulatory domain and parameters applicable to that domain. The database must include the authority field, which defines the regulatory domain for the location specified in the INIT_REQ message."
        },
        "type": {
          "description": "The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).\n\nRequired field.",
          "type": "string"
        },
        "version": {
          "description": "The PAWS version. Must be exactly 1.0.\n\nRequired field.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PawsNotifySpectrumUseRequest": {
      "description": "The spectrum-use notification message which must contain the geolocation of the Device and parameters required by the regulatory domain.",
      "id": "PawsNotifySpectrumUseRequest",
      "properties": {
        "deviceDesc": {
          "$ref": "DeviceDescriptor",
          "description": "Device descriptor information is required in the spectrum-use notification message."
        },
        "location": {
          "$ref": "GeoLocation",
          "description": "The geolocation of the master device (the device that is sending the spectrum-use notification) to the database is required in the spectrum-use notification message."
        },
        "spectra": {
          "description": "A spectrum list is required in the spectrum-use notification. The list specifies the spectrum that the device expects to use, which includes frequency ranges and maximum power levels. The list may be empty if the device decides not to use any of spectrum. For consistency, the psdBandwidthHz value should match that from one of the spectrum elements in the corresponding available spectrum response previously sent to the device by the database. Note that maximum power levels in the spectrum element must be expressed as power spectral density over the specified psdBandwidthHz value. The actual bandwidth to be used (as computed from the start and stop frequencies) may be different from the psdBandwidthHz value. As an example, when regulatory rules express maximum power spectral density in terms of maximum power over any 100 kHz band, then the psdBandwidthHz value should be set to 100 kHz, even though the actual bandwidth used can be 20 kHz.",
          "items": {
            "$ref": "SpectrumMessage"
          },
          "type": "array"
        },
        "type": {
          "description": "The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).\n\nRequired field.",
          "type": "string"
        },
        "version": {
          "description": "The PAWS version. Must be exactly 1.0.\n\nRequired field.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PawsNotifySpectrumUseResponse": {
      "description": "An empty response to the notification.",
      "id": "PawsNotifySpectrumUseResponse",
      "properties": {
        "kind": {
          "default": "spectrum#pawsNotifySpectrumUseResponse",
          "description": "Identifies what kind of resource this is. Value: the fixed string \"spectrum#pawsNotifySpectrumUseResponse\".",
          "type": "string"
        },
        "type": {
          "description": "The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).\n\nRequired field.",
          "type": "string"
        },
        "version": {
          "description": "The PAWS version. Must be exactly 1.0.\n\nRequired field.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PawsRegisterRequest": {
      "description": "The registration request message contains the required registration parameters.",
      "id": "PawsRegisterRequest",
      "properties": {
        "antenna": {
          "$ref": "AntennaCharacteristics",
          "description": "Antenna characteristics, including its height and height type."
        },
        "deviceDesc": {
          "$ref": "DeviceDescriptor",
          "description": "A DeviceDescriptor is required."
        },
        "deviceOwner": {
          "$ref": "DeviceOwner",
          "description": "Device owner information is required."
        },
        "location": {
          "$ref": "GeoLocation",
          "description": "A device's geolocation is required."
        },
        "type": {
          "description": "The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).\n\nRequired field.",
          "type": "string"
        },
        "version": {
          "description": "The PAWS version. Must be exactly 1.0.\n\nRequired field.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PawsRegisterResponse": {
      "description": "The registration response message simply acknowledges receipt of the request and is otherwise empty.",
      "id": "PawsRegisterResponse",
      "properties": {
        "databaseChange": {
          "$ref": "DbUpdateSpec",
          "description": "A database may include the databaseChange parameter to notify a device of a change to its database URI, providing one or more alternate database URIs. The device should use this information to update its list of pre-configured databases by (only) replacing its entry for the responding database with the list of alternate URIs."
        },
        "kind": {
          "default": "spectrum#pawsRegisterResponse",
          "description": "Identifies what kind of resource this is. Value: the fixed string \"spectrum#pawsRegisterResponse\".",
          "type": "string"
        },
        "type": {
          "description": "The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).\n\nRequired field.",
          "type": "string"
        },
        "version": {
          "description": "The PAWS version. Must be exactly 1.0.\n\nRequired field.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PawsVerifyDeviceRequest": {
      "description": "The device validation request message.",
      "id": "PawsVerifyDeviceRequest",
      "properties": {
        "deviceDescs": {
          "description": "A list of device descriptors, which specifies the slave devices to be validated, is required.",
          "items": {
            "$ref": "DeviceDescriptor"
          },
          "type": "array"
        },
        "type": {
          "description": "The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).\n\nRequired field.",
          "type": "string"
        },
        "version": {
          "description": "The PAWS version. Must be exactly 1.0.\n\nRequired field.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PawsVerifyDeviceResponse": {
      "description": "The device validation response message.",
      "id": "PawsVerifyDeviceResponse",
      "properties": {
        "databaseChange": {
          "$ref": "DbUpdateSpec",
          "description": "A database may include the databaseChange parameter to notify a device of a change to its database URI, providing one or more alternate database URIs. The device should use this information to update its list of pre-configured databases by (only) replacing its entry for the responding database with the list of alternate URIs."
        },
        "deviceValidities": {
          "description": "A device validities list is required in the device validation response to report whether each slave device listed in a previous device validation request is valid. The number of entries must match the number of device descriptors listed in the previous device validation request.",
          "items": {
            "$ref": "DeviceValidity"
          },
          "type": "array"
        },
        "kind": {
          "default": "spectrum#pawsVerifyDeviceResponse",
          "description": "Identifies what kind of resource this is. Value: the fixed string \"spectrum#pawsVerifyDeviceResponse\".",
          "type": "string"
        },
        "type": {
          "description": "The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).\n\nRequired field.",
          "type": "string"
        },
        "version": {
          "description": "The PAWS version. Must be exactly 1.0.\n\nRequired field.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "RulesetInfo": {
      "description": "This contains parameters for the ruleset of a regulatory domain that is communicated using the initialization and available-spectrum processes.",
      "id": "RulesetInfo",
      "properties": {
        "authority": {
          "description": "The regulatory domain to which the ruleset belongs is required. It must be a 2-letter country code. The device should use this to determine additional device behavior required by the associated regulatory domain.",
          "type": "string"
        },
        "maxLocationChange": {
          "description": "The maximum location change in meters is required in the initialization response, but optional otherwise. When the device changes location by more than this specified distance, it must contact the database to get the available spectrum for the new location. If the device is using spectrum that is no longer available, it must immediately cease use of the spectrum under rules for database-managed spectrum. If this value is provided within the context of an available-spectrum response, it takes precedence over the value within the initialization response.",
          "format": "double",
          "type": "number"
        },
        "maxPollingSecs": {
          "description": "The maximum duration, in seconds, between requests for available spectrum. It is required in the initialization response, but optional otherwise. The device must contact the database to get available spectrum no less frequently than this duration. If the new spectrum information indicates that the device is using spectrum that is no longer available, it must immediately cease use of those frequencies under rules for database-managed spectrum. If this value is provided within the context of an available-spectrum response, it takes precedence over the value within the initialization response.",
          "format": "int32",
          "type": "integer"
        },
        "rulesetIds": {
          "description": "The identifiers of the rulesets supported for the device's location. The database should include at least one applicable ruleset in the initialization response. The device may use the ruleset identifiers to determine parameters to include in subsequent requests. Within the context of the available-spectrum responses, the database should include the identifier of the ruleset that it used to determine the available-spectrum response. If included, the device must use the specified ruleset to interpret the response. If the device does not support the indicated ruleset, it must not operate in the spectrum governed by the ruleset.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "SpectrumMessage": {
      "description": "Available spectrum can be logically characterized by a list of frequency ranges and permissible power levels for each range.",
      "id": "SpectrumMessage",
      "properties": {
        "bandwidth": {
          "description": "The bandwidth (in Hertz) for which permissible power levels are specified. For example, FCC regulation would require only one spectrum specification at 6MHz bandwidth, but Ofcom regulation would require two specifications, at 0.1MHz and 8MHz. This parameter may be empty if there is no available spectrum. It will be present otherwise.",
          "format": "double",
          "type": "number"
        },
        "frequencyRanges": {
          "description": "The list of frequency ranges and permissible power levels. The list may be empty if there is no available spectrum, otherwise it will be present.",
          "items": {
            "$ref": "FrequencyRange"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "SpectrumSchedule": {
      "description": "The spectrum schedule element combines an event time with spectrum profile to define a time period in which the profile is valid.",
      "id": "SpectrumSchedule",
      "properties": {
        "eventTime": {
          "$ref": "EventTime",
          "description": "The event time expresses when the spectrum profile is valid. It will always be present."
        },
        "spectra": {
          "description": "A list of spectrum messages representing the usable profile. It will always be present, but may be empty when there is no available spectrum.",
          "items": {
            "$ref": "SpectrumMessage"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Vcard": {
      "description": "A vCard-in-JSON message that contains only the fields needed for PAWS:  \n- fn: Full name of an individual \n- org: Name of the organization \n- adr: Address fields \n- tel: Telephone numbers \n- email: Email addresses",
      "id": "Vcard",
      "properties": {
        "adr": {
          "$ref": "VcardAddress",
          "description": "The street address of the entity."
        },
        "email": {
          "$ref": "VcardTypedText",
          "description": "An email address that can be used to reach the contact."
        },
        "fn": {
          "description": "The full name of the contact person. For example: John A. Smith.",
          "type": "string"
        },
        "org": {
          "$ref": "VcardTypedText",
          "description": "The organization associated with the registering entity."
        },
        "tel": {
          "$ref": "VcardTelephone",
          "description": "A telephone number that can be used to call the contact."
        }
      },
      "type": "object"
    },
    "VcardAddress": {
      "description": "The structure used to represent a street address.",
      "id": "VcardAddress",
      "properties": {
        "code": {
          "description": "The postal code associated with the address. For example: 94423.",
          "type": "string"
        },
        "country": {
          "description": "The country name. For example: US.",
          "type": "string"
        },
        "locality": {
          "description": "The city or local equivalent portion of the address. For example: San Jose.",
          "type": "string"
        },
        "pobox": {
          "description": "An optional post office box number.",
          "type": "string"
        },
        "region": {
          "description": "The state or local equivalent portion of the address. For example: CA.",
          "type": "string"
        },
        "street": {
          "description": "The street number and name. For example: 123 Any St.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "VcardTelephone": {
      "description": "The structure used to represent a telephone number.",
      "id": "VcardTelephone",
      "properties": {
        "uri": {
          "description": "A nested telephone URI of the form: tel:+1-123-456-7890.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "VcardTypedText": {
      "description": "The structure used to represent an organization and an email address.",
      "id": "VcardTypedText",
      "properties": {
        "text": {
          "description": "The text string associated with this item. For example, for an org field: ACME, inc. For an email field: smith@example.com.",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "spectrum/v1explorer/paws/",
  "title": "Google Spectrum Database API",
  "version": "v1explorer"
}