Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.labelbox.com/llms.txt

Use this file to discover all available pages before exploring further.

A webhook is simply a way for Labelbox to automatically send information to your server when a specific event occurs. Think of it as a real-time notification system. Instead of your application constantly asking Labelbox if there are any updates (a process called “polling”), Labelbox actively pushes the updates to your application the moment they happen. This saves time, bandwidth, and resources.

Event delivery and volume

When building your webhook integration, it is important to understand how Labelbox delivers events to your application:
  • Delivery order: Labelbox does not guarantee the sequential delivery of webhook events (e.g., the exact chronological order in which a label was created, updated, or deleted). Your system should be designed to handle events that may arrive out of order.
  • Outgoing rate: The rate of incoming webhooks depends entirely on which topics you subscribe to and your usage volume (for instance, how rapidly your team is creating labels or moving data rows).

Security and payload formatting

To keep your data secure, all Labelbox webhook events are sent exclusively via HTTPS. Additionally, Labelbox attaches a unique signature to every event. By configuring your endpoint to verify this signature, you can confidently confirm that the incoming message genuinely originated from Labelbox. When parsing the data sent by Labelbox, keep the following in mind:
  • Format: The Content-Type header for all webhook events is always strictly application/json.
  • Payload size: There is no maximum upper limit for the webhook payload. The payload size grows based on the number of annotations on a label, and Labelbox does not restrict the number of annotations you can have per data row.

Labelbox server addresses

All webhook traffic from Labelbox originates from specific IP addresses. To ensure you receive these events without interruption, please review the Labelbox server addresses and add them to your firewall’s allowlist or relevant security policies.

Webhook events

Labelbox supports a variety of webhook events, which can be configured for a specific project or across your entire organization.
EntityEvent TypesDescriptionMethod & Payload
LabelLABEL_CREATED, LABEL_UPDATED, LABEL_DELETEDTriggers when labels have been created, updated, or deleted.HTTP POST
Model run trainingCreated (HTTP POST)Triggers when training of a model run has been initiated Note this webhook does not yet conform to standard webhook subscriptions. It must be registered in the Model User Interface.HTTP POST
Models listQueries (HTTP GET)Callback to retrieve a list of model types for a given model training backendHTTP GET
WorkflowMOVETriggers when a workflow action happens, e.g. after a data row was approved or rejected during a review step, or after it was manually moved to a different queue.HTTP POST
Understanding label event payloads
When you receive a label-related event (such as LABEL_CREATED), the first id in the JSON payload always corresponds to that specific label’s ID.
Event: LABEL_CREATED
Payload: {
    "id": "cl0sjr9nb9tfi0zatagsq5zw1",
}

How to create webhooks

You can easily set up and manage your webhooks without writing any code. Simply navigate to the Webhooks tab located in your Workspace settings. You can choose to set up a webhook at the workspace-level or project-level:
When creating a webhook, you must decide upfront whether it will be project-specific or organization-wide (global). Once a webhook is created, its scope is permanent and cannot be modified. If you need a different scope, you will need to delete the existing webhook and create a new one.
Global webhook
  • Applies to all projects in your organization
  • Triggers on events across the entire workspace
  • Useful when you want a single endpoint to receive notifications from everything
Project-specific webhook
  • Scoped to a single project only
  • Only triggers on events within that project
  • Useful when different projects need to send data to different endpoints, or when you only care about events from one particular project

Developer guide

To learn how to manage your webhooks programmatically, visit this developer guide

Webhooks developer guide