v1

latestOpenAPI 3.1.02026-07-1750229379.2 KB
Webhooks

Create a webhook

Create a new webhook which will call the specified endpoint when the event triggers. By default, this webhook will automatically send a PING event to the endpoint when it is created. If this behavior is not desired, you can create the webhook and set the status to PAUSED and reactivate it later.

post/v2/webhooks

Request body

event_type'PING' | 'FILE_UPDATE' | 'FILE_VERSION_UPDATE' | 'FILE_DELETE' | 'LIBRARY_PUBLISH' | 'FILE_COMMENT' | 'DEV_MODE_STATUS_UPDATE' required

An enum representing the possible events that a webhook can subscribe to

team_idstring

Team id to receive updates about. This is deprecated, use 'context' and 'context_id' instead.

contextstring required

Context to create the webhook for. Must be "team", "project", or "file".

context_idstring required

The id of the context you want to receive updates about.

endpointstring required

The HTTP endpoint that will receive a POST request when the event triggers. Max length 2048 characters.

passcodestring required

String that will be passed back to your webhook endpoint to verify that it is being called by Figma. Max length 100 characters.

status'ACTIVE' | 'PAUSED'

An enum representing the possible statuses you can set a webhook to:

  • ACTIVE: The webhook is healthy and receive all events
  • PAUSED: The webhook is paused and will not receive any events
descriptionstring

User provided description or name for the webhook. Max length 150 characters.

Response

Response from the POST /v2/webhooks endpoint.

idstring required

The ID of the webhook

event_type'PING' | 'FILE_UPDATE' | 'FILE_VERSION_UPDATE' | 'FILE_DELETE' | 'LIBRARY_PUBLISH' | 'FILE_COMMENT' | 'DEV_MODE_STATUS_UPDATE' required

An enum representing the possible events that a webhook can subscribe to

team_idstring required

The team id you are subscribed to for updates. This is deprecated, use context and context_id instead

contextstring required

The type of context this webhook is attached to. The value will be "PROJECT", "TEAM", or "FILE"

context_idstring required

The ID of the context this webhook is attached to

plan_api_idstring required

The plan API ID of the team or organization where this webhook was created

status'ACTIVE' | 'PAUSED' required

An enum representing the possible statuses you can set a webhook to:

  • ACTIVE: The webhook is healthy and receive all events
  • PAUSED: The webhook is paused and will not receive any events
client_idstring nullable required

The client ID of the OAuth application that registered this webhook, if any

passcodestring required

The passcode that will be passed back to the webhook endpoint. For security, when using the GET endpoints, the value is an empty string

endpointstring required

The endpoint that will be hit when the webhook is triggered

descriptionstring nullable required

Optional user-provided description or name for the webhook. This is provided to help make maintaining a number of webhooks more convenient. Max length 140 characters.