--- title: API Key description: A template that represents a single API key. location: https://istio.io/docs/reference/config/policy-and-telemetry/templates/apikey.html layout: protoc-gen-docs generator: protoc-gen-docs aliases: - /docs/reference/config/template/apikey.html number_of_entries: 2 ---

The `apikey` template represents a single API key, which is used for authorization checks.

Example config:

    apiVersion: "config.istio.io/v1alpha2"
    kind: apikey
    metadata:
      name: validate-apikey
      namespace: istio-system
    spec:
      api: api.service | ""
      api_version: api.version | ""
      api_operation: api.operation | ""
      api_key: api.key | ""
      timestamp: request.time

## Template

The `apikey` template represents a single API key, used to authorize API calls.

Field | Type | Description
--- | --- | ---
`api` | `string` | The API being called (api.service).
`apiVersion` | `string` | The version of the API (api.version).
`apiOperation` | `string` | The API operation is being called.
`apiKey` | `string` | API key used in API call.
`timestamp` | `istio.policy.v1beta1.TimeStamp` | Timestamp of API call.

## istio.policy.v1beta1.TimeStamp

An instance field of type TimeStamp denotes that the expression for the field must evalaute to ValueType.TIMESTAMP

Objects of type TimeStamp are also passed to the adapters during request-time for the instance fields of type TimeStamp

Field | Type | Description
--- | --- | ---
`value` | `google.protobuf.Timestamp` | TimeStamp encoded as google.protobuf.Timestamp.