Weav Docsv1

API reference / Webhooks

Get your webhook URL

GET/v1/webhook-endpoint

The one URL where Weav sends this mode's webhooks (payments and withdrawals).

Returns 404 if none is set for this mode.

Headers

  • AuthorizationstringRequired
    Bearer plus your API key. See Authentication.

Responses

200 OK

Your webhook endpoint.

What data holds
  • webhook_endpointobject
    7 fields in webhook_endpoint
    • urlstring
    • eventsarray of strings
    • healthstring
      One of: UNKNOWN HEALTHY FAILING DOWN
    • withdrawals_urlstring | null
      Where withdrawal events go, when not url.
    • has_signing_keyboolean
      Webhooks go out only once a signing key exists. Create it in the dashboard under Developers.
    • last_success_atstring (date-time) | null
    • updated_atstring (date-time) | null

401 Unauthorized

Missing, malformed or unknown API key (code 4010000).

403 Forbidden

The key can't make this request (code 4030000): an address outside the key's IP allowlist, a live key before your live mode is on, or an account that isn't active. A live key sent from a browser is refused (code 4030001): keep live keys on your server.

404 Not Found

Not found in this mode for your account (code 4040000).

GET

Try it: Get your webhook URL

Test mode
Authorization
cURL

Uses $WEAV_API_KEY, never your key. Paste it into a terminal, or import it into Postman.

Response

Send the request to see Weav's answer here.

curl -X GET https://api.weavpayments.com/v1/webhook-endpoint \
    -H "Authorization: Bearer $WEAV_API_KEY"
{
    "code": "2000000",
    "success": true,
    "message": "OK",
    "data": {
        "webhook_endpoint": {
            "url": "https://example.com/webhooks/weav",
            "events": [
                "PAYMENT_COMPLETED",
                "PAYMENT_FAILED",
                "PAYMENT_CANCELLED",
                "PAYMENT_REVERSED",
                "PAYMENT_REFUNDED",
                "CHECKOUT_COMPLETED",
                "CHECKOUT_EXPIRED",
                "WITHDRAWAL_COMPLETED",
                "WITHDRAWAL_FAILED"
            ],
            "withdrawals_url": null,
            "health": "UNKNOWN",
            "has_signing_key": true,
            "last_success_at": null,
            "updated_at": "2026-10-26T10:00:00+08:00"
        }
    }
}