For the complete documentation index, see llms.txt. This page is also available as Markdown.

Webhooks

Webhook management for event-driven integrations

Get webhooks

get

Retrieve all webhooks in the organization.

Required permissions, when user-scoped authentication is used: MANAGE_WEB_HOOK.

Authorizations
AuthorizationstringRequired

OAuth2 Bearer token obtained from authentication endpoint

Query parameters
orgIdinteger · int32Optional

Organization ID (optional). If not provided, the organization, that is associated with the authentication token, will be used.

Responses
200

List of webhooks

application/json
idinteger · int32Optional

Webhook ID

Example: 1
namestringOptional

Webhook name

Example: Device Status Notification
triggerstring · enumOptional

Webhook trigger type

Example: DEVICE_ADDEDPossible values:
dataTriggerobjectOptional

Data trigger configuration (for datastream or log event triggers)

urlstring · max: 512Optional

Webhook URL. Supports placeholders such as {device_id}, {user_id}.

Example: https://example.com/webhook/{device_id}
methodstring · enumOptional

HTTP method for webhook

Example: POSTPossible values:
contentTypestring · enumOptional

Content type of the webhook request

Example: JSONPossible values:
authTypestring · enumOptional

Authentication type

Example: NONEPossible values:
bodystring · max: 1024Optional

Request body template

Example: {"device_id": "{device_id}"}
oAuth2RequestobjectOptional

OAuth2 configuration (used when authType is OAUTH2)

failureReceiversinteger · int64[] · max: 10Optional

User IDs to notify on webhook failure

statusstring · enumOptional

Webhook status

Example: ENABLEDPossible values:
attemptCountinteger · int32Optional

Total number of execution attempts

Example: 42
createdAtinteger · int64Optional

Creation timestamp in milliseconds

Example: 1707244800000
lastModifiedTsinteger · int64Optional

Last modification timestamp in milliseconds

Example: 1707244800000
lastTriggeredTsinteger · int64Optional

Last trigger timestamp in milliseconds

Example: 1707244800000
failureLimitinteger · int32Optional

Number of consecutive failures before the webhook is disabled

Example: 10
get/api/v1/organization/webhooks
GET /api/v1/organization/webhooks HTTP/1.1
Host: blynk.cloud
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "id": 1,
    "name": "Device Status Notification",
    "trigger": "DEVICE_ADDED",
    "dataTrigger": {},
    "url": "https://example.com/webhook/{device_id}",
    "method": "POST",
    "contentType": "JSON",
    "authType": "NONE",
    "body": "{\"device_id\": \"{device_id}\"}",
    "formBody": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "queryParams": [
      {
        "name": "text",
        "value": "text"
      }
    ],
    "basicAuthCredentials": {
      "name": "text",
      "value": "text"
    },
    "oAuth2Request": {},
    "headers": [
      {
        "name": "text",
        "value": "text"
      }
    ],
    "failureReceivers": [
      1
    ],
    "status": "ENABLED",
    "attemptCount": 42,
    "createdAt": 1707244800000,
    "lastModifiedTs": 1707244800000,
    "lastTriggeredTs": 1707244800000,
    "failureLimit": 10
  }
]

Get webhook

get

Retrieve a single webhook by ID.

Required permissions, when user-scoped authentication is used: MANAGE_WEB_HOOK.

Authorizations
AuthorizationstringRequired

OAuth2 Bearer token obtained from authentication endpoint

Query parameters
webhookIdinteger · int32Required

Webhook ID

Responses
200

Webhook details

application/json
idinteger · int32Optional

Webhook ID

Example: 1
namestringOptional

Webhook name

Example: Device Status Notification
triggerstring · enumOptional

Webhook trigger type

Example: DEVICE_ADDEDPossible values:
dataTriggerobjectOptional

Data trigger configuration (for datastream or log event triggers)

urlstring · max: 512Optional

Webhook URL. Supports placeholders such as {device_id}, {user_id}.

Example: https://example.com/webhook/{device_id}
methodstring · enumOptional

HTTP method for webhook

