project.updated
Sent when a project’s name, category, description, website, fee bearer, or default payment methods are updated from the dashboard’s Settings or Payment Methods tabs (or the equivalent API call).
Headers
Section titled “Headers”| Header | Description |
|---|---|
X-Baiyar-Signature |
t=<unix timestamp>,v1=<hex HMAC-SHA256> — see Verifying Webhook Signatures |
Content-Type |
application/json |
Payload
Section titled “Payload”{ "id": "evt_PH2sIczyJUqsjk81Bqx3", "type": "project.updated", "created_at": "2026-09-16T04:03:46Z", "data": { "id": "project_IChAi2NR4vzKN3SgEYPI", "name": "Docs Example Store", "category": "digital_saas", "description": "Verification pass for webhook events feature", "website": "https://example.com", "fee_bearer": "merchant", "default_payment_methods": [{ "type": "qris" }], "updated_at": "2026-09-16T04:03:46Z" }}| Field | Type | Description |
|---|---|---|
id |
string | Unique event ID — use it to deduplicate retried deliveries, not data.id |
type |
string | Always project.updated |
created_at |
date-time | When the event was generated |
data.id |
string | The project’s public ID |
data.category |
string/null | One of the categories offered in the dashboard’s project settings, or null if unset |
data.description |
string/null | null if unset |
data.website |
string/null | null if unset |
data.fee_bearer |
string | merchant or customer |
data.default_payment_methods |
array | The payment methods enabled by default for new payment links on this project |
data reflects the project’s state after the update — the full set of
editable fields, not just the ones that changed in this call.
Testing
Section titled “Testing”There’s no sandbox simulator for this event — trigger it by actually updating a sandbox project’s settings from the dashboard and watching your endpoint receive the delivery within a few seconds.