Authenticating
Endpoint requests use a workspace API key with theoutbound_webhooks:write scope, shown as Manage outbound webhooks when you create the key. Send it in the Authorization header. The key decides the workspace, so no workspace ID appears in the URL.
Registering an endpoint
Registering creates the endpoint and activates it in the same call. Base44 sends a signedwebhook.test.v1 event to your URL, and the endpoint becomes Active only if your receiver answers with a 2xx within 5 seconds and echoes the challenge.
https, can’t include a username or password, and can’t point at a private network. Base44 never follows redirects, so register the exact URL that answers.
The response is 201 whether or not activation succeeded, because the endpoint was created either way. Check activated:
activated is false, fix your receiver and run the test again. Don’t register the endpoint a second time.
Echoing the challenge
The echo proves you control the URL. Without it, anyone could point Base44’s traffic at a host that never asked for it. The test event’sdata.challenge holds a one-time value. Return it in the response body in either of these forms:
Testing an endpoint again
Run the activation test again after you fix your receiver, or after you change the endpoint’s URL.Managing endpoints
These requests use the same header as registration. Each returns the endpoint.
For every request and response field, see the API reference.
What changes an endpoint’s state:
- Changing
target_urlreturns the endpoint to Pending. Run the test again to activate the new URL. - Changing the selected events or the description keeps it Active.
- Events that happen while an endpoint is paused or pending aren’t sent to it, even after it’s active again.
- Resuming an endpoint that Base44 auto-paused runs the activation test first. See Delivery and retries.
Errors and rate limits
Errors use one shape, with a stablecode to match on:
Each workspace can make at least 300 endpoint reads, 60 endpoint changes and 10 activation tests per minute.