Example: POSTPossible values:
contentTypestring · enumOptional

Content type of the webhook request

Example: JSONPossible values:
authTypestring · enumOptional

Authentication type

Example: NONEPossible values:
bodystring · max: 1024Optional

Request body template

Example: {"device_id": "{device_id}"}
oAuth2RequestobjectOptional

OAuth2 configuration (used when authType is OAUTH2)

failureReceiversinteger · int64[] · max: 10Optional

User IDs to notify on webhook failure

statusstring · enumOptional

Webhook status

Example: ENABLEDPossible values:
attemptCountinteger · int32Optional

Total number of execution attempts

Example: 42
createdAtinteger · int64Optional

Creation timestamp in milliseconds

Example: 1707244800000
lastModifiedTsinteger · int64Optional

Last modification timestamp in milliseconds

Example: 1707244800000
lastTriggeredTsinteger · int64Optional

Last trigger timestamp in milliseconds

Example: 1707244800000
failureLimitinteger · int32Optional

Number of consecutive failures before the webhook is disabled

Example: 10
get/api/v1/organization/webhook
GET /api/v1/organization/webhook?webhookId=1 HTTP/1.1
Host: blynk.cloud
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "id": 1,
  "name": "Device Status Notification",
  "trigger": "DEVICE_ADDED",
  "dataTrigger": {},
  "url": "https://example.com/webhook/{device_id}",
  "method": "POST",
  "contentType": "JSON",
  "authType": "NONE",
  "body": "{\"device_id\": \"{device_id}\"}",
  "formBody": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "queryParams": [
    {
      "name": "text",
      "value": "text"
    }
  ],
  "basicAuthCredentials": {
    "name": "text",
    "value": "text"
  },
  "oAuth2Request": {},
  "headers": [
    {
      "name": "text",
      "value": "text"
    }
  ],
  "failureReceivers": [
    1
  ],
  "status": "ENABLED",
  "attemptCount": 42,
  "createdAt": 1707244800000,
  "lastModifiedTs": 1707244800000,
  "lastTriggeredTs": 1707244800000,
  "failureLimit": 10
}

Update webhook

put

Update an existing webhook.

Required permissions, when user-scoped authentication is used: MANAGE_WEB_HOOK.

Authorizations
AuthorizationstringRequired

OAuth2 Bearer token obtained from authentication endpoint

Query parameters
webhookIdinteger · int32Required

Webhook ID

Body
namestring · max: 100Required

Webhook name

Example: Updated Webhook Name
triggerstring · enumRequired

Webhook trigger type

Example: DEVICE_ADDEDPossible values:
dataTriggerobjectOptional

Data trigger configuration

urlstring · max: 512Required

Webhook URL. Supports placeholders such as {device_id}, {user_id}.

Example: https://example.com/webhook/{device_id}
methodstring · enumRequired

HTTP method

Example: POSTPossible values:
contentTypestring · enumRequired

Content type

Example: JSONPossible values:
authTypestring · enumRequired

Authentication type

Example: NONEPossible values:
bodystring · max: 1024Optional

Request body template

oAuth2RequestobjectOptional
failureReceiversinteger · int64[] · max: 10Optional
statusstring · enumOptional

Webhook status. DISABLED_DUE_TO_ERRORS is set automatically by the system and is ignored if provided in an update request.

Example: ENABLEDPossible values:
failureLimitinteger · int32Optional

Failure limit

Example: 10
Responses
200

Updated webhook

application/json
idinteger · int32Optional

Webhook ID

Example: 1
namestringOptional

Webhook name

Example: Device Status Notification
triggerstring · enumOptional

Webhook trigger type

Example: DEVICE_ADDEDPossible values:
dataTriggerobjectOptional

Data trigger configuration (for datastream or log event triggers)

urlstring · max: 512Optional

Webhook URL. Supports placeholders such as {device_id}, {user_id}.

Example: https://example.com/webhook/{device_id}
methodstring · enumOptional

HTTP method for webhook

Example: POSTPossible values:
contentTypestring · enumOptional

