Callbacks

When setting up data points in our system, you have the option to provide a callback URL. This URL should be fully qualified, meaning it must include the protocol (http:// or https://) and end with a trailing slash (/).

Example of a valid callback URL: https://example.com/callbacks/

Upon completion or modification of a job, our system will issue a POST request to the specified callback URL. The request will contain the job details in a JSON-formatted body.

Important Note on Delivery Guarantee:
Our system adheres to an "at least once" delivery guarantee for callbacks. This means that in certain scenarios, the same callback might be sent more than once. To accommodate this, your callback service should be idempotent. This ensures that receiving the same callback multiple times will not lead to duplicate processing or unintended side effects. It's crucial to design your service with this consideration in mind, enabling it to appropriately handle or disregard duplicate callback messages.

Callback Data Structure:
Below is an overview of the data structure you can expect to receive in the callback:

Callback attributes

AttributeTypeDescription
idstringJob identifier, corresponding to its identifier in the super.AI dashboard
uuidstringA universally unique identifier for the job
statestringCurrent status of the job: either FAILED, SUSPENDED, CANCELED, EXPIRED, or COMPLETED
actionstringWhether the webhook was triggered by a job state change (RESOLVED), an edition (EDITED), marked correct ( ACCEPTED ) or marked incorrect ( DECLINED).

This structure provides comprehensive details about the job's state and any relevant metadata, allowing your system to respond or update accordingly.

Additional Information

If you need further details about the job related to the callback event, you can use the Retrieve a Single Job Object API. It supports passing the uuid as the job_id parameter. This API offers extended information, including the Project ID (appId), allowing for deeper insights into the job's context.