Skip to main content
For AI agents: a documentation index is available at https://docs.parallel.ai/llms.txt. The full text of all docs is at https://docs.parallel.ai/llms-full.txt. You may also fetch any page as Markdown by appending .md to its URL or sending Accept: text/markdown.

Overview

Webhooks allow you to receive real-time notifications when events occur in your Parallel API operations, eliminating the need for constant polling. Our webhooks follow standard webhook conventions to ensure security and interoperability.

Setup

1. Record your webhook secret

Go to Settings → Webhooks to view your account webhook secret. You’ll need this to verify webhook signatures.
Keep your webhook secret secure. Anyone with access to your secret can forge webhook requests.

2. Configure webhook in API request

When creating a task run or FindAll run, include a webhook parameter in your request:

3. Webhook request headers

Your webhook endpoint will receive requests with these headers:
  • webhook-id: Unique identifier for each webhook event
  • webhook-timestamp: Unix timestamp in seconds
  • webhook-signature: One or more versioned signatures (e.g., v1,<base64 signature>)
Signatures are space-delimited per the Standard Webhooks format. Under normal circumstances there will only be one signature, but there may be multiple if you rotate your webhook secret without immediately expiring the old secrets.

Security & Verification

HMAC Signature Verification

Webhook signing follows the Standard Webhooks specification (as implemented by Svix). Webhook requests are signed using HMAC-SHA256 with standard Base64 (RFC 4648) encoding with padding. The signature header is formatted as v1,<base64 signature> where <base64 signature> is computed over the payload below:
Where:
  • <webhook-id>: The value of the webhook-id header
  • <webhook-timestamp>: The value of the webhook-timestamp header
  • <payload>: The exact JSON body of the webhook request
Per the Standard Webhooks specification, the whsec_ prefix is stripped from your webhook secret and the remainder is Base64-decoded before being used as the HMAC key. For example, a secret of whsec_MfKQ9r8GKYqrTwjUPD8ILPZIo2LaLaSw becomes MfKQ9r8GKYqrTwjUPD8ILPZIo2LaLaSw, which is then Base64-decoded to obtain the raw signing key. You must parse the version and the signature before verifying. The webhook-signature header uses space-delimited signatures; check each signature until one matches.
You can use any Standard Webhooks-compatible library (such as the Svix libraries) to verify signatures without implementing verification manually.

Verification Examples

Backward compatibility. Prior to the switch to the Standard Webhooks specification, Parallel signed webhooks using the entire secret (including the whsec_ prefix) as the raw HMAC key. For existing customers, this legacy signing scheme continues to be supported so that webhook handlers written against the previous format keep working. New integrations should follow the Standard Webhooks specification described above.

Retry Policy

Webhook delivery uses the following retry configuration:
  • Initial delay: 5 seconds
  • Backoff strategy: Exponential backoff (doubles per failed request)
  • Maximum retries: Multiple attempts over 48 hours
After exhausting all retry attempts, webhook delivery for that event is terminated.

Best Practices

1. Always Return 2xx Status

Your webhook endpoint should return a 2xx HTTP status code to acknowledge receipt. Any other status code will trigger retries.

2. Verify Signatures

Always verify HMAC signatures using your account webhook secret from Settings → Webhooks to ensure webhook authenticity. Ensure that you are calculating signatures using the proper process as shown above.

3. Handle Duplicates

Although not common, duplicate events may be sent to the configured webhook URL. Ensure your webhook handler can detect and safely ignore duplicate events using the webhook-id header.

4. Process Asynchronously

Process webhook events asynchronously to avoid timeouts and ensure quick response times. For example, immediately return a 200 response, then queue the event for background processing.

5. Rotate Secrets Carefully

When rotating webhook secrets in Settings → Webhooks, consider keeping the old secret active temporarily to avoid verification failures during the transition period.

6. Monitor Webhook Health

Track webhook delivery failures and response times. Set up alerts for repeated failures that might indicate issues with your endpoint.

API-Specific Documentation

For details on specific webhook events and payloads for each API: