---
title: "CreateAPIKeyReq"
method: POST
path: "/v1/auth/api-key/validate"
tags: ["APIKeyValidatorService"]
---

# CreateAPIKeyReq

`POST /v1/auth/api-key/validate`

Validates an API key.

## Request body

- V1ValidateAPIKeyReq — Validates an API key.
  - `issuing_user` V1User — User represents a user in the system. Mostly includes configuration parameters that are user wise.
    - `meta` V1Meta, required — Common fields for all Endor Labs resources.
      - `annotations` object — Annotations can be used to attach metadata to a resource message. Annotation values can be small or large, structured or unstructured, and may include characters not permitted by labels. The keys may contain alphanumerics, underscores (_), dots (.) and dashes (-). The values of an annotation must be 16384 bytes or smaller.
      - `create_time` string, date-time — Time the resource was created. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
      - `created_by` string — Name and authentication source of the user who created the object, for example, ewok@endor.ai@google@api-key.
      - `description` string — Resource description. Must be less than 1024 bytes.
      - `index_data` V1IndexData — IndexData is used to index the resource for search. It's an internal object.
        - `data` string[]
        - `search_score` number, float — search_score is the score of the resource for search. Internal use only.
        - `tenant` string
        - `will_be_deleted_at` string, date-time — Time that the resource will be deleted.
      - `kind` string — Resource kind, for example, HelloResponse. Auto-generated using the protobuf message proto.MessageName().Name().
      - `name` string, required — Resource name. Must be 63 characters or less.
      - `parent_kind` string — Parent object resource kind, for example, Project.
      - `parent_uuid` string — Parent object UUID.
      - `references` object — Map of objects referenced in a query API.
      - `tags` string[] — List of tags attached to the resource. Tags can be used to select objects and to find collections of objects that satisfy certain conditions. A tag must be 255 characters or less.
      - `update_time` string, date-time — Time the resource was last updated. Note: Updated on all create/patch/delete operations. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
      - `updated_by` string — Name and authentication source of the last user who updated the object, for example, vulnerabilityingestor@endor.ai@x509.
      - `upsert_time` string, date-time — Time the resource was last upserted. Note: create_time is only set the first time the resource is created. upsert_time is set every time the resource is upseted. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
      - `version` string — Message version.
    - `spec` V1UserSpec
      - `email` string — Email of the user. It can be changed.
      - `event_tracking` object — Lists of user events indexed by event type.
      - `first_name` string — First name of the user as identified. It can be changed.
      - `groups` string[] — Groups that the user is a member of, as identified by the claims returned by the identity provider.
      - `last_login_time` string, date-time — Last login time keeps a record of the last time that the user logged in.
      - `last_name` string — Last name of the user. It can be changed.
      - `token_hash` string — The hash of the last token issued to the user. During authentication we make sure that this hash matches the token provided.
      - `user_name` string
    - `uuid` string — The UUID of a user.
  - `key` string, required — The unique identifier of the API key.
  - `secret` string, required — The secret associated with the provided API Key.
  - `valid` boolean — Valid returns if the API key and secret pair are valid.

## Response `200`

A successful response.

- V1ValidateAPIKeyReq — Validates an API key.
  - `issuing_user` V1User — User represents a user in the system. Mostly includes configuration parameters that are user wise.
    - `meta` V1Meta, required — Common fields for all Endor Labs resources.
      - `annotations` object — Annotations can be used to attach metadata to a resource message. Annotation values can be small or large, structured or unstructured, and may include characters not permitted by labels. The keys may contain alphanumerics, underscores (_), dots (.) and dashes (-). The values of an annotation must be 16384 bytes or smaller.
      - `create_time` string, date-time — Time the resource was created. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
      - `created_by` string — Name and authentication source of the user who created the object, for example, ewok@endor.ai@google@api-key.
      - `description` string — Resource description. Must be less than 1024 bytes.
      - `index_data` V1IndexData — IndexData is used to index the resource for search. It's an internal object.
        - `data` string[]
        - `search_score` number, float — search_score is the score of the resource for search. Internal use only.
        - `tenant` string
        - `will_be_deleted_at` string, date-time — Time that the resource will be deleted.
      - `kind` string — Resource kind, for example, HelloResponse. Auto-generated using the protobuf message proto.MessageName().Name().
      - `name` string, required — Resource name. Must be 63 characters or less.
      - `parent_kind` string — Parent object resource kind, for example, Project.
      - `parent_uuid` string — Parent object UUID.
      - `references` object — Map of objects referenced in a query API.
      - `tags` string[] — List of tags attached to the resource. Tags can be used to select objects and to find collections of objects that satisfy certain conditions. A tag must be 255 characters or less.
      - `update_time` string, date-time — Time the resource was last updated. Note: Updated on all create/patch/delete operations. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
      - `updated_by` string — Name and authentication source of the last user who updated the object, for example, vulnerabilityingestor@endor.ai@x509.
      - `upsert_time` string, date-time — Time the resource was last upserted. Note: create_time is only set the first time the resource is created. upsert_time is set every time the resource is upseted. Format: 2017-01-15T01:30:15.01Z RFC 3339: https://www.ietf.org/rfc/rfc3339.txt.
      - `version` string — Message version.
    - `spec` V1UserSpec
      - `email` string — Email of the user. It can be changed.
      - `event_tracking` object — Lists of user events indexed by event type.
      - `first_name` string — First name of the user as identified. It can be changed.
      - `groups` string[] — Groups that the user is a member of, as identified by the claims returned by the identity provider.
      - `last_login_time` string, date-time — Last login time keeps a record of the last time that the user logged in.
      - `last_name` string — Last name of the user. It can be changed.
      - `token_hash` string — The hash of the last token issued to the user. During authentication we make sure that this hash matches the token provided.
      - `user_name` string
    - `uuid` string — The UUID of a user.
  - `key` string, required — The unique identifier of the API key.
  - `secret` string, required — The secret associated with the provided API Key.
  - `valid` boolean — Valid returns if the API key and secret pair are valid.

## Other responses

- `default` — An unexpected error response.

---

[API](https://skmtc.net/endorlabs/apis/endor-labs-rest-api-reference.md) · [All operations](https://skmtc.net/endorlabs/apis/endor-labs-rest-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/endorlabs/endor-labs-rest-api-reference/revisions/2fe1f84213b3/schema)
