> ## 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.

# Add a webhook endpoint



## OpenAPI

````yaml /api/openapi.json post /v1/teams/{id}/webhooks
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/teams/{id}/webhooks:
    post:
      tags:
        - Webhooks
      summary: Add a webhook endpoint
      parameters:
        - schema:
            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)$
          in: path
          name: id
          required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                env:
                  type: string
                  enum:
                    - production
                    - sandbox
                url:
                  type: string
                  maxLength: 2048
                  format: uri
                events:
                  minItems: 1
                  maxItems: 10
                  type: array
                  items:
                    type: string
                    enum:
                      - char.ready
                      - char.failed
                      - char.updated
                      - license.issued
                      - license.revoked
                      - license.expired
                      - license.updated
                      - license.redeemed
                      - usage.generated
                      - usage.blocked
                auth:
                  default:
                    type: none
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - none
                      required:
                        - type
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - bearer
                        token:
                          type: string
                          minLength: 1
                          maxLength: 2000
                      required:
                        - type
                        - token
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - basic
                        username:
                          type: string
                          minLength: 1
                          maxLength: 200
                        password:
                          type: string
                          minLength: 1
                          maxLength: 500
                      required:
                        - type
                        - username
                        - password
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - header
                        name:
                          type: string
                          minLength: 1
                          maxLength: 64
                        value:
                          type: string
                          minLength: 1
                          maxLength: 2000
                      required:
                        - type
                        - name
                        - value
              required:
                - url
                - events
      responses:
        '201':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  endpoint:
                    type: object
                    properties:
                      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)$
                      env:
                        type: string
                        enum:
                          - production
                          - sandbox
                      url:
                        type: string
                      events:
                        type: array
                        items:
                          type: string
                          enum:
                            - char.ready
                            - char.failed
                            - char.updated
                            - license.issued
                            - license.revoked
                            - license.expired
                            - license.updated
                            - license.redeemed
                            - usage.generated
                            - usage.blocked
                      auth:
                        type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - none
                              - bearer
                              - basic
                              - header
                          header_name:
                            type:
                              - string
                              - 'null'
                          hint:
                            type:
                              - string
                              - 'null'
                        required:
                          - type
                          - header_name
                          - hint
                        additionalProperties: false
                      status:
                        type: string
                        enum:
                          - active
                          - disabled
                      secret_rotated_until:
                        anyOf:
                          - 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))$
                          - type: 'null'
                      last_delivery:
                        anyOf:
                          - type: object
                            properties:
                              status:
                                type: string
                                enum:
                                  - pending
                                  - succeeded
                                  - failed
                                  - gave_up
                              response_code:
                                anyOf:
                                  - type: integer
                                    minimum: -9007199254740991
                                    maximum: 9007199254740991
                                  - type: 'null'
                              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))$
                              test:
                                type: boolean
                            required:
                              - status
                              - response_code
                              - at
                              - test
                            additionalProperties: false
                          - type: 'null'
                      created_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))$
                      updated_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))$
                    required:
                      - id
                      - env
                      - url
                      - events
                      - auth
                      - status
                      - secret_rotated_until
                      - last_delivery
                      - created_at
                      - updated_at
                    additionalProperties: false
                  secret:
                    type: string
                required:
                  - endpoint
                  - secret
                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.