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

# Look up a license by key



## OpenAPI

````yaml /openapi.json get /api/v1/license/{key}
openapi: 3.0.3
info:
  title: KeyPort Public API
  version: v1
  description: Public license validation and license lookup endpoints for KeyPort.
servers:
  - url: https://api.keyport.sbs
    description: Production API
security:
  - bearerAuth: []
paths:
  /api/v1/license/{key}:
    get:
      summary: Look up a license by key
      operationId: getLicenseByKey
      parameters:
        - name: key
          in: path
          required: true
          schema:
            type: string
            example: ABCD-EFGH-IJKL-MNOP
      responses:
        '200':
          description: License details returned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LicenseLookupResponse'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '404':
          description: License not found for this product.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
components:
  schemas:
    LicenseLookupResponse:
      type: object
      properties:
        id:
          type: string
          example: license_uuid
        organization_id:
          type: string
          example: org_uuid
        product_id:
          type: string
          example: product_uuid
        global_customer_id:
          type: string
          nullable: true
          example: customer_uuid
        license_key:
          type: string
          example: ABCD-EFGH-IJKL-MNOP
        status:
          type: string
          example: active
        expires_at:
          type: string
          format: date-time
          nullable: true
          example: null
        is_lifetime:
          type: boolean
          example: true
        ip_system_enabled:
          type: boolean
          example: true
        max_ips:
          type: integer
          nullable: true
          example: 1
        current_unique_ip_count:
          type: integer
          example: 1
        notes:
          type: string
          nullable: true
          example: null
        version_pin_mode:
          type: string
          nullable: true
          example: null
        version_pinned:
          type: string
          nullable: true
          example: null
        version_range_min:
          type: string
          nullable: true
          example: null
        version_range_max:
          type: string
          nullable: true
          example: null
        revoked_at:
          type: string
          format: date-time
          nullable: true
          example: null
        created_at:
          type: string
          format: date-time
          example: '2026-04-07T00:00:00.000Z'
        updated_at:
          type: string
          format: date-time
          example: '2026-04-07T00:00:00.000Z'
        customer_email:
          type: string
          nullable: true
          example: customer@example.com
        customer_name:
          type: string
          nullable: true
          example: Example Customer
        customer_discord_id:
          type: string
          nullable: true
          example: null
    UnauthorizedError:
      type: object
      properties:
        valid:
          type: boolean
          example: false
        status:
          type: string
          example: invalid_api_key
        message:
          type: string
          example: >-
            Missing Authorization header. Use: Authorization: Bearer
            YOUR_API_KEY
    NotFoundError:
      type: object
      properties:
        message:
          type: string
          example: License not found.
        error:
          type: string
          example: Not Found
        statusCode:
          type: integer
          example: 404
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: Use your product API key in the Authorization header.

````