> ## Documentation Index
> Fetch the complete documentation index at: https://docs.go.gbgplc.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Step 3: Retrieve tasks

> Retrieve the list of tasks assigned to a journey instance using the GBG GO API to determine what actions the customer must complete.

When you start a journey, GBG GO dynamically assigns tasks based on the modules and rules in the journey. These tasks define the actions a customer must complete, such as submitting a document, verifying identity, or providing additional data.

Use the [Retrieve tasks](/docs/go-v1/api-reference/endpoint/retrieve-tasks) API endpoint to fetch the list of tasks assigned to a specific journey instance.

## When to retrieve tasks

You should retrieve tasks at the following stages:

* Immediately after starting a journey
* Before displaying tasks to the customer
* Before submitting task data
* To check which tasks are completed or pending
* To confirm that a journey is progressing correctly

## Prerequisites

Before making the API request, ensure you have:

* **Instance ID** – Returned when the journey was started
* **Access token** – Obtained during [Authentication](/docs/go-v1/developer-integration/execute-customer-journeys/authenticate)

## Retrieve tasks (API request)

Send a `POST` request to the [Retrieve tasks](/docs/go-v1/api-reference/endpoint/retrieve-tasks) endpoint to retrieve the tasks assigned to a journey instance. Your request will look like this:

```bash cURL theme={null}
curl --request POST \
  --url https://eu.platform.go.gbgplc.com/captain/api/journey/task/list \
  --header 'Authorization: Bearer your_access_token' \
  --header 'Content-Type: application/json' \
  --data '{
    "instanceId": "your-instance-id"
  }'
```

<Note>
  {" "}

  You must include the `instanceId` in the request body and the `Authorization` header
  in the request. Refer to the [Retrieve tasks](/docs/go-v1/api-reference/endpoint/retrieve-tasks)
  API reference for details.
</Note>

If your request is successful, you will get a list of tasks. Your response will look like this:

```json JSON theme={null}
{
  "status": "InProgress",
  "instanceId": "<string>",
  "tasks": [
    {
      "taskId": "TkoviRO58Q8R7qPnAkLAqBAT",
      "variantId": "age_verification_all_ssn_dob_required"
    }
  ]
}
```

### What happens after retrieving tasks

Depending on the returned task list, your next steps may include:

* Retrieving the schema for tasks that require user input, for example, document upload or form submission
* Displaying pending tasks to the customer in your UI
* Submitting data to complete tasks
* Rechecking tasks periodically to track progress

### Best practices

* Always check for new tasks after submitting data.
* Don’t assume task order, use the list to drive your UI or workflow.
* If no tasks are returned, then fetch the journey state to check if the journey has completed.

## Next step

Go to [Manage schemas](/docs/go-v1/developer-integration/execute-customer-journeys/manage-schemas-step) to retrieve the required data structure for each task.
