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

# Authentication Status

> Check the current authentication status and session details.

Validates an API key and returns information about the authenticated organisation. This endpoint is used for verifying API key validity and retrieving organisation context before making other API calls.

## Best Practices

1. **Key Validation**: Call this endpoint when initialising API clients to ensure your credentials are valid.
2. **Error Handling**: Check the `is_active` field to ensure the key hasn't been revoked.
3. **Caching**: Cache validation results briefly (5-10 minutes) to avoid redundant network calls.
4. **Organisation Context**: Use the `organisation_id` to validate multi-tenant application context.


## OpenAPI

````yaml GET /authentication/status
openapi: 3.1.0
info:
  title: Veridox Core API
  description: Veridox Core Platform API
  version: 0.0.1
  contact: {}
servers:
  - url: https://api.uk.veridox.ai
    description: Live (UK)
  - url: https://api.ca.veridox.ai
    description: Live (CA)
security: []
tags:
  - name: Status
    description: System status and health check endpoints
  - name: Cases
    description: Case and case file management
  - name: Organisations
    description: Organisation management
  - name: Document Requests
    description: Document request management
  - name: Search
    description: Search functionality
  - name: Admin
    description: Administrative endpoints
paths:
  /authentication/status:
    get:
      tags:
        - Authentication
      summary: Get authentication status
      description: >-
        Returns information about the current authentication session if a valid
        token is provided, or indicates no authentication if called without a
        token. This endpoint is public and can be used to check session
        validity.
      operationId: AuthenticationStatusController_getAuthenticationStatus
      parameters: []
      responses:
        '200':
          description: >-
            Authentication status (returns user session info if authenticated
            with JWT, API key info if authenticated with API key, or type:
            'none' if not authenticated)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserAuthenticationResult'
components:
  schemas:
    UserAuthenticationResult:
      type: object
      properties:
        type:
          type: string
          example: user
          enum:
            - user
        complete:
          type: boolean
          example: true
          description: Whether multi-factor authentication is complete
        methods:
          type: array
          example:
            - password
          description: Authentication methods completed for this session
          items:
            type: string
            enum:
              - password
              - email-otp
              - device-trust
        verification_stage:
          type: string
          example: email_verified
          enum:
            - unverified
            - email_verified
            - verified
            - administrator
          description: >-
            User verification stage: unverified (password only), email_verified
            (password + OTP), verified (admin approved), or administrator
        token:
          type: string
          example: eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9...
      required:
        - type
        - complete
        - methods
        - verification_stage
        - token

````