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

# Verify a license



## OpenAPI

````yaml /api/openapi.json get /v1/licenses/{key}/verify
openapi: 3.1.0
info:
  title: Omnichar API
  version: 0.1.0
  description: Characters, licenses, public license verification and signed webhooks.
servers:
  - url: https://api.omnichar.org
security:
  - bearer: []
paths:
  /v1/licenses/{key}/verify:
    get:
      tags:
        - Licenses
      summary: Verify a license
      parameters:
        - schema:
            type: string
            minLength: 1
            maxLength: 200
          in: query
          name: signature
          required: true
        - schema:
            type: string
            maxLength: 120
          in: query
          name: use
          required: false
        - schema:
            type: string
            maxLength: 120
          in: query
          name: media
          required: false
        - schema:
            type: string
            maxLength: 120
          in: query
          name: territory
          required: false
        - schema:
            type: string
            minLength: 1
            maxLength: 100
          in: path
          name: key
          required: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - valid
                      - pending
                      - revoked
                      - expired
                      - not_found
                      - mismatch
                  key:
                    type: string
                  env:
                    type: string
                    enum:
                      - production
                      - sandbox
                  test:
                    type: boolean
                  char_id:
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                  char:
                    type: object
                    properties:
                      subject_id:
                        type: string
                      version:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                    required:
                      - subject_id
                      - version
                    additionalProperties: false
                  provider:
                    type: object
                    properties:
                      team_id:
                        type: string
                        format: uuid
                        pattern: >-
                          ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                      name:
                        type: string
                    required:
                      - team_id
                      - name
                    additionalProperties: false
                  licensee_team_id:
                    anyOf:
                      - type: string
                        format: uuid
                        pattern: >-
                          ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                      - type: 'null'
                  scope:
                    type: object
                    propertyNames:
                      type: string
                    additionalProperties: {}
                  scope_version:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  starts_at:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                  ends_at:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                  signature:
                    type: string
                  kid:
                    type: string
                  in_scope:
                    type: boolean
                required:
                  - status
                  - key
                additionalProperties: false
components:
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: 'A team key: sk_test_ for sandbox, sk_live_ for production.'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.