Content type of the webhook request

Example: JSONPossible values:
authTypestring · enumOptional

Authentication type

Example: NONEPossible values:
bodystring · max: 1024Optional

Request body template

Example: {"device_id": "{device_id}"}
oAuth2RequestobjectOptional

OAuth2 configuration (used when authType is OAUTH2)

failureReceiversinteger · int64[] · max: 10Optional

User IDs to notify on webhook failure

statusstring · enumOptional

Webhook status

Example: ENABLEDPossible values:
attemptCountinteger · int32Optional

Total number of execution attempts

Example: 42
createdAtinteger · int64Optional

Creation timestamp in milliseconds

Example: 1707244800000
lastModifiedTsinteger · int64Optional

Last modification timestamp in milliseconds

Example: 1707244800000
lastTriggeredTsinteger · int64Optional

Last trigger timestamp in milliseconds

Example: 1707244800000
failureLimitinteger · int32Optional

Number of consecutive failures before the webhook is disabled

Example: 10
put/api/v1/organization/webhook
PUT /api/v1/organization/webhook?webhookId=1 HTTP/1.1
Host: blynk.cloud
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 459

{
  "name": "Updated Webhook Name",
  "trigger": "DEVICE_ADDED",
  "dataTrigger": {},
  "url": "https://example.com/webhook/{device_id}",
  "method": "POST",
  "contentType": "JSON",
  "authType": "NONE",
  "body": "text",
  "formBody": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "queryParams": [
    {
      "name": "text",
      "value": "text"
    }
  ],
  "basicAuthCredentials": {
    "name": "text",
    "value": "text"
  },
  "oAuth2Request": {},
  "headers": [
    {
      "name": "text",
      "value": "text"
    }
  ],
  "failureReceivers": [
    1
  ],
  "status": "ENABLED",
  "failureLimit": 10
}
{
  "id": 1,
  "name": "Device Status Notification",
  "trigger": "DEVICE_ADDED",
  "dataTrigger": {},
  "url": "https://example.com/webhook/{device_id}",
  "method": "POST",
  "contentType": "JSON",
  "authType": "NONE",
  "body": "{\"device_id\": \"{device_id}\"}",
  "formBody": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "queryParams": [
    {
      "name": "text",
      "value": "text"
    }
  ],
  "basicAuthCredentials": {
    "name": "text",
    "value": "text"
  },
  "oAuth2Request": {},
  "headers": [
    {
      "name": "text",
      "value": "text"
    }
  ],
  "failureReceivers": [
    1
  ],
  "status": "ENABLED",
  "attemptCount": 42,
  "createdAt": 1707244800000,
  "lastModifiedTs": 1707244800000,
  "lastTriggeredTs": 1707244800000,
  "failureLimit": 10
}

Delete webhook

delete

Delete a webhook by ID.

Required permissions, when user-scoped authentication is used: MANAGE_WEB_HOOK.

Authorizations
AuthorizationstringRequired

OAuth2 Bearer token obtained from authentication endpoint

Query parameters
webhookIdinteger · int32Required

Webhook ID

Responses
204

Webhook deleted successfully

No content

delete/api/v1/organization/webhook
DELETE /api/v1/organization/webhook?webhookId=1 HTTP/1.1
Host: blynk.cloud
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Create webhook

post

Create a new webhook in the organization.

Required permissions, when user-scoped authentication is used: MANAGE_WEB_HOOK.

Authorizations
AuthorizationstringRequired

OAuth2 Bearer token obtained from authentication endpoint

Body
orgIdinteger · int32Optional

Organization ID (optional). If not provided, the organization, that is associated with the authentication token, will be used.

Example: 101
namestring · max: 100Required

Webhook name

Example: Device Status Notification
triggerstring · enumRequired

Webhook trigger type

Example: DEVICE_ADDEDPossible values:
dataTriggerobjectOptional

Data trigger configuration (required for datastream and log event triggers)

urlstring · max: 512Required

Webhook URL. Supports placeholders such as {device_id}, {user_id}.

