rocketExamples

Audience: End users

Quick Start Guide

This guide gets you started with the GL Open DeepResearch service using the async task (and taskgroup) API. Create a task or task group, then stream events or poll for status and the final result.

Prerequisites

  • API Key from GL Open DeepResearch Team

  • Base URL: https://stag-gl-deep-research.obrol.id

Profile-based usage

GL Open DeepResearch is profile-based: every research request (task or taskgroup) must include a profile name. The profile defines which provider runs (e.g. Tongyi or GPT-Researcher) and with which settings (model, depth, timeouts). You only send the profile name and your query—no provider or model config in the request body.

In the steps below we use the GPTR-QUICK profile. You can list available profiles with GET /v1/profiles. To use a different model (e.g. Claude) or create your own configuration, create a new profile and then use its name in your requests. For details and an example (create a new profile and use it with Claude), see Research Profiles — Examples.

Step 1: Get Your API Key

Contact the GL Open DeepResearch Team to obtain your API key. This key is required for all API requests.

Step 2: Create a Task Group

The Task Groups API allows you to create and manage multiple research tasks with shared configuration. Start by creating a task group:

curl -X POST 'https://stag-gl-deep-research.obrol.id/v1/taskgroup' \
  -H 'X-API-Key: your-api-key' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'query=What are the latest developments in quantum computing?' \
  --data-urlencode 'profile=GPTR-QUICK'

Response:

Note: Save the taskgroup_id and tasks array - you'll need these to track your research tasks.

Creating Multiple Tasks

You can also create multiple tasks at once by passing an array of queries:

Step 3: Get Streaming Response for Each Task

To monitor the progress of your research tasks in real-time, you can stream events from each task. There are two ways to stream:

Stream from a Specific Task

Get streaming events for a specific task within a task group:

Or stream directly from the task (if you have the task ID):

Stream from All Tasks in a Group

Get compiled streaming events from all tasks in a task group:

Streaming Response Format:

The endpoint returns Server-Sent Events (SSE) with the following event types:

  • THINKING_START: Indicates the start of thinking process

  • THINKING: Contains thinking process content

  • THINKING_END: Indicates the end of thinking process

  • ACTIVITY: Tool execution events (tool calls and tool responses)

  • RESPONSE: Final research result

Example Stream Output:

Note: Events are retained in Redis for 24 hours, allowing you to fetch streaming events multiple times during the retention period.

Step 4: Get Task Status

Check the status of a specific task without retrieving the full result:

Response:

Task Status Values:

  • PENDING: Task is waiting to be processed

  • RECEIVED: Task has been received by the worker but not yet started

  • STARTED: Task execution has started

  • SUCCESS: Task completed successfully

  • FAILURE: Task failed due to an error

  • REVOKED: Task was revoked/cancelled

  • RETRY: Task is being retried after a failure

Get Task Group Status

You can also check the overall status of a task group:

Response:

Task Group Status Values:

  • EMPTY: Task group has no tasks

  • PENDING: At least one task is pending, but no tasks have started yet

  • STARTED: At least one task has started

  • SUCCESS: All tasks completed successfully

  • FAILURE: All tasks failed

  • PARTIAL_FAILURE: Some tasks succeeded, some failed

Step 5: Retrieve Final Result

Once a task has completed (status is SUCCESS), retrieve the final research result:

Response:

Get Task Result from Task Group

You can also retrieve a task result through the task group endpoint:

This returns the same response format as the direct task endpoint.

Available Profiles

To see all available research profiles:

Response:

Next Steps

Last updated