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

# Unlock event visitor access

> Unlock visitor records for an event that already has base event access. The first successful visitor unlock consumes 3,000 credits, requires an active subscription and available visitor data, and repeated unlocks are idempotent.



## OpenAPI

````yaml /openapi.json post /external/events/{id}/visitors/unlock
openapi: 3.1.0
info:
  title: Lensmor API
  version: 0.24.1
  description: >-
    Lensmor Event Intelligence API for event discovery, exhibitor research,
    personnel lookup, credits, and profile matching.
  license:
    name: Lensmor Terms of Service
    url: https://www.lensmor.com/terms
servers:
  - url: https://platform.lensmor.com
security:
  - bearerAuth: []
tags:
  - name: Credits
    description: Inspect the credit balance available to the authenticated API key owner.
  - name: Actions
    description: Preflight access and credit-sensitive actions before executing them.
  - name: Events
    description: Discover, inspect, score, rank, and unlock trade show event records.
  - name: Exhibitors
    description: Search and inspect exhibiting companies and their related events.
  - name: Personnel
    description: >-
      Browse event personnel, related events, LinkedIn activity, and outreach
      content.
  - name: Contacts
    description: Search contacts and run asynchronous email or phone unlock workflows.
  - name: Profile Matching
    description: Apply a buyer profile to rank events and recommend exhibitors.
paths:
  /external/events/{id}/visitors/unlock:
    post:
      tags:
        - Events
      summary: Unlock event visitor access
      description: >-
        Unlock visitor records for an event that already has base event access.
        The first successful visitor unlock consumes 3,000 credits, requires an
        active subscription and available visitor data, and repeated unlocks are
        idempotent.
      operationId: unlockEventVisitors
      parameters:
        - $ref: '#/components/parameters/EventIdPath'
        - $ref: '#/components/parameters/CallSource'
      responses:
        '201':
          description: Visitor access unlock result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventVisitorUnlockResult'
              example:
                success: true
                alreadyUnlocked: false
                creditsSpent: 3000
                balanceAfter:
                  totalAmount: 45050
                  totalBalance: 35050
                  subscriptionAmount: 35000
                  subscriptionBalance: 27000
                  addonAmount: 10000
                  addonBalance: 8000
                  addonExpireAt: 1784851200000
                  giftAmount: 50
                  giftBalance: 50
                  resetAt: 1785542400000
                event:
                  id: '26855'
                  eventId: '26855'
                  name: CES 2025
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  parameters:
    EventIdPath:
      name: id
      in: path
      required: true
      schema:
        type: string
        minLength: 1
        maxLength: 100
    CallSource:
      name: x-call-source
      in: header
      required: false
      schema:
        type: string
        enum:
          - api
          - agent
  schemas:
    EventVisitorUnlockResult:
      type: object
      required:
        - success
        - alreadyUnlocked
        - creditsSpent
        - balanceAfter
        - event
      properties:
        success:
          type: boolean
        alreadyUnlocked:
          type: boolean
        creditsSpent:
          type: integer
          minimum: 0
        balanceAfter:
          oneOf:
            - $ref: '#/components/schemas/CreditBalance'
            - type: 'null'
        event:
          $ref: '#/components/schemas/EventUnlockIdentity'
    CreditBalance:
      type: object
      required:
        - totalAmount
        - totalBalance
        - subscriptionAmount
        - subscriptionBalance
        - addonAmount
        - addonBalance
        - addonExpireAt
        - giftAmount
        - giftBalance
        - resetAt
      properties:
        totalAmount:
          type: number
        totalBalance:
          type: number
        subscriptionAmount:
          type: number
        subscriptionBalance:
          type: number
        addonAmount:
          type: number
        addonBalance:
          type: number
        addonExpireAt:
          type:
            - number
            - 'null'
        giftAmount:
          type: number
        giftBalance:
          type: number
        resetAt:
          type:
            - number
            - 'null'
    EventUnlockIdentity:
      type: object
      required:
        - id
        - eventId
        - name
      properties:
        id:
          type: string
        eventId:
          type: string
        name:
          type:
            - string
            - 'null'
    ApiError:
      type: object
      required:
        - code
        - message
        - errorKey
        - traceId
      properties:
        code:
          type: integer
        message:
          type: string
        errorKey:
          type: string
        traceId:
          type: string
  responses:
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    Unauthorized:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    PaymentRequired:
      description: Insufficient credits
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    Conflict:
      description: Business conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    RateLimited:
      description: Rate limit exceeded
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Business sk API key
      description: >-
        Send the full Business API key from Settings -> API Keys, for example
        `Authorization: Bearer sk_your_api_key`.

````