openapi-directory
Version:
Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS
1 lines • 63.7 kB
JSON
{"openapi":"3.0.0","servers":[{"url":"https://prod-tt-sasportal.googleapis.com/"}],"info":{"contact":{"name":"Google","url":"https://google.com","x-twitter":"youtube"},"description":"","license":{"name":"Creative Commons Attribution 3.0","url":"http://creativecommons.org/licenses/by/3.0/"},"termsOfService":"https://developers.google.com/terms/","title":"SAS Portal API (Testing)","version":"v1alpha1","x-apiClientRegistration":{"url":"https://console.developers.google.com"},"x-apisguru-categories":["analytics","media"],"x-logo":{"url":"https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"},"x-origin":[{"converter":{"url":"https://github.com/mermade/oas-kit","version":"7.0.4"},"format":"google","url":"https://prod-tt-sasportal.googleapis.com/$discovery/rest?version=v1alpha1","version":"v1"}],"x-providerName":"googleapis.com","x-serviceName":"prod_tt_sasportal"},"externalDocs":{"url":"https://developers.google.com/spectrum-access-system/"},"tags":[{"name":"customers"},{"name":"deployments"},{"name":"installer"},{"name":"nodes"},{"name":"policies"}],"paths":{"/v1alpha1/customers":{"get":{"description":"Returns a list of requested customers.","operationId":"prod_tt_sasportal.customers.list","parameters":[{"description":"The maximum number of customers to return in the response.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"A pagination token returned from a previous call to ListCustomers that indicates where this listing should continue from.","in":"query","name":"pageToken","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalListCustomersResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["customers"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}]},"/v1alpha1/customers:listGcpProjectDeployments":{"get":{"description":"Returns a list of SAS deployments associated with current GCP project. Includes whether SAS analytics has been enabled or not.","operationId":"prod_tt_sasportal.customers.listGcpProjectDeployments","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalListGcpProjectDeploymentsResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["customers"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}]},"/v1alpha1/customers:listLegacyOrganizations":{"get":{"description":"Returns a list of legacy organizations.","operationId":"prod_tt_sasportal.customers.listLegacyOrganizations","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalListLegacyOrganizationsResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["customers"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}]},"/v1alpha1/customers:migrateOrganization":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Migrates a SAS organization to the cloud. This will create GCP projects for each deployment and associate them. The SAS Organization is linked to the gcp project that called the command. go/sas-legacy-customer-migration","operationId":"prod_tt_sasportal.customers.migrateOrganization","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalMigrateOrganizationRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalOperation"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["customers"]}},"/v1alpha1/customers:provisionDeployment":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Creates a new SAS deployment through the GCP workflow. Creates a SAS organization if an organization match is not found.","operationId":"prod_tt_sasportal.customers.provisionDeployment","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalProvisionDeploymentRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalProvisionDeploymentResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["customers"]}},"/v1alpha1/customers:setupSasAnalytics":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Setups the a GCP Project to receive SAS Analytics messages via GCP Pub/Sub with a subscription to BigQuery. All the Pub/Sub topics and BigQuery tables are created automatically as part of this service.","operationId":"prod_tt_sasportal.customers.setupSasAnalytics","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalSetupSasAnalyticsRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalOperation"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["customers"]}},"/v1alpha1/installer:generateSecret":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Generates a secret to be used with the ValidateInstaller.","operationId":"prod_tt_sasportal.installer.generateSecret","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalGenerateSecretRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalGenerateSecretResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["installer"]}},"/v1alpha1/installer:validate":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Validates the identity of a Certified Professional Installer (CPI).","operationId":"prod_tt_sasportal.installer.validate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalValidateInstallerRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalValidateInstallerResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["installer"]}},"/v1alpha1/policies:get":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.","operationId":"prod_tt_sasportal.policies.get","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalGetPolicyRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalPolicy"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["policies"]}},"/v1alpha1/policies:set":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Sets the access control policy on the specified resource. Replaces any existing policy.","operationId":"prod_tt_sasportal.policies.set","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalSetPolicyRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalPolicy"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["policies"]}},"/v1alpha1/policies:test":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Returns permissions that a caller has on the specified resource.","operationId":"prod_tt_sasportal.policies.test","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalTestPermissionsRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalTestPermissionsResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["policies"]}},"/v1alpha1/{name}":{"delete":{"description":"Deletes a node.","operationId":"prod_tt_sasportal.nodes.nodes.delete","parameters":[{"description":"Required. The name of the node.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalEmpty"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["nodes"]},"get":{"description":"Returns a requested node.","operationId":"prod_tt_sasportal.nodes.nodes.get","parameters":[{"description":"Required. The name of the node.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalNode"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["nodes"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"patch":{"description":"Updates an existing node.","operationId":"prod_tt_sasportal.nodes.nodes.patch","parameters":[{"description":"Output only. Resource name.","in":"path","name":"name","required":true,"schema":{"type":"string"}},{"description":"Fields to be updated.","in":"query","name":"updateMask","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalNode"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalNode"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["nodes"]}},"/v1alpha1/{name}:move":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Moves a node under another node or customer.","operationId":"prod_tt_sasportal.nodes.nodes.move","parameters":[{"description":"Required. The name of the node to move.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalMoveNodeRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalOperation"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["nodes"]}},"/v1alpha1/{name}:signDevice":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Signs a device.","operationId":"prod_tt_sasportal.nodes.devices.signDevice","parameters":[{"description":"Output only. The resource path name.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalSignDeviceRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalEmpty"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["nodes"]}},"/v1alpha1/{name}:updateSigned":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"patch":{"description":"Updates a signed device.","operationId":"prod_tt_sasportal.nodes.devices.updateSigned","parameters":[{"description":"Required. The name of the device to update.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalUpdateSignedDeviceRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalDevice"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["nodes"]}},"/v1alpha1/{parent}/deployments":{"get":{"description":"Lists deployments.","operationId":"prod_tt_sasportal.nodes.nodes.deployments.list","parameters":[{"description":"Required. The parent resource name, for example, \"nodes/1\", customer/1/nodes/2.","in":"path","name":"parent","required":true,"schema":{"type":"string"}},{"description":"The filter expression. The filter should have the following format: \"DIRECT_CHILDREN\" or format: \"direct_children\". The filter is case insensitive. If empty, then no deployments are filtered.","in":"query","name":"filter","schema":{"type":"string"}},{"description":"The maximum number of deployments to return in the response.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"A pagination token returned from a previous call to ListDeployments that indicates where this listing should continue from.","in":"query","name":"pageToken","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalListDeploymentsResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["nodes"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Creates a new deployment.","operationId":"prod_tt_sasportal.nodes.nodes.deployments.create","parameters":[{"description":"Required. The parent resource name where the deployment is to be created.","in":"path","name":"parent","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalDeployment"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalDeployment"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["nodes"]}},"/v1alpha1/{parent}/devices":{"get":{"description":"Lists devices under a node or customer.","operationId":"prod_tt_sasportal.nodes.nodes.devices.list","parameters":[{"description":"Required. The name of the parent resource.","in":"path","name":"parent","required":true,"schema":{"type":"string"}},{"description":"The filter expression. The filter should have one of the following formats: \"sn=123454\" or \"display_name=MyDevice\". sn corresponds to serial number of the device. The filter is case insensitive.","in":"query","name":"filter","schema":{"type":"string"}},{"description":"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].","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"A pagination token returned from a previous call to ListDevices that indicates where this listing should continue from.","in":"query","name":"pageToken","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalListDevicesResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["nodes"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Creates a device under a node or customer.","operationId":"prod_tt_sasportal.nodes.nodes.devices.create","parameters":[{"description":"Required. The name of the parent resource.","in":"path","name":"parent","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalDevice"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalDevice"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["nodes"]}},"/v1alpha1/{parent}/devices:createSigned":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Creates a signed device under a node or customer.","operationId":"prod_tt_sasportal.nodes.nodes.devices.createSigned","parameters":[{"description":"Required. The name of the parent resource.","in":"path","name":"parent","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalCreateSignedDeviceRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalDevice"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["nodes"]}},"/v1alpha1/{parent}/nodes":{"get":{"description":"Lists nodes.","operationId":"prod_tt_sasportal.nodes.nodes.nodes.list","parameters":[{"description":"Required. The parent resource name, for example, \"nodes/1\".","in":"path","name":"parent","required":true,"schema":{"type":"string"}},{"description":"The filter expression. The filter should have the following format: \"DIRECT_CHILDREN\" or format: \"direct_children\". The filter is case insensitive. If empty, then no nodes are filtered.","in":"query","name":"filter","schema":{"type":"string"}},{"description":"The maximum number of nodes to return in the response.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"A pagination token returned from a previous call to ListNodes that indicates where this listing should continue from.","in":"query","name":"pageToken","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalListNodesResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["nodes"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Creates a new node.","operationId":"prod_tt_sasportal.nodes.nodes.nodes.create","parameters":[{"description":"Required. The parent resource name where the node is to be created.","in":"path","name":"parent","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalNode"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SasPortalNode"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/sasportal"],"Oauth2c":["https://www.googleapis.com/auth/sasportal"]}],"tags":["nodes"]}}},"components":{"parameters":{"_.xgafv":{"description":"V1 error format.","in":"query","name":"$.xgafv","schema":{"enum":["1","2"],"type":"string"}},"access_token":{"description":"OAuth access token.","in":"query","name":"access_token","schema":{"type":"string"}},"alt":{"description":"Data format for response.","in":"query","name":"alt","schema":{"enum":["json","media","proto"],"type":"string"}},"callback":{"description":"JSONP","in":"query","name":"callback","schema":{"type":"string"}},"fields":{"description":"Selector specifying which fields to include in a partial response.","in":"query","name":"fields","schema":{"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.","in":"query","name":"key","schema":{"type":"string"}},"oauth_token":{"description":"OAuth 2.0 token for the current user.","in":"query","name":"oauth_token","schema":{"type":"string"}},"prettyPrint":{"description":"Returns response with indentations and line breaks.","in":"query","name":"prettyPrint","schema":{"type":"boolean"}},"quotaUser":{"description":"Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.","in":"query","name":"quotaUser","schema":{"type":"string"}},"uploadType":{"description":"Legacy upload protocol for media (e.g. \"media\", \"multipart\").","in":"query","name":"uploadType","schema":{"type":"string"}},"upload_protocol":{"description":"Upload protocol for media (e.g. \"raw\", \"multipart\").","in":"query","name":"upload_protocol","schema":{"type":"string"}}},"schemas":{"SasPortalAssignment":{"description":"Associates `members` with a `role`.","properties":{"members":{"description":"The identities the role is assigned to. It can have the following values: * `{user_email}`: An email address that represents a specific Google account. For example: `alice@gmail.com`. * `{group_email}`: An email address that represents a Google group. For example, `viewers@gmail.com`.","items":{"type":"string"},"type":"array"},"role":{"description":"Required. Role that is assigned to `members`.","type":"string"}},"type":"object"},"SasPortalChannelWithScore":{"description":"The channel with score.","properties":{"frequencyRange":{"$ref":"#/components/schemas/SasPortalFrequencyRange","description":"The frequency range of the channel."},"score":{"description":"The channel score, normalized to be in the range [0,100].","format":"double","type":"number"}},"type":"object"},"SasPortalCreateSignedDeviceRequest":{"description":"Request for CreateSignedDevice.","properties":{"encodedDevice":{"description":"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.","format":"byte","type":"string"},"installerId":{"description":"Required. Unique installer id (CPI ID) from the Certified Professional Installers database.","type":"string"}},"type":"object"},"SasPortalCustomer":{"description":"Entity representing a SAS customer.","properties":{"displayName":{"description":"Required. Name of the organization that the customer entity represents.","type":"string"},"name":{"description":"Output only. Resource name of the customer.","type":"string"},"sasUserIds":{"description":"User IDs used by the devices belonging to this customer.","items":{"type":"string"},"type":"array"}},"type":"object"},"SasPortalDeployment":{"description":"The Deployment.","properties":{"displayName":{"description":"The deployment's display name.","type":"string"},"frns":{"description":"Output only. The FCC Registration Numbers (FRNs) copied from its direct parent.","items":{"type":"string"},"readOnly":true,"type":"array"},"name":{"description":"Output only. Resource name.","readOnly":true,"type":"string"},"sasUserIds":{"description":"User ID used by the devices belonging to this deployment. Each deployment should be associated with one unique user ID.","items":{"type":"string"},"type":"array"}},"type":"object"},"SasPortalDeploymentAssociation":{"description":"Association between a gcp project and a SAS user id.","properties":{"gcpProjectId":{"description":"GCP project id of the associated project.","type":"string"},"userId":{"description":"User id of the deployment.","type":"string"}},"type":"object"},"SasPortalDevice":{"properties":{"activeConfig":{"$ref":"#/components/schemas/SasPortalDeviceConfig","description":"Output only. Current configuration of the device as registered to the SAS."},"currentChannels":{"deprecated":true,"description":"Output only. Current channels with scores.","items":{"$ref":"#/components/schemas/SasPortalChannelWithScore"},"readOnly":true,"type":"array"},"deviceMetadata":{"$ref":"#/components/schemas/SasPortalDeviceMetadata","description":"Device parameters that can be overridden by both SAS Portal and SAS registration requests."},"displayName":{"description":"Device display name.","type":"string"},"fccId":{"description":"The FCC identifier of the device. Refer to https://www.fcc.gov/oet/ea/fccid for FccID format. Accept underscores and periods because some test-SAS customers use them.","type":"string"},"grantRangeAllowlists":{"description":"Only ranges that are within the allowlists are available for new grants.","items":{"$ref":"#/components/schemas/SasPortalFrequencyRange"},"type":"array"},"grants":{"description":"Output only. Grants held by the device.","items":{"$ref":"#/components/schemas/SasPortalDeviceGrant"},"type":"array"},"name":{"description":"Output only. The resource path name.","type":"string"},"preloadedConfig":{"$ref":"#/components/schemas/SasPortalDeviceConfig","description":"Configuration of the device, as specified via SAS Portal API."},"serialNumber":{"description":"A serial number assigned to the device by the device manufacturer.","type":"string"},"state":{"description":"Output only. Device state.","enum":["DEVICE_STATE_UNSPECIFIED","RESERVED","REGISTERED","DEREGISTERED"],"type":"string"}},"type":"object"},"SasPortalDeviceAirInterface":{"description":"Information about the device's air interface.","properties":{"radioTechnology":{"description":"Conditional. This field specifies the radio access technology that is used for the CBSD.","enum":["RADIO_TECHNOLOGY_UNSPECIFIED","E_UTRA","CAMBIUM_NETWORKS","FOUR_G_BBW_SAA_1","NR","DOODLE_CBRS","CW","REDLINE","TARANA_WIRELESS"],"type":"string"},"supportedSpec":{"description":"Optional. This field is related to the `radioTechnology` and provides the air interface specification that the CBSD is compliant with at the time of registration.","type":"string"}},"type":"object"},"SasPortalDeviceConfig":{"description":"Information about the device configuration.","properties":{"airInterface":{"$ref":"#/components/schemas/SasPortalDeviceAirInterface","description":"Information about this device's air interface."},"callSign":{"description":"The call sign of the device operator.","type":"string"},"category":{"description":"FCC category of the device.","enum":["DEVICE_CATEGORY_UNSPECIFIED","DEVICE_CATEGORY_A","DEVICE_CATEGORY_B"],"type":"string"},"installationParams":{"$ref":"#/components/schemas/SasPortalInstallationParams","description":"Installation parameters for the device."},"isSigned":{"description":"Output only. Whether the configuration has been signed by a CPI.","type":"boolean"},"measurementCapabilities":{"description":"Measurement reporting capabilities of the device.","items":{"enum":["MEASUREMENT_CAPABILITY_UNSPECIFIED","MEASUREMENT_CAPABILITY_RECEIVED_POWER_WITH_GRANT","MEASUREMENT_CAPABILITY_RECEIVED_POWER_WITHOUT_GRANT"],"type":"string"},"type":"array"},"model":{"$ref":"#/components/schemas/SasPortalDeviceModel","description":"Information about this device model."},"state":{"description":"State of the configuration.","enum":["DEVICE_CONFIG_STATE_UNSPECIFIED","DRAFT","FINAL"],"type":"string"},"updateTime":{"description":"Output only. The last time the device configuration was edited.","format":"google-datetime","type":"string"},"userId":{"description":"The identifier of a device user.","type":"string"}},"type":"object"},"SasPortalDeviceGrant":{"description":"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.","properties":{"channelType":{"description":"Type of channel used.","enum":["CHANNEL_TYPE_UNSPECIFIED","CHANNEL_TYPE_GAA","CHANNEL_TYPE_PAL"],"type":"string"},"expireTime":{"description":"The expiration time of the grant.","format":"google-datetime","type":"string"},"frequencyRange":{"$ref":"#/components/schemas/SasPortalFrequencyRange","description":"The transmission frequency range."},"grantId":{"description":"Grant Id.","type":"string"},"lastHeartbeatTransmitExpireTime":{"description":"The transmit expiration time of the last heartbeat.","format":"google-datetime","type":"string"},"maxEirp":{"description":"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).","format":"double","type":"number"},"moveList":{"description":"The DPA move lists on which this grant appears.","items":{"$ref":"#/components/schemas/SasPortalDpaMoveList"},"type":"array"},"state":{"description":"State of the grant.","enum":["GRANT_STATE_UNSPECIFIED","GRANT_STATE_GRANTED","GRANT_STATE_TERMINATED","GRANT_STATE_SUSPENDED","GRANT_STATE_AUTHORIZED","GRANT_STATE_EXPIRED"],"type":"string"},"suspensionReason":{"description":"If the grant is suspended, the reason(s) for suspension.","items":{"type":"string"},"type":"array"}},"type":"object"},"SasPortalDeviceMetadata":{"description":"Device data overridable by both SAS Portal and registration requests.","properties":{"antennaModel":{"description":"If populated, the Antenna Model Pattern to use. Format is: `RecordCreatorId:PatternId`","type":"string"},"commonChannelGroup":{"description":"Common Channel Group (CCG). A group of CBSDs in the same ICG requesting a common primary channel assignment. For more details, see [CBRSA-TS-2001 V3.0.0](https://ongoalliance.org/wp-content/uploads/2020/02/CBRSA-TS-2001-V3.0.0_Approved-for-publication.pdf).","type":"string"},"interferenceCoordinationGroup":{"description":"Interference Coordination Group (ICG). A group of CBSDs that manage their own interference with the group. For more details, see [CBRSA-TS-2001 V3.0.0](https://ongoalliance.org/wp-content/uploads/2020/02/CBRSA-TS-2001-V3.0.0_Approved-for-publication.pdf).","type":"string"},"nrqzValidated":{"deprecated":true,"description":"Output only. Set to `true` if a CPI has validated that they have coordinated with the National Quiet Zone office.","readOnly":true,"type":"boolean"},"nrqzValidation":{"$ref":"#/components/schemas/SasPortalNrqzValidation","description":"Output only. National Radio Quiet Zone validation info.","readOnly":true}},"type":"object"},"SasPortalDeviceModel":{"description":"Information about the model of the device.","properties":{"firmwareVersion":{"description":"The firmware version of the device.","type":"string"},"hardwareVersion":{"description":"The hardware version of the device.","type":"string"},"name":{"description":"The name of the device model.","type":"string"},"softwareVersion":{"description":"The software version of the device.","type":"string"},"vendor":{"description":"The name of the device vendor.","type":"string"}},"type":"object"},"SasPortalDpaMoveList":{"description":"An entry in a DPA's move list.","properties":{"dpaId":{"description":"The ID of the DPA.","type":"string"},"frequencyRange":{"$ref":"#/components/schemas/SasPortalFrequencyRange","description":"The frequency range that the move list affects."}},"type":"object"},"SasPortalEmpty":{"description":"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); }","properties":{},"type":"object"},"SasPortalFrequencyRange":{"description":"Frequency range from `low_frequency` to `high_frequency`.","properties":{"highFrequencyMhz":{"description":"The highest frequency of the frequency range in MHz.","format":"double","type":"number"},"lowFrequencyMhz":{"description":"The lowest frequency of the frequency range in MHz.","format":"double","type":"number"}},"type":"object"},"SasPortalGcpProjectDeployment":{"description":"Deployment associated with the GCP project. Includes whether SAS analytics has been enabled or not.","properties":{"deployment":{"$ref":"#/components/schemas/SasPortalDeployment","description":"Deployment associated with the GCP project."},"hasEnabledAnalytics":{"description":"Whether SAS analytics has been enabled.","type":"boolean"}},"type":"object"},"SasPortalGenerateSecretRequest":{"description":"Request for GenerateSecret.","properties":{},"type":"object"},"SasPortalGenerateSecretResponse":{"description":"Response for GenerateSecret.","properties":{"secret":{"description":"The secret generated by the string and used by ValidateInstaller.","type":"string"}},"type":"object"},"SasPortalGetPolicyRequest":{"description":"Request message for `GetPolicy` method.","properties":{"resource":{"description":"Required. The resource for which the policy is being requested.","type":"string"}},"type":"object"},"SasPortalInstallationParams":{"description":"Information about the device installation parameters.","properties":{"antennaAzimuth":{"description":"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.","format":"int32","type":"integer"},"antennaBeamwidth":{"description":"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.","format":"int32","type":"integer"},"antennaDowntilt":{"description":"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.","format":"int32","type":"integer"},"antennaGain":{"description":"Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.","format":"int32","type":"integer"},"antennaModel":{"description":"If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.","type":"string"},"cpeCbsdIndication":{"description":"If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.","type":"boolean"},"eirpCapability":{"description":"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.","format":"int32","type":"integer"},"height":{"description":"Device antenna height in meters. When the `heightType` parameter value is \"AGL\", the antenna height should be given relative to ground level. When the `heightType` parameter value is \"AMSL\", it is given with respect to WGS84 datum.","format":"double","type":"number"},"heightType":{"description":"Specifies how the height is measured.","enum":["HEIGHT_TYPE_UNSPECIFIED","HEIGHT_TYPE_AGL","HEIGHT_TYPE_AMSL"],"type":"string"},"horizontalAccuracy":{"description":"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.","format":"double","type":"number"},"indoorDeployment":{"description":"Whether the device antenna is indoor or not. `true`: indoor. `false`: outdoor.","type":"boolean"},"latitude":{"description":"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.","format":"double","type":"number"},"longitude":{"description":"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.","format":"double","type":"number"},"verticalAccuracy":{"description":"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.","format":"double","type":"number"}},"type":"object"},"SasPortalListCustomersResponse":{"description":"Response for `ListCustomers`.","properties":{"customers":{"description":"The list of customers that match the request.","items":{"$ref":"#/components/schemas/SasPortalCustomer"},"type":"array"},"nextPageToken":{"description":"A pagination token returned from a previous call to ListCustomers that indicates from where listing should continue. If the field is missing or empty, it means there are no more customers.","type":"string"}},"type":"object"},"SasPortalListDeploymentsResponse":{"description":"Response for ListDeployments.","properties":{"deployments":{"description":"The deployments that match the request.","items":{"$ref":"#/components/schemas/SasPortalDeployment"},"type":"array"},"nextPageToken":{"description":"A pagination token returned from a previous call to ListDeployments that indicates from where listing should continue. If the field is missing or empty, it means there are no more deployments.","type":"string"}},"type":"object"},"SasPortalListDevicesResponse":{"description":"Response for ListDevices.","properties":{"devices":{"description":"The devices that match the request.","items":{"$ref":"#/components/schemas/SasPortalDevice"},"type":"array"},"nextPageToken":{"description":"A pagination token returned from a previous call to ListDevices that indicates from where listing should continue. If the field is missing or empty, it means there is no more devices.","type