Inquiry Events

Track inquiry creation, changes, and responses.

Graph sends Core inquiry events to your existing webhooks in the configured environment. No separate subscription is needed. Organisation-onboarding RFIs are separate.

EventTrigger
inquiry_request.createdNew inquiry.
inquiry_request.updatedPublic fields change, including status or action link.
inquiry_request.answeredStandard response saved or hosted action completed.

An answered inquiry does not mean an account is active. Track account outcomes through Issuance Events.

Payload

Each event contains event_type, entity: "inquiry_request", and data: the inquiry snapshot plus:

FieldMeaning
event_idStable ID for deduplicating deliveries.
occurred_atEvent timestamp.
response_idSaved standard response ID; otherwise null.

The snapshot includes usable action links. Response text and attachments are available only through response history. Example IDs and URLs are placeholders.

Inquiry created

This person-owned inquiry has account_id: null. Account-filtered listing includes it for relevant accounts.

{
  "event_type": "inquiry_request.created",
  "entity": "inquiry_request",
  "data": {
    "id": "example-inquiry-id",
    "cause": "enrollment.person",
    "object_type": "person",
    "person_id": "example-person-id",
    "business_id": null,
    "deposit_id": null,
    "payout_id": null,
    "conversion_id": null,
    "account_id": null,
    "card_id": null,
    "type": "link",
    "query": "Please complete the requested verification.",
    "link": "https://verification.example.com/action",
    "status": "pending",
    "is_deleted": false,
    "created_at": "2026-10-28T10:00:00Z",
    "updated_at": null,
    "event_id": "65169fa6-d590-492c-a36e-2d27be8acdf3",
    "occurred_at": "2026-10-28T10:00:00Z",
    "response_id": null
  }
}

Inquiry updated

An expired link is cleared while the inquiry stays pending. Fetch current state, then offer refresh.

{
  "event_type": "inquiry_request.updated",
  "entity": "inquiry_request",
  "data": {
    "id": "example-inquiry-id",
    "cause": "enrollment.person",
    "object_type": "person",
    "person_id": "example-person-id",
    "business_id": null,
    "deposit_id": null,
    "payout_id": null,
    "conversion_id": null,
    "account_id": null,
    "card_id": null,
    "type": "link",
    "query": "Please complete the requested verification.",
    "link": null,
    "status": "pending",
    "is_deleted": false,
    "created_at": "2026-10-28T10:00:00Z",
    "updated_at": "2026-10-28T10:10:00Z",
    "event_id": "e86e1b44-310a-4d71-84a7-0e6d98d719c2",
    "occurred_at": "2026-10-28T10:10:00Z",
    "response_id": null
  }
}

Standard response saved

response_id identifies the saved response. The inquiry remains pending for review.

{
  "event_type": "inquiry_request.answered",
  "entity": "inquiry_request",
  "data": {
    "id": "example-standard-inquiry-id",
    "cause": "issuance.account",
    "object_type": "account",
    "person_id": null,
    "business_id": null,
    "deposit_id": null,
    "payout_id": null,
    "conversion_id": null,
    "account_id": "example-account-id",
    "card_id": null,
    "type": "standard",
    "query": "Please provide supporting evidence.",
    "link": null,
    "status": "pending",
    "is_deleted": false,
    "created_at": "2026-10-28T10:00:00Z",
    "updated_at": null,
    "event_id": "b36e25dd-bdd9-4ea3-a24f-0d4ec203ad11",
    "occurred_at": "2026-10-28T10:05:00Z",
    "response_id": "example-response-id"
  }
}

Hosted action completed

Stop prompting: status is completed, and both link and response_id are null.

{
  "event_type": "inquiry_request.answered",
  "entity": "inquiry_request",
  "data": {
    "id": "example-inquiry-id",
    "cause": "enrollment.person",
    "object_type": "person",
    "person_id": "example-person-id",
    "business_id": null,
    "deposit_id": null,
    "payout_id": null,
    "conversion_id": null,
    "account_id": null,
    "card_id": null,
    "type": "link",
    "query": "Please complete the requested verification.",
    "link": null,
    "status": "completed",
    "is_deleted": false,
    "created_at": "2026-10-28T10:00:00Z",
    "updated_at": "2026-10-28T10:15:00Z",
    "event_id": "2561a2a7-58df-4f55-8ab4-4f32e0a612aa",
    "occurred_at": "2026-10-28T10:15:00Z",
    "response_id": null
  }
}

Process events reliably

  • Verify and persist incoming events. Deduplicate by data.event_id; retries preserve the ID and snapshot.
  • Deliveries may repeat or arrive out of order. Fetch current state before acting on an old event.
  • Accept person-owned inquiries with account_id: null and keep listening for later RFIs.
  • Hosted completion emits answered without a separate updated. Unchanged polls and refreshes emit nothing.
  • Historical inquiries receive no backfilled creation events. Use listing/fetching to recover missed state.