Skip to main content
AudioShake sends a POST request to your webhook URL each time a Task’s Target changes status. The payload is the full Task object, identical to the response from Get Task by ID.

Setup

You can configure a webhook URL in two ways:
  • Globally — set a default webhook URL in the AudioShake Dashboard under Settings > Webhook URL. It applies to every Task on your account.
  • Per Task — set webhookUrl in the body of your Create Task request. This applies to that Task only.
A webhookUrl set on a Task overrides the global webhook URL configured in the dashboard for that Task. If no webhookUrl is provided on the Task, the global dashboard URL is used.

Per-Task webhook example

When webhooks fire

A webhook is sent each time a Target completes or errors. There is no callback when a Target is first created or begins processing — the first webhook you receive for a given Target will be completed or error.
Webhooks fire per Target, not once per Task. If a Task has three targets, you will receive up to three webhook requests.

Target status reference

Note: other targets in the same Task may still show processing when the webhook fires — this is expected.

Payload

The payload contains the full Task object. Each target includes its current status — some may be completed while others are still processing:

Task-level fields

Target fields

Output file fields

Delivery

  • Sent as POST with Content-Type: application/json
  • Your endpoint must return a 2xx status code promptly
  • Output download links expire after one hour — re-fetch the Task for fresh links if needed