Event catalogue

Webhook events with their payload schemas, from the contract's webhooks section. Register endpoints and verify signatures as described in Webhooks.

payment.status_changed

Integrator callback: payment.status_changed

Delivered to registered integrator endpoints. Headers: WireBloom-Event-Id, WireBloom-Event-Type, WireBloom-Timestamp (unix seconds), WireBloom-Signature: v1=<hex HMAC-SHA256(secret, timestamp + "." + rawBody)> (several v1= values during secret rotation). Reject if the timestamp is older than 5 minutes; compare in constant time; de-duplicate on WireBloom-Event-Id. Respond 2xx within 10 s; retries with exponential backoff for 72 h (1 m, 5 m, 30 m, 2 h, 6 h, then every 12 h); endpoint disabled after 72 h of failures.

Payload

Schema IntegratorEvent

  • id Uuidrequired

  • type IntegratorEventTyperequired

  • createdAt Timestamprequired

  • apiVersion stringrequired

  • tenantId Uuidrequired

  • data objectrequired

    Thin payload: fetch the full resource with the API (GET /payments/{id} …) using the id.

    Fields of data
    • object stringrequired

      One of: "payment", "transfer", "exchange", "incoming_payment", "recipient", "approval", "funds_request", "statement", "balance", "customer", "compliance_hold"

    • id Uuidrequired

    • status string | null

    • previousStatus string | null

    • amount Money | null

    • test boolean

      true on POST /integrator-webhooks/{webhookId}/test events (also header WireBloom-Test: true).

    • sandbox boolean

      true on events simulated through /sandbox/*.

    • related object

      compliance_hold.*: the held payment or incoming payment.

      Fields of related
      • object stringrequired

        One of: "payment", "incoming_payment"

      • id Uuidrequired

  • customerId Uuid | null

incoming_payment.received

Integrator callback: incoming_payment.received

Delivered to registered integrator endpoints. Headers: WireBloom-Event-Id, WireBloom-Event-Type, WireBloom-Timestamp (unix seconds), WireBloom-Signature: v1=<hex HMAC-SHA256(secret, timestamp + "." + rawBody)> (several v1= values during secret rotation). Reject if the timestamp is older than 5 minutes; compare in constant time; de-duplicate on WireBloom-Event-Id. Respond 2xx within 10 s; retries with exponential backoff for 72 h (1 m, 5 m, 30 m, 2 h, 6 h, then every 12 h); endpoint disabled after 72 h of failures.

Payload

Schema IntegratorEvent

  • id Uuidrequired

  • type IntegratorEventTyperequired

  • createdAt Timestamprequired

  • apiVersion stringrequired

  • tenantId Uuidrequired

  • data objectrequired

    Thin payload: fetch the full resource with the API (GET /payments/{id} …) using the id.

    Fields of data
    • object stringrequired

      One of: "payment", "transfer", "exchange", "incoming_payment", "recipient", "approval", "funds_request", "statement", "balance", "customer", "compliance_hold"

    • id Uuidrequired

    • status string | null

    • previousStatus string | null

    • amount Money | null

    • test boolean

      true on POST /integrator-webhooks/{webhookId}/test events (also header WireBloom-Test: true).

    • sandbox boolean

      true on events simulated through /sandbox/*.

    • related object

      compliance_hold.*: the held payment or incoming payment.

      Fields of related
      • object stringrequired

        One of: "payment", "incoming_payment"

      • id Uuidrequired

  • customerId Uuid | null

exchange.completed

Integrator callback: exchange.completed

Delivered to registered integrator endpoints. Headers: WireBloom-Event-Id, WireBloom-Event-Type, WireBloom-Timestamp (unix seconds), WireBloom-Signature: v1=<hex HMAC-SHA256(secret, timestamp + "." + rawBody)> (several v1= values during secret rotation). Reject if the timestamp is older than 5 minutes; compare in constant time; de-duplicate on WireBloom-Event-Id. Respond 2xx within 10 s; retries with exponential backoff for 72 h (1 m, 5 m, 30 m, 2 h, 6 h, then every 12 h); endpoint disabled after 72 h of failures.

Payload

Schema IntegratorEvent

  • id Uuidrequired

  • type IntegratorEventTyperequired

  • createdAt Timestamprequired

  • apiVersion stringrequired

  • tenantId Uuidrequired

  • data objectrequired

    Thin payload: fetch the full resource with the API (GET /payments/{id} …) using the id.

    Fields of data
    • object stringrequired

      One of: "payment", "transfer", "exchange", "incoming_payment", "recipient", "approval", "funds_request", "statement", "balance", "customer", "compliance_hold"

    • id Uuidrequired

    • status string | null

    • previousStatus string | null

    • amount Money | null

    • test boolean

      true on POST /integrator-webhooks/{webhookId}/test events (also header WireBloom-Test: true).

    • sandbox boolean

      true on events simulated through /sandbox/*.

    • related object

      compliance_hold.*: the held payment or incoming payment.

      Fields of related
      • object stringrequired

        One of: "payment", "incoming_payment"

      • id Uuidrequired

  • customerId Uuid | null

recipient.status_changed

Integrator callback: recipient.status_changed

Delivered to registered integrator endpoints. Headers: WireBloom-Event-Id, WireBloom-Event-Type, WireBloom-Timestamp (unix seconds), WireBloom-Signature: v1=<hex HMAC-SHA256(secret, timestamp + "." + rawBody)> (several v1= values during secret rotation). Reject if the timestamp is older than 5 minutes; compare in constant time; de-duplicate on WireBloom-Event-Id. Respond 2xx within 10 s; retries with exponential backoff for 72 h (1 m, 5 m, 30 m, 2 h, 6 h, then every 12 h); endpoint disabled after 72 h of failures.

Payload

Schema IntegratorEvent

  • id Uuidrequired

  • type IntegratorEventTyperequired

  • createdAt Timestamprequired

  • apiVersion stringrequired

  • tenantId Uuidrequired

  • data objectrequired

    Thin payload: fetch the full resource with the API (GET /payments/{id} …) using the id.

    Fields of data
    • object stringrequired

      One of: "payment", "transfer", "exchange", "incoming_payment", "recipient", "approval", "funds_request", "statement", "balance", "customer", "compliance_hold"

    • id Uuidrequired

    • status string | null

    • previousStatus string | null

    • amount Money | null

    • test boolean

      true on POST /integrator-webhooks/{webhookId}/test events (also header WireBloom-Test: true).

    • sandbox boolean

      true on events simulated through /sandbox/*.

    • related object

      compliance_hold.*: the held payment or incoming payment.

      Fields of related
      • object stringrequired

        One of: "payment", "incoming_payment"

      • id Uuidrequired

  • customerId Uuid | null

approval.requested

Integrator callback: approval.requested

Delivered to registered integrator endpoints. Headers: WireBloom-Event-Id, WireBloom-Event-Type, WireBloom-Timestamp (unix seconds), WireBloom-Signature: v1=<hex HMAC-SHA256(secret, timestamp + "." + rawBody)> (several v1= values during secret rotation). Reject if the timestamp is older than 5 minutes; compare in constant time; de-duplicate on WireBloom-Event-Id. Respond 2xx within 10 s; retries with exponential backoff for 72 h (1 m, 5 m, 30 m, 2 h, 6 h, then every 12 h); endpoint disabled after 72 h of failures.

Payload

Schema IntegratorEvent

  • id Uuidrequired

  • type IntegratorEventTyperequired

  • createdAt Timestamprequired

  • apiVersion stringrequired

  • tenantId Uuidrequired

  • data objectrequired

    Thin payload: fetch the full resource with the API (GET /payments/{id} …) using the id.

    Fields of data
    • object stringrequired

      One of: "payment", "transfer", "exchange", "incoming_payment", "recipient", "approval", "funds_request", "statement", "balance", "customer", "compliance_hold"

    • id Uuidrequired

    • status string | null

    • previousStatus string | null

    • amount Money | null

    • test boolean

      true on POST /integrator-webhooks/{webhookId}/test events (also header WireBloom-Test: true).

    • sandbox boolean

      true on events simulated through /sandbox/*.

    • related object

      compliance_hold.*: the held payment or incoming payment.

      Fields of related
      • object stringrequired

        One of: "payment", "incoming_payment"

      • id Uuidrequired

  • customerId Uuid | null

statement.available

Integrator callback: statement.available

Delivered to registered integrator endpoints. Headers: WireBloom-Event-Id, WireBloom-Event-Type, WireBloom-Timestamp (unix seconds), WireBloom-Signature: v1=<hex HMAC-SHA256(secret, timestamp + "." + rawBody)> (several v1= values during secret rotation). Reject if the timestamp is older than 5 minutes; compare in constant time; de-duplicate on WireBloom-Event-Id. Respond 2xx within 10 s; retries with exponential backoff for 72 h (1 m, 5 m, 30 m, 2 h, 6 h, then every 12 h); endpoint disabled after 72 h of failures.

Payload

Schema IntegratorEvent

  • id Uuidrequired

  • type IntegratorEventTyperequired

  • createdAt Timestamprequired

  • apiVersion stringrequired

  • tenantId Uuidrequired

  • data objectrequired

    Thin payload: fetch the full resource with the API (GET /payments/{id} …) using the id.

    Fields of data
    • object stringrequired

      One of: "payment", "transfer", "exchange", "incoming_payment", "recipient", "approval", "funds_request", "statement", "balance", "customer", "compliance_hold"

    • id Uuidrequired

    • status string | null

    • previousStatus string | null

    • amount Money | null

    • test boolean

      true on POST /integrator-webhooks/{webhookId}/test events (also header WireBloom-Test: true).

    • sandbox boolean

      true on events simulated through /sandbox/*.

    • related object

      compliance_hold.*: the held payment or incoming payment.

      Fields of related
      • object stringrequired

        One of: "payment", "incoming_payment"

      • id Uuidrequired

  • customerId Uuid | null