Instabug (Luciq) · AsyncAPI Specification

Luciq Webhook Events

Version 1.0

Luciq (formerly Instabug) webhooks deliver real-time notifications about bug reports, crash reports, and APM events to a configured callback URL via HTTP POST. The webhook integration is configured per Luciq project from the dashboard and can forward either "Bugs & Crashes" payloads or "APM" payloads. Each delivery is signed with HMAC-SHA256 using a 16-64 character alphanumeric secret bound at configuration time; verify the signature in the `x-ibg-signature-256` header against a SHA256 HMAC of the raw body to confirm the request originated from Luciq.

Luciq Webhook Events is an event-driven AsyncAPI specification published by Instabug (Luciq) on the APIs.io network, version 1.0.

The spec defines 1 channel, 3 message types, transport over HTTPS.

Tagged areas include Agentic AI, APM, Application Performance Monitoring, Bug Reporting, and Crash Reporting.

View Spec View on GitHub Agentic AIAPMApplication Performance MonitoringBug ReportingCrash ReportingMCPMobileMobile ObservabilityObservabilitySession ReplayAsyncAPIWebhooksEvents

Channels

/webhook
publish receiveLuciqWebhook
Receive a Luciq webhook notification
Receives Luciq event notifications via HTTP POST. The specific message type depends on whether the webhook is configured for "Bugs & Crashes" or "APM" forwarding.

Messages

BugReportNotification
Bug Report Notification
A new user-reported bug was submitted via the Luciq SDK.
CrashReportNotification
Crash Report Notification
A crash or non-fatal exception was captured.
APMEventNotification
APM Event Notification
An APM alert condition was triggered.

Servers

https
customerEndpoint {webhookUrl}
Customer-configured HTTPS callback URL registered in the Luciq dashboard under Integrations > Webhook.

AsyncAPI Specification

Raw ↑
asyncapi: 2.6.0
info:
  title: Luciq Webhook Events
  description: >-
    Luciq (formerly Instabug) webhooks deliver real-time notifications about
    bug reports, crash reports, and APM events to a configured callback URL
    via HTTP POST. The webhook integration is configured per Luciq project
    from the dashboard and can forward either "Bugs & Crashes" payloads or
    "APM" payloads. Each delivery is signed with HMAC-SHA256 using a 16-64
    character alphanumeric secret bound at configuration time; verify the
    signature in the `x-ibg-signature-256` header against a SHA256 HMAC of
    the raw body to confirm the request originated from Luciq.
  version: '1.0'
  contact:
    name: Luciq Support
    url: https://docs.luciq.ai/product-guides-and-integrations/integrations/webhook
    email: [email protected]
servers:
  customerEndpoint:
    url: '{webhookUrl}'
    protocol: https
    description: >-
      Customer-configured HTTPS callback URL registered in the Luciq
      dashboard under Integrations > Webhook.
    variables:
      webhookUrl:
        description: The HTTPS endpoint that receives the POSTed payload.
defaultContentType: application/json
channels:
  /webhook:
    description: >-
      Receives Luciq event notifications via HTTP POST. The specific message
      type depends on whether the webhook is configured for "Bugs & Crashes"
      or "APM" forwarding.
    bindings:
      http:
        type: request
        method: POST
    publish:
      operationId: receiveLuciqWebhook
      summary: Receive a Luciq webhook notification
      description: >-
        Luciq POSTs a JSON payload to the configured URL whenever a forwarded
        event occurs. The request is signed with HMAC-SHA256 using the secret
        bound to the webhook; the signature is delivered in the
        x-ibg-signature-256 header.
      bindings:
        http:
          type: request
      message:
        oneOf:
          - $ref: '#/components/messages/BugReportNotification'
          - $ref: '#/components/messages/CrashReportNotification'
          - $ref: '#/components/messages/APMEventNotification'
components:
  messages:
    BugReportNotification:
      name: bugReport
      title: Bug Report Notification
      summary: A new user-reported bug was submitted via the Luciq SDK.
      description: >-
        Sent when a user submits a bug via the in-app reporter. Payload
        carries the bug title, reporter email, categorization, environment,
        and reproduction artifacts.
      contentType: application/json
      headers:
        type: object
        properties:
          x-ibg-signature-256:
            type: string
            description: HMAC-SHA256 of the raw body using the webhook secret.
      payload:
        $ref: '#/components/schemas/BugWebhookPayload'
    CrashReportNotification:
      name: crashReport
      title: Crash Report Notification
      summary: A crash or non-fatal exception was captured.
      description: >-
        Sent when Luciq receives a new crash or non-fatal exception event
        for a project with crash forwarding enabled.
      contentType: application/json
      headers:
        type: object
        properties:
          x-ibg-signature-256:
            type: string
            description: HMAC-SHA256 of the raw body using the webhook secret.
      payload:
        $ref: '#/components/schemas/CrashWebhookPayload'
    APMEventNotification:
      name: apmEvent
      title: APM Event Notification
      summary: An APM alert condition was triggered.
      description: >-
        Sent when an APM alert rule fires (network failure, screen rendering
        regression, app launch threshold, flow Apdex drop, etc.).
      contentType: application/json
      headers:
        type: object
        properties:
          x-ibg-signature-256:
            type: string
            description: HMAC-SHA256 of the raw body using the webhook secret.
      payload:
        $ref: '#/components/schemas/APMEventWebhookPayload'
  schemas:
    BugWebhookPayload:
      type: object
      required: [title, reported_at]
      properties:
        title:
          type: string
        reported_at:
          type: string
          format: date-time
        email:
          type: string
          format: email
        private_url:
          type: string
          format: uri
        categories:
          type: array
          items:
            type: string
        tags:
          type: array
          items:
            type: string
        device:
          type: string
        user_steps:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
              message:
                type: string
              timestamp:
                type: string
                format: date-time
        console_log:
          type: string
        attachments:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum: [image, video, file]
              url:
                type: string
                format: uri
    CrashWebhookPayload:
      type: object
      required: [exception, number, url]
      properties:
        exception:
          type: string
        number:
          type: integer
        url:
          type: string
          format: uri
        status:
          type: string
          enum: [new, in-progress, resolved, ignored]
        device:
          type: string
        memory_mb:
          type: integer
        storage_mb:
          type: integer
        battery_pct:
          type: integer
          minimum: 0
          maximum: 100
        app_version:
          type: string
        console_log:
          type: string
        user_steps:
          type: array
          items:
            type: object
        image_attachments:
          type: array
          items:
            type: string
            format: uri
    APMEventWebhookPayload:
      type: object
      required: [title, metric, application, platform]
      properties:
        title:
          type: string
        trace:
          type: string
        trigger:
          type: string
        current_value:
          type: number
        metric:
          type: string
          enum: [network_failure_rate, app_launch_time, screen_loading_time, ui_hang_rate, flow_apdex]
        application:
          type: string
        platform:
          type: string
          enum: [ios, android, react_native, flutter]
        url:
          type: string
          format: uri