What it is
When an async task finishes, VMEG sends an HTTP POST with a JSON body to your configured webhook URL. VerifyX-Timestamp and X-Signature as described in Webhook verification.
The create-async HTTP response only confirms acceptance (taskId, etc.). Deliverables arrive in this webhook body, not in that response.
Common envelope
All async completion callbacks share the same top-level shape. Product-specific fields live indata:
Deduplicate by pipelineKey
VMEG assigns one pipelineKey per accepted async run. It appears in every webhook POST for that completion.
pipelineKey is for webhook delivery deduplication. It is not the same as X-Idempotency-Key on create-async (which prevents duplicate task submission). One accepted async job has one pipelineKey; data.taskId identifies the task but retries are keyed by pipelineKey.The event field
event is a string in the JSON body that tells your server which Open API product completed. Use it to route parsing logic (switch on event, then read data).
In API reference, the Callbacks block on each
create-async page is named for OpenAPI tooling. The value you must implement against is the event field inside the POST JSON, not that section title.Event values by product
Today, async task completion uses only these four
event values. If we add more callback types later, they will be documented here and in the matching Callbacks schema.
Example handler routing
Per-endpoint request schema
Field-level types and nested properties are defined under Callbacks on eachcreate-async operation in API reference (linked in the table above).
