An HTTP request to the Cerebrium API can be parameterized to forward data from your function/app to a specified endpoint via a POST. This allows you to use webhooks in your architecture. To achieve this, we can simply add theDocumentation Index
Fetch the complete documentation index at: https://cerebrium-fix-make-entrypoint-docs-explicit.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
webhookEndpoint
query parameter to any API call:
Retry Behavior
Webhook requests are sent asynchronously and will not block your function’s response. If a webhook delivery fails, we automatically retry with the following behavior:- Maximum attempts: 3 attempts total
- Delay between retries: Up to 5 seconds between attempts
- Network errors (connection failures, timeouts) will trigger retries
404 Not Foundresponses will trigger retries (endpoint may be temporarily unreachable)- Other
4xxclient errors will not be retried (considered permanent failures) 5xxserver errors will not be retried (to avoid potential duplicate side effects)- Non-2xx responses (excluding the above) will trigger retries
{"smile": "wave"}. We would then make a POST call from
our proxy that would look like this to your webhook:
We do not actually use
curl. This is used as an example to show what a
webhook may expect.Webhook Signature Verification
To verify that webhooks are genuinely coming from Cerebrium, you can use our webhook signature verification system:- Include an
X-Webhook-Secretheader with a secret value of your choice when making requests to our API - When you receive a webhook, we’ll include the following headers:
X-Request-Id: A unique identifier for the requestX-Cerebrium-Webhook-Timestamp: The Unix timestamp when the webhook was sentX-Cerebrium-Webhook-Signature: The signature in the formatv1,<signature>
- To verify the signature:
The body should include everything returned from cerebrium (run_id, function
response, timestamp etc) not just your function response