# GitLab GitLab Duo workflows API

**Canonical:** https://apis.io/apis/gitlab/gitlab-gitlab-duo-workflows-api/  
**Provider:** GitLab — https://apis.io/providers/gitlab/  
**Base URL:** https://gitlab.com/api/v4  
**Documentation:** https://docs.gitlab.com/api/rest/

GitLab GitLab Duo workflows API is one of 189 APIs that [GitLab](https://apis.io/providers/gitlab/) publishes on the [APIs.io](https://apis.io/) network, described by a machine-readable OpenAPI specification and an AsyncAPI event-driven specification. This API exposes 16 JSON Schema definitions. Tagged areas include GitLab Duo workflows. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, authentication docs, an API reference, rate-limit docs, an AsyncAPI specification, and 16 JSON Schemas.

Use this API to create and manage [flows](https://docs.gitlab.com/user/duo_agent_platform/flows/) in the [GitLab Duo Agent Platform](https://docs.gitlab.com/user/duo_agent_platform/). Flows are combinations of AI agents that work together to complete developer tasks, such as fixing bugs, writing code, or resolving vulnerabilities.

## Operations (27)

| Method | Path | Summary |
|---|---|---|
| POST | `/api/v4/ai/duo_workflows/workflows/{id}/audit_events` | Ingest AI audit events from Duo Workflow Service |
| POST | `/api/v4/ai/duo_workflows/tools/risk_assessment/results` | Submit risk assessment results for a merge request |
| POST | `/api/v4/ai/duo_workflows/tools/risk_classification/results` | Submit risk assessment results for a merge request |
| POST | `/api/v4/ai/duo_workflows/code_review/add_comments` | Add code review comments to a merge request |
| GET | `/api/v4/ai/duo_workflows/code_review/custom_instructions` | Fetch the Duo Code Review custom instructions for a merge request |
| POST | `/api/v4/ai/duo_workflows/agent_workflows` | Create workflow persistence (agent-initiated, limited privileges) |
| POST | `/api/v4/ai/duo_workflows/revoke_token` | Revoke ai_workflows token |
| GET | `/api/v4/ai/duo_workflows/workflows/{id}` | Get workflow details |
| PATCH | `/api/v4/ai/duo_workflows/workflows/{id}` | Update the workflow status |
| POST | `/api/v4/ai/duo_workflows/workflows/{id}/checkpoints` | Create workflow checkpoint |
| GET | `/api/v4/ai/duo_workflows/workflows/{id}/checkpoints` | List all workflow checkpoints |
| GET | `/api/v4/ai/duo_workflows/workflows/{id}/checkpoints/by_thread_ts` | Get a workflow checkpoint reconstructed from incremental blobs |
| GET | `/api/v4/ai/duo_workflows/workflows/{id}/checkpoints/{checkpoint_id}` | Get details on a workflow checkpoint |
| POST | `/api/v4/ai/duo_workflows/workflows/{id}/checkpoint_writes_batch` | Create multiple workflow checkpoint writes |
| POST | `/api/v4/ai/duo_workflows/workflows/{id}/events` | Create workflow event |
| GET | `/api/v4/ai/duo_workflows/workflows/{id}/events` | List all workflow events |
| PUT | `/api/v4/ai/duo_workflows/workflows/{id}/events/{event_id}` | Update workflow event |
| POST | `/api/v4/ai/duo_workflows/direct_access` | Connection details for accessing Duo Agent Platform Service directly |
| GET | `/api/v4/ai/duo_workflows/list_tools` | List Duo Agent Platform tools |
| GET | `/api/v4/ai/duo_workflows/ws` | Get Duo Workflows WebSocket connection details |
| GET | `/api/v4/ai/duo_workflows/workflows/{workflow_id}/trace.jsonl` | Get workflow trace as JSONL |
| POST | `/api/v4/ai/duo_workflows/workflows` | Create a flow |
| GET | `/api/v4/ai/duo_workflows/workflows/agent_privileges` | List all agent privileges |
| POST | `/api/v4/ai/duo_workflows/workflows/{workflow_id}/execute` | Request Duo Workflows server-side execution connection details |
| POST | `/api/v4/ai/duo_workflows/workflows/{workflow_id}/resume` | Resume a paused workflow |
| POST | `/api/v4/ai/duo_workflows/workflows/{workflow_id}/restart` | Restart a failed or stopped workflow as a new session |
| POST | `/api/v4/projects/{id}/merge_requests/{merge_request_iid}/suggested_reviewers` | Set the AI-recommended reviewers for a merge request |

## Machine-readable artifacts (65)

- **OpenAPI** — https://artifacts.apis.io/gitlab/openapi/gitlab-gitlab-duo-workflows-api-openapi.yml
- **Documentation** — https://docs.gitlab.com/api/openapi/
- **Documentation** — https://docs.gitlab.com/api/issues/
- **Authentication** — https://docs.gitlab.com/api/rest/authentication/
- **JSONSchema** — https://artifacts.apis.io/gitlab/json-schema/gitlab-put-api-v4-application-settings-request-schema.json
- **JSONSchema** — https://artifacts.apis.io/gitlab/json-schema/gitlab-apientities-geo-node-status-schema.json
- **JSONSchema** — https://artifacts.apis.io/gitlab/json-schema/gitlab-apientities-geo-site-status-schema.json
- **JSONSchema** — https://artifacts.apis.io/gitlab/json-schema/gitlab-apientities-application-setting-schema.json
- **JSONSchema** — https://artifacts.apis.io/gitlab/json-schema/gitlab-post-api-v4-geo-status-request-schema.json
- **JSONSchema** — https://artifacts.apis.io/gitlab/json-schema/gitlab-put-api-v4-projects-id-request-schema.json
- **Documentation** — https://docs.gitlab.com/api/merge_requests/
- **Documentation** — https://docs.gitlab.com/api/pipelines/
- **Documentation** — https://docs.gitlab.com/api/jobs/
- **Documentation** — https://docs.gitlab.com/api/runners/
- **Documentation** — https://docs.gitlab.com/api/users/
- **Documentation** — https://docs.gitlab.com/api/repositories/
- **Documentation** — https://docs.gitlab.com/api/commits/
- **Documentation** — https://docs.gitlab.com/api/branches/
- **Documentation** — https://docs.gitlab.com/api/tags/
- **Documentation** — https://docs.gitlab.com/api/releases/
- **Documentation** — https://docs.gitlab.com/api/environments/
- **Documentation** — https://docs.gitlab.com/api/deployments/
- **Documentation** — https://docs.gitlab.com/api/pipeline_schedules/
- **Documentation** — https://docs.gitlab.com/api/labels/
- **Documentation** — https://docs.gitlab.com/api/milestones/
- **Documentation** — https://docs.gitlab.com/api/notes/
- **Documentation** — https://docs.gitlab.com/api/snippets/
- **Documentation** — https://docs.gitlab.com/api/packages/
- **Documentation** — https://docs.gitlab.com/api/container_registry/
- **Documentation** — https://docs.gitlab.com/api/vulnerabilities/
- **Documentation** — https://docs.gitlab.com/api/deploy_keys/
- **Documentation** — https://docs.gitlab.com/api/protected_branches/
- **Documentation** — https://docs.gitlab.com/api/wikis/
- **Documentation** — https://docs.gitlab.com/api/events/
- **Documentation** — https://docs.gitlab.com/api/search/
- **Documentation** — https://docs.gitlab.com/api/namespaces/
- **Documentation** — https://docs.gitlab.com/api/groups/
- **Documentation** — https://docs.gitlab.com/api/projects/
- **Documentation** — https://docs.gitlab.com/api/applications/
- **Documentation** — https://docs.gitlab.com/api/avatar/
- …and 25 more, listed in full on the page.

## Other GitLab APIs (12)

- [GitLab Orbit gRPC API](https://apis.io/apis/gitlab/gitlab-orbit-api/)
- [GitLab GraphQL API](https://apis.io/apis/gitlab/gitlab-graphql-api/)
- [GitLab Applications API](https://apis.io/apis/gitlab/gitlab-applications-api/)
- [GitLab Authorization API](https://apis.io/apis/gitlab/gitlab-authorization-api/)
- [GitLab Broadcast Messages API](https://apis.io/apis/gitlab/gitlab-broadcast-messages-api/)
- [GitLab Groups API](https://apis.io/apis/gitlab/gitlab-groups-api/)
- [GitLab Metadata API](https://apis.io/apis/gitlab/gitlab-metadata-api/)
- [GitLab Project Webhooks API](https://apis.io/apis/gitlab/gitlab-project-webhooks-api/)
- [GitLab Projects API](https://apis.io/apis/gitlab/gitlab-projects-api/)
- [GitLab Tokens API](https://apis.io/apis/gitlab/gitlab-tokens-api/)
- [GitLab User Info API](https://apis.io/apis/gitlab/gitlab-user-info-api/)
- [GitLab Webhook Configuration API](https://apis.io/apis/gitlab/gitlab-webhook-configuration-api/)

## Tags

GitLab Duo workflows

---

Profiled by [API Evangelist](https://apievangelist.com) and published on [APIs.io](https://apis.io/apis/gitlab/gitlab-gitlab-duo-workflows-api/). The API's provider profile, Kin Score and agent-readiness rating are at https://apis.io/providers/gitlab/.
