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

# Validatecustomersession

> ### Validate Customer Session

Check if a customer session token is still valid and return the customer identity.
Used by the ambassador to verify customer authentication on protected routes.

**Request Body**:
- `sessionToken`: The session token to validate

**Returns**:
- `valid`: Whether the session is valid
- `customer`: Customer identity if session is valid

**Status Codes**:
- 200: Session validation result returned



## OpenAPI

````yaml https://api.loyalty.dog/openapi.json post /v2/giftcards/customers/session
openapi: 3.1.0
info:
  title: LoyaltyDog
  description: >-

    Welcome to the LoyaltyDog API! This API provides access to our loyalty
    program features, allowing you to integrate with various platforms and
    manage your loyalty data.


    Want to query LoyaltyDog via an AI assistant (Claude, Cursor, Windsurf)? See
    the [MCP Integration guide](https://loyaltydog.ai/playground#mcp).
        
  termsOfService: https://loyalty.dog/loyalty-program-terms-service
  contact:
    name: LoyaltyDog Support
    url: https://loyalty.dog/contact-us
    email: support@loyalty.dog
  version: 1.0.1
servers:
  - url: https://api.loyalty.dog
    description: Production
security:
  - bearerAuth: []
paths:
  /v2/giftcards/customers/session:
    post:
      tags:
        - Gift Card Customers
      summary: Validatecustomersession
      description: >-
        ### Validate Customer Session


        Check if a customer session token is still valid and return the customer
        identity.

        Used by the ambassador to verify customer authentication on protected
        routes.


        **Request Body**:

        - `sessionToken`: The session token to validate


        **Returns**:

        - `valid`: Whether the session is valid

        - `customer`: Customer identity if session is valid


        **Status Codes**:

        - 200: Session validation result returned
      operationId: validateCustomerSession_v2_giftcards_customers_session_post
      parameters:
        - name: X-Eposn-Customer-Token
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: X-Eposn-Customer-Token
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ValidateSessionRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateSessionResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ValidateSessionRequest:
      properties:
        sessionToken:
          type: string
          maxLength: 128
          minLength: 1
          title: Sessiontoken
          description: Session token to validate
      type: object
      required:
        - sessionToken
      title: ValidateSessionRequest
      description: Request to validate a session token.
    ValidateSessionResponse:
      properties:
        valid:
          type: boolean
          title: Valid
        identity:
          anyOf:
            - $ref: '#/components/schemas/CustomerIdentityResponse'
            - type: 'null'
      type: object
      required:
        - valid
      title: ValidateSessionResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    CustomerIdentityResponse:
      properties:
        id:
          $ref: '#/components/schemas/PydanticObjectId'
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email
        phone:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        verified:
          type: boolean
          title: Verified
        verifiedAt:
          anyOf:
            - type: string
            - type: 'null'
          title: Verifiedat
        trustLevel:
          type: string
          title: Trustlevel
      type: object
      required:
        - id
        - email
        - phone
        - name
        - verified
        - verifiedAt
        - trustLevel
      title: CustomerIdentityResponse
      description: Customer identity information returned after successful verification.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    PydanticObjectId:
      type: string
      maxLength: 24
      minLength: 24
      pattern: ^[0-9a-f]{24}$
      example: 5eb7cf5a86d9755df3a6c593
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT access token obtained from POST /v2/token.

````