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

# Challenge verification

> Verify your signed challenge. You can sign your challenge using Metamask and our [signing tool](https://openformat-tools.vercel.app/).



## OpenAPI

````yaml post /key/verify
openapi: 3.0.0
info:
  version: 0.1.0
  title: Openformat API
servers:
  - url: https://api.openformat.tech/v1
    description: Live server
security:
  - ApiKeyAuth: []
paths:
  /key/verify:
    post:
      tags:
        - API Key
      description: Verify signed challenge
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                signature:
                  type: string
                  description: Challenge signed with user 's private key
                  example: 0x860729b.....
                public_address:
                  type: string
                  pattern: ^(0x)?[0-9a-fA-F]{40}$
                  description: User 's Ethereum address
                  example: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266'
              required:
                - signature
                - public_address
      responses:
        '200':
          description: Generated API Key
          content:
            application/json:
              schema:
                type: object
                properties:
                  api_key:
                    type: string
                    format: uuid
                    description: Generated API key
                    example: 5a2a5e28-1851-4029-b0db-987e4b235a35
                required:
                  - api_key
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      issues:
                        type: array
                        items:
                          type: object
                          properties:
                            code:
                              type: string
                              description: Error code for the field
                              example: invalid_type
                            path:
                              type: array
                              items:
                                type: string
                              description: Field with error
                              example:
                                - some_field
                            message:
                              type: string
                              description: Error message
                              example: Required
                          required:
                            - code
                            - path
                            - message
                        description: Error object with all validation issues
                    required:
                      - issues
                required:
                  - error
        '401':
          description: Signature verification failed
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message
                    example: Signature verification failed
                required:
                  - error
      security: []
      servers:
        - url: https://api.openformat.tech
          description: Live server
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY

````