AlmondTill/G3N API

On this page

pingWebhookSubscription

mutation · in the family System and integration setup

What it does

Send a signed test delivery through the real webhook lane — prove your endpoint end to end.

Send ONE signed test delivery through the REAL webhook lane: ACTIVE subscriptions only (an inactive/suspended/doomed target refuses CONFLICT/FSM_TRANSITION_INVALID — the lane skips them by law); delivery is asynchronous at-least-once. OWNER-gated ENGINE-side. Template class (hand-derived v71).

What happens

Delivery is asynchronous and at-least-once; watch your endpoint and the failure counters.

Careful

OWNER-gated. Active subscriptions only — a paused or suspended webhook cannot deliver a ping.

Who may call it

Capability area: System and integration setup — Registers, connections and the settings your systems run on.

Arguments

NameTypeRequiredNotes
idID ID!yesThe id of the record.

Returns

WebhookPingReceipt WebhookPingReceipt! — The pingWebhookSubscription receipt — accepted at EMIT; the delivery itself is asynchronous at-least-once through the real lane (watch your endpoint + the failure counters).

Example request

mutation ExamplePingWebhookSubscription($id: ID!) {
  pingWebhookSubscription(id: $id) {
    accepted
    pingId
  }
}

Variables:

{
  "id": "01900000-0000-7000-8000-37386ae00000"
}

Send it with the envelope naming the version: "extensions": {"at": {"version": {"name":"genesis","number":0}}}.

Example response

{
  "data": {
    "pingWebhookSubscription": {
      "accepted": true,
      "pingId": "01900000-0000-7000-8000-36c312ac0000"
    }
  },
  "extensions": {
    "at": {
      "callId": "01EXAMPLE-CALL-ID",
      "version": {
        "requested": {
          "name": "genesis",
          "number": 0
        },
        "serviced": {
          "name": "genesis",
          "number": 0
        }
      }
    }
  }
}

Errors this call can answer

Used in