# Method: installer.validate

- [HTTP request](https://developers.google.com/spectrum-access-system/reference/rest/v1alpha1/installer/validate#body.HTTP_TEMPLATE)
- [Request body](https://developers.google.com/spectrum-access-system/reference/rest/v1alpha1/installer/validate#body.request_body)
  - [JSON representation](https://developers.google.com/spectrum-access-system/reference/rest/v1alpha1/installer/validate#body.request_body.SCHEMA_REPRESENTATION)
- [Response body](https://developers.google.com/spectrum-access-system/reference/rest/v1alpha1/installer/validate#body.response_body)
- [Authorization Scopes](https://developers.google.com/spectrum-access-system/reference/rest/v1alpha1/installer/validate#body.aspect)

Validates the identity of a Certified Professional Installer (CPI).

### HTTP request

`POST https://sasportal.googleapis.com/v1alpha1/installer:validate`

The URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Request body

The request body contains data with the following structure:

| JSON representation |
|---|
| ``` { "installerId": string, "secret": string, "encodedSecret": string } ``` |

| Fields ||
|---|---|
| `installerId` | `string` Required. Unique installer id (CPI ID) from the Certified Professional Installers database. |
| `secret` | `string` Required. Secret returned by the `https://developers.google.com/spectrum-access-system/reference/rest/v1alpha1/installer/generateSecret#spectrum.sas.portal.v1alpha1.DeviceManager.GenerateSecret`. |
| `encodedSecret` | `string` Required. JSON Web Token signed using a CPI private key. Payload must include a "secret" claim whose value is the secret. |

### Response body

If successful, the response body is empty.

### Authorization Scopes

Requires the following OAuth scope:

- `https://www.googleapis.com/auth/sasportal`