Skip to main content

Asynchronous Endpoints

All long-running operations we offer through the API are exposed in an asynchronous manner. What this means is that these operations will generally require this query pattern on your part:

  • Initiate the task, usually at a /new endpoint, which gives you a task id
  • Query a nearby /status endpoint with that task ID to get the current status of the task. The statuses can be any of the following.
    • SUBMITTED: We have received your request but have not yet started working on it.
    • IN_PROGRESS: A worker is actively processing your request.
    • SUCCEEDED: Your request has been completed. A metadata field will be attached providing the location of the finished result, which you can generally issue a GET request to retrieve.
    • FAILED: Your request failed. A metadata field will be attached with a reason why, which can often be helpful in order to determine a fix and resubmit.

For a good example of an asynchronous endpoint, check out the Chat Explore endpoint page.

FAQ

Who can I reach out to regarding task failures?

You can reach out to support@akkio.com. We investigate all failing tasks, but are glad to have your assistance in tracking down the issue if it's on our end.

How long can I check the status of a given task id?

We promise that task statuses will be present for at least 24 hours. Please ensure you have saved the location of the result, which will stay around, before that time is up.

Is there anything I should know about timeouts?

We assume that any tasks that have been running for longer than one day have failed.