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

# Validate API Key

> Validate an API key and return its details.

Use this endpoint to verify that an API key is valid.



## OpenAPI

````yaml GET /validate
openapi: 3.0.3
info:
  title: Wellows Public API
  description: >-
    ## Overview


    The Wellows Public API allows you to programmatically access your SEO
    analytics and AI-powered insights.


    ## Authentication


    All API requests require an API key passed in the `X-API-Key` header:


    ```

    X-API-Key: your_api_key_here

    ```


    ### API Key Types


    - **USER-level keys**: Access all projects owned by your account. Requires
    `X-Project-ID` header for project-specific endpoints.

    - **PROJECT-level keys**: Scoped to a single project. No `X-Project-ID`
    header needed.


    ## Response Format


    All responses follow a standard format:


    ```json

    {
      "success": true,
      "message": "Success message",
      "code": 200,
      "data": { ... },
      "errors": {},
      "meta_data": {}
    }

    ```
  version: 1.0.0
  contact:
    name: Wellows Digital Force
    url: https://wellows.com
servers:
  - url: https://integrations.wellows.com/api/v1/
    description: API for Wellows.com
security:
  - ApiKeyAuth: []
tags:
  - name: Authentication
    description: Validate API keys
  - name: Projects
    description: List and access project information
  - name: Analytics
    description: Retrieve SEO and AI analytics data
paths:
  /validate:
    get:
      tags:
        - Authentication
      summary: Validate API key
      description: |-
        Validate an API key and return its details.

        Use this endpoint to verify that an API key is valid.
      operationId: validateApiKey
      parameters:
        - name: X-Project-ID
          in: header
          description: >-
            Project ID (optional - used to validate access to a specific
            project)
          required: false
          schema:
            type: integer
      responses:
        '200':
          description: API key is valid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
              example:
                success: true
                message: API key is valid
                code: 200
                data:
                  valid: true
                  key_level: USER
                  user_id: 123
                  project_id: null
                  expiry: '2025-12-31T23:59:59Z'
                errors: {}
                meta_data: {}
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                message: Invalid API key
                code: 401
                data: {}
                errors:
                  error: unauthorized
                  detail: API key is invalid or has expired
                meta_data: {}
components:
  schemas:
    ValidationResponse:
      type: object
      properties:
        success:
          type: boolean
          example: true
        message:
          type: string
          example: API key is valid
        code:
          type: integer
          example: 200
        data:
          type: object
          properties:
            valid:
              type: boolean
              description: Always true if request succeeds
              example: true
            key_level:
              type: string
              enum:
                - USER
                - PROJECT
              description: API key scope level
              example: USER
            user_id:
              type: integer
              description: ID of the key owner
              example: 123
            project_id:
              type: integer
              nullable: true
              description: Associated project ID (for PROJECT keys)
              example: 456
            expiry:
              type: string
              format: date-time
              nullable: true
              description: Key expiration date (null if no expiry)
              example: '2025-12-31T23:59:59Z'
        errors:
          type: object
        meta_data:
          type: object
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        message:
          type: string
          example: Error description
        code:
          type: integer
          example: 400
        data:
          type: object
        errors:
          type: object
          properties:
            error:
              type: string
            detail:
              type: string
        meta_data:
          type: object
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Your API key from the API Keys page

````