Example: https://example.com/webhook/{device_id}
methodstring · enumRequired

HTTP method for webhook

Example: POSTPossible values:
contentTypestring · enumRequired

Content type

Example: JSONPossible values:
authTypestring · enumRequired

Authentication type

Example: NONEPossible values:
bodystring · max: 1024Optional

Request body template

Example: {"device_id": "{device_id}"}
oAuth2RequestobjectOptional

OAuth2 configuration

failureReceiversinteger · int64[] · max: 10Optional

User IDs to notify on webhook failure

failureLimitinteger · int32Optional

Number of consecutive failures before the webhook is disabled

Example: 10
Responses
201

Webhook created successfully

application/json
idinteger · int32Optional

Webhook ID

Example: 1
namestringOptional

Webhook name

Example: Device Status Notification
triggerstring · enumOptional

Webhook trigger type

Example: DEVICE_ADDEDPossible values:
dataTriggerobjectOptional

Data trigger configuration (for datastream or log event triggers)

urlstring · max: 512Optional

Webhook URL. Supports placeholders such as {device_id}, {user_id}.

Example: https://example.com/webhook/{device_id}
methodstring · enumOptional

HTTP method for webhook

Example: POSTPossible values:
contentTypestring · enumOptional

Content type of the webhook request

Example: JSONPossible values:
authTypestring · enumOptional

Authentication type

Example: NONEPossible values:
bodystring · max: 1024Optional

Request body template

Example: {"device_id": "{device_id}"}
oAuth2RequestobjectOptional

OAuth2 configuration (used when authType is OAUTH2)

failureReceiversinteger · int64[] · max: 10Optional

User IDs to notify on webhook failure

statusstring · enumOptional

Webhook status

Example: ENABLEDPossible values:
attemptCountinteger · int32Optional

Total number of execution attempts

Example: 42
createdAtinteger · int64Optional

Creation timestamp in milliseconds

Example: 1707244800000
lastModifiedTsinteger · int64Optional

Last modification timestamp in milliseconds

Example: 1707244800000
lastTriggeredTsinteger · int64Optional

Last trigger timestamp in milliseconds

Example: 1707244800000
failureLimitinteger · int32Optional

Number of consecutive failures before the webhook is disabled

Example: 10
post/api/v1/organization/webhook/create
POST /api/v1/organization/webhook/create HTTP/1.1
Host: blynk.cloud
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 486

{
  "orgId": 101,
  "name": "Device Status Notification",
  "trigger": "DEVICE_ADDED",
  "dataTrigger": {},
  "url": "https://example.com/webhook/{device_id}",
  "method": "POST",
  "contentType": "JSON",
  "authType": "NONE",
  "body": "{\"device_id\": \"{device_id}\"}",
  "formBody": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "queryParams": [
    {
      "name": "text",
      "value": "text"
    }
  ],
  "basicAuthCredentials": {
    "name": "text",
    "value": "text"
  },
  "oAuth2Request": {},
  "headers": [
    {
      "name": "text",
      "value": "text"
    }
  ],
  "failureReceivers": [
    1
  ],
  "failureLimit": 10
}
{
  "id": 1,
  "name": "Device Status Notification",
  "trigger": "DEVICE_ADDED",
  "dataTrigger": {},
  "url": "https://example.com/webhook/{device_id}",
  "method": "POST",
  "contentType": "JSON",
  "authType": "NONE",
  "body": "{\"device_id\": \"{device_id}\"}",
  "formBody": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "queryParams": [
    {
      "name": "text",
      "value": "text"
    }
  ],
  "basicAuthCredentials": {
    "name": "text",
    "value": "text"
  },
  "oAuth2Request": {},
  "headers": [
    {
      "name": "text",
      "value": "text"
    }
  ],
  "failureReceivers": [
    1
  ],
  "status": "ENABLED",
  "attemptCount": 42,
  "createdAt": 1707244800000,
  "lastModifiedTs": 1707244800000,
  "lastTriggeredTs": 1707244800000,
  "failureLimit": 10
}

Last updated

Was this helpful?