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

# List your webhooks

> Returns the webhooks this credential set up, oldest first. Webhooks
created by another API key or another app aren't listed.

**Scope:** `webhooks.read` · **Plan:** Pro




## OpenAPI

````yaml api-reference/openapi.yaml GET /webhooks
openapi: 3.1.0
info:
  title: Tikk API
  version: 1.0.0
  summary: Your Tikk profile, services, free time slots and bookings.
  description: |
    A REST API over one Tikk account: its public profile, its services, the
    time slots it has free and the bookings people have made with it. Reading
    is the default; writing is limited to services and webhooks.

    Every response is JSON, every timestamp is ISO 8601 in UTC, and every
    request needs a bearer token: an API key (`tikk_sk_...`) or an OAuth access
    token. Each endpoint requires one scope. Rate limit: 60 requests per minute
    per credential.
  contact:
    name: Tikk support
    url: https://tikk.chat
servers:
  - url: https://app.tikk.chat/api/v1
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Profile
    description: Your public profile and plan.
  - name: Services
    description: Your default services and single-use links.
  - name: Availability
    description: The time slots you have free.
  - name: Bookings
    description: The bookings people have made with you.
  - name: Webhooks
    description: URLs that receive your booking updates as they happen (Pro).
paths:
  /webhooks:
    get:
      tags:
        - Webhooks
      summary: List your webhooks
      description: |
        Returns the webhooks this credential set up, oldest first. Webhooks
        created by another API key or another app aren't listed.

        **Scope:** `webhooks.read` · **Plan:** Pro
      operationId: listWebhooks
      responses:
        '200':
          description: Your webhooks.
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookSubscriptionCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/ProForbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
        - bearerAuth:
            - webhooks.read
components:
  headers:
    X-RateLimit-Limit:
      description: Requests allowed per minute for this credential.
      schema:
        type: integer
        example: 60
    X-RateLimit-Remaining:
      description: Requests left in the current minute.
      schema:
        type: integer
        example: 59
  schemas:
    WebhookSubscriptionCollection:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/WebhookSubscription'
      required:
        - data
    WebhookSubscription:
      type: object
      properties:
        id:
          type: integer
          example: 1830219341
        url:
          type: string
          format: uri
          example: https://yourapp.com/tikk/webhooks
        events:
          type: array
          items:
            $ref: '#/components/schemas/WebhookEventType'
        status:
          type: string
          enum:
            - active
            - disabled
        disabled_reason:
          type:
            - string
            - 'null'
          enum:
            - manual
            - failing
            - gone
            - null
          description: |
            Why the webhook is off: `manual` (switched off with `PATCH`),
            `failing` (5 events in a row failed for good) or `gone` (your
            endpoint answered `410`).
        consecutive_failures:
          type: integer
          description: Events in a row that failed for good. Resets on any success.
          example: 0
        signing_secret_source:
          type: string
          enum:
            - subscription
            - app
          description: >
            `subscription`: deliveries are signed with the `signing_secret`

            returned when this webhook was created (API keys). `app`: signed
            with

            your app's secret from the developer portal (partner apps).
        signing_secret:
          type: string
          description: Only in the `POST /webhooks` response, and only for API keys.
          example: tikk_whsec_4f8Kd02LmQx7Rz1VbN6cT9yHs3Ue5Wa
        last_success_at:
          type:
            - string
            - 'null'
          format: date-time
        last_failure_at:
          type:
            - string
            - 'null'
          format: date-time
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
      required:
        - id
        - url
        - events
        - status
        - disabled_reason
        - consecutive_failures
        - signing_secret_source
        - last_success_at
        - last_failure_at
        - created_at
        - updated_at
    Error:
      type: object
      properties:
        message:
          type: string
          description: What went wrong. Branch on the status code, not on this text.
      required:
        - message
    MissingScopeError:
      type: object
      properties:
        message:
          type: string
          example: Missing required scope.
        scopes:
          type: array
          description: The scope or scopes the endpoint needs.
          items:
            type: string
      required:
        - message
        - scopes
    PlanRequiredError:
      type: object
      properties:
        message:
          type: string
        error:
          type: string
          const: plan_required
        required_plan:
          type: string
          const: pro
        upgrade_url:
          type: string
          format: uri
          description: Where the account owner can upgrade.
      required:
        - message
        - error
        - required_plan
        - upgrade_url
    WebhookEventType:
      type: string
      enum:
        - booking.requested
        - booking.confirmed
        - booking.declined
        - booking.cancelled
        - booking.rescheduled
  responses:
    Unauthorized:
      description: No credential was sent, or it's revoked, expired or unknown.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Unauthenticated.
    ProForbidden:
      description: |
        The credential doesn't carry a scope this endpoint needs, or the
        account is on Free and webhooks need Pro (`plan_required`).
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/MissingScopeError'
              - $ref: '#/components/schemas/PlanRequiredError'
          examples:
            missingScope:
              summary: Missing scope
              value:
                message: Missing required scope.
                scopes:
                  - webhooks.write
            planRequired:
              summary: Account on Free
              value:
                message: This endpoint requires the Tikk account to be on the Pro plan.
                error: plan_required
                required_plan: pro
                upgrade_url: https://app.tikk.chat/billing
    TooManyRequests:
      description: More than 60 requests in a minute for this credential.
      headers:
        Retry-After:
          description: Seconds to wait before retrying.
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Too Many Attempts.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: |
        An API key from **Settings → API Keys** (starts with `tikk_sk_`), or an
        OAuth access token for a partner app. Both carry scopes; each endpoint
        lists the one it needs.

````

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