GetItDoneGetItDone Docs
API ReferenceWebhook endpoints

Update a webhook endpoint

PATCH
/v1/webhook-endpoints/{endpoint_id}

Partial update of url/event_types/enabled — org-scoped, 404 for a cross-org or unknown id. NEVER rotates the secret (use the rotate-secret action). Changing url to a different value resets verified to false. The (re-validated) URL check can answer 422 webhook_url_rejected.

Authorization

bearerAuth
headerAuthorizationBearer <token>

A gid_ API key (Profile → API Keys) or an OAuth 2.1 access token.

Path Parameters

endpoint_id*string

Request Body

application/json
  1. body

Partial update — only send the fields you want to change; at least one is required.

url?string

New destination URL, re-validated the same way as create. Changing the URL to a DIFFERENT value resets verified to false — the new destination must be re-verified.

Length1 <= length <= 2048
event_types?array<>

Replaces the full subscribed-type set.

enabled?boolean

Enable or disable delivery. Disabling holds every delivery already queued for the endpoint (they are not sent while it is disabled). Re-enabling (false → true) clears any prior auto-disable reason and resets the consecutive-failure counter; deliveries held while it was off then resume.

Response Body

The updated endpoint.

application/json
  1. response

A webhook endpoint configuration — NEVER includes the signing secret (shown once, at creation/rotation).

id*string

Stable id of the endpoint.

url*string

The https destination URL.

enabled*boolean

False when disabled — manually, auto-disabled after repeated delivery failures, or paused when the account that set it up had its email address verified (see disabled_reason). A disabled endpoint receives nothing: deliveries already queued for it are held, not sent, and go out only if it is re-enabled.

event_types*array<>

Subscribed event types. An EMPTY array means "every type".

verified*boolean

True once the verify action has proven this endpoint accepts a correctly-signed request.

disabled_reason*|

Why the endpoint was auto-disabled or paused by an account take-back, or null when it never was.

created_at*string

ISO-8601 UTC.

Match^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
Formatdate-time
updated_at*string

ISO-8601 UTC.

Match^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
Formatdate-time
Example Request
curl -X PATCH 'https://app.nowgetitdone.com/v1/webhook-endpoints/string' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "id": "string",  "url": "string",  "enabled": true,  "event_types": [    "task.created"  ],  "verified": true,  "disabled_reason": "string",  "created_at": "2019-08-24T14:15:22Z",  "updated_at": "2019-08-24T14:15:22Z"}