Asynchronous operations

Certain operations, such as deleting a call or deleting a user, require additional time and processing power. As a result, these operations are executed asynchronously.

These tasks will return a task_id in the API response, you can use this id to monitor the task status.

Monitoring tasks

You can monitor these tasks using the GetTask endpoint. Calling this endpoint will provide information such as:

  • status: Current status of the task (see statuses below for more details)
  • result: Result of the task, depending on the nature of the task
  • error: If the task failed, this will contain information about the failure

Task Statuses

The task can have the following statuses:

  • pending: Task is pending and not running yet
  • running: Task is running and not completed yet
  • completed: Task is completed and successfully executed
  • failed: Task failed during its execution

Example

Asynchronous operations will return an ID, which you can use to monitor the task. Here’s an example:

// Example of monitoring the status of an async task
// The logic is same for all async tasks
const response = await client.<async operation>();

// you need to poll this endpoint
const taskResponse = await client.getTask({id: response.task_id})

console.log(taskResponse.status === 'completed');

© Getstream.io, Inc. All Rights Reserved.