Skip to main content
PUT
/
webhooks
/
{webhookId}
Update Webhook
const options = {
  method: 'PUT',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    url: 'https://example.com/webhooks/thanksio-updated',
    description: 'Updated webhook destination',
    verb: 'get',
    type: 'order_item.status_update'
  })
};

fetch('https://api.thanks.io/api/v2/webhooks/{webhookId}', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
{
  "id": 13,
  "user_id": 2,
  "mailing_list_id": null,
  "type": "order_item.status_update",
  "description": "Updated webhook destination",
  "invoke_count": 0,
  "url": "https://example.com/webhooks/thanksio-updated",
  "verb": "get",
  "created_at": "2026-03-10T18:59:24.000000Z",
  "updated_at": "2026-03-10T20:54:01.000000Z",
  "deleted_at": null
}
Webhooks are available on paid subscriptions only.

Authorizations

Authorization
string
header
required

Bearer token authentication using your thanks.io API key

Path Parameters

webhookId
integer
required

ID of webhook

Example:

11

Body

application/json
url
string<uri>
required
Example:

"https://example.com/webhooks/thanksio-updated"

verb
string
required
Example:

"get"

type
enum<string>
required
Available options:
order_item.status_update,
order.status_update,
order_item.delivered,
scans.scan_update
Example:

"order_item.status_update"

description
string | null
Example:

"Updated webhook destination"

Response

OK

id
integer
Example:

13

user_id
integer
Example:

2

mailing_list_id
integer | null
Example:

null

type
enum<string>
Available options:
order_item.status_update,
order.status_update,
order_item.delivered,
scans.scan_update
Example:

"order_item.status_update"

description
string | null
Example:

"Updated webhook destination"

invoke_count
integer
Example:

0

url
string<uri>
Example:

"https://example.com/webhooks/thanksio-updated"

verb
string
Example:

"get"

created_at
string<date-time> | null
Example:

"2026-03-10T18:59:24.000000Z"

updated_at
string<date-time>
Example:

"2026-03-10T20:54:01.000000Z"

deleted_at
string<date-time> | null
Example:

null