> ## Documentation Index
> Fetch the complete documentation index at: https://developers.fireblocks.com/llms.txt
> Use this file to discover all available pages before exploring further.

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://developers.fireblocks.com/feedback

```json
{
  "path": "/api-reference/key-link-beta/add-a-new-validation-key",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# Add a new validation key

> Adds a new validation key used to validate signing keys. The new validation key will undergo an approval process by the workspace quorum.



## OpenAPI

````yaml https://docs.fireblocks.com/api/v1/swagger.yaml post /key_link/validation_keys
openapi: 3.0.0
info:
  title: Fireblocks API
  description: >
    Fireblocks provides a suite of applications to manage digital asset
    operations and a complete development platform to build your business on the
    blockchain.


    - Visit our website for more information: [Fireblocks
    Website](https://fireblocks.com)

    - Visit our developer docs: [Fireblocks
    DevPortal](https://developers.fireblocks.com)
  version: 1.6.2
  contact:
    email: developers@fireblocks.com
servers:
  - url: https://api.fireblocks.io/v1
    description: Fireblocks Production Environment Base URL
  - url: https://sandbox-api.fireblocks.io/v1
    description: Fireblocks Sandbox Environment Base URL
security: []
paths:
  /key_link/validation_keys:
    post:
      tags:
        - Key Link (Beta)
      summary: Add a new validation key
      description: >-
        Adds a new validation key used to validate signing keys. The new
        validation key will undergo an approval process by the workspace quorum.
      operationId: createValidationKey
      parameters:
        - $ref: '#/components/parameters/X-Idempotency-Key'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateValidationKeyDto'
      responses:
        '201':
          description: The validation key that was added and is pending approval.
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateValidationKeyResponseDto'
        default:
          $ref: '#/components/responses/Error'
      x-codeSamples:
        - lang: TypeScript
          source: >-
            const response:
            Promise<FireblocksResponse<CreateValidationKeyResponseDto>> =
            fireblocks.keyLinkBeta.createValidationKey(keyLinkBetaApiCreateValidationKeyRequest);
        - lang: Java
          source: >-
            CompletableFuture<ApiResponse<CreateValidationKeyResponseDto>>
            response =
            fireblocks.keyLinkBeta().createValidationKey(createValidationKeyDto,
            idempotencyKey);
        - lang: Python
          source: >-
            response =
            fireblocks.key_link_beta.create_validation_key(create_validation_key_dto,
            idempotency_key);
components:
  parameters:
    X-Idempotency-Key:
      name: Idempotency-Key
      in: header
      description: >-
        A unique identifier for the request. If the request is sent multiple
        times with the same idempotency key, the server will return the same
        response as the first request. The idempotency key is valid for 24
        hours.
      required: false
      schema:
        type: string
  schemas:
    CreateValidationKeyDto:
      type: object
      properties:
        publicKeyPem:
          type: string
          example: '-----BEGIN PUBLIC KEY ...  END PUBLIC KEY-----'
          description: The PEM encoded public key of the validation key being added
        daysTillExpired:
          type: number
          minimum: 1
          example: 365
          description: >-
            The number of days from the date the validation key was added until
            it expires
      required:
        - publicKeyPem
        - daysTillExpired
    CreateValidationKeyResponseDto:
      type: object
      properties:
        validationKey:
          description: Created validation key
          allOf:
            - $ref: '#/components/schemas/ValidationKeyDto'
        admins:
          description: Admins who have to approve the validation key addition
          type: array
          items:
            type: string
        approvalThreshold:
          type: number
          minimum: 0
          example: 0
          description: Minimal number of approvers required. 0 for all
        requestId:
          type: number
          example: 1234
          description: Approval request id. Can be cancelled
      required:
        - validationKey
        - admins
        - approvalThreshold
        - requestId
    ValidationKeyDto:
      type: object
      properties:
        keyId:
          type: string
          minLength: 36
          maxLength: 36
          example: 46a92767-5f93-4a46-9eed-f012196bb4fc
          description: External validation key id set by Fireblocks.
        publicKeyPem:
          type: string
          example: '-----BEGIN PUBLIC KEY ...  END PUBLIC KEY-----'
          description: PEM encoded public key used for the validation.
        daysTillExpired:
          type: number
          minimum: 1
          example: 365
        enabled:
          type: boolean
          example: false
          description: True if the validation key is enabled.
        createdAt:
          type: number
          example: 12345633
          description: Creation date (timestamp) in milliseconds.
      required:
        - keyId
        - publicKeyPem
        - daysTillExpired
        - enabled
        - createdAt
    ErrorSchema:
      type: object
      properties:
        message:
          type: string
        code:
          type: number
  headers:
    X-Request-ID:
      schema:
        type: string
      description: >-
        Unique ID correlated to the API request. Please provide it in any
        support ticket you create or on Github issues related to Fireblocks SDKs
  responses:
    Error:
      description: Error Response
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorSchema'

````