---
title: "Request a manual Automation run"
description: "Queues an idempotent manual run request for an active Automation. The `Idempotency-Key` header is required and identifies duplicate requests."
canonical: https://y2.dev/docs/api/reference/automations/runAutomation/
---

Endpoint Reference[Automations](https://y2.dev/docs/api/reference/automations)

# Request a manual Automation run

Queues an idempotent manual run request for an active Automation. The \`Idempotency-Key\` header is required and identifies duplicate requests.

`POST https://api.y2.dev/api/v1/automations/{automationId}/runs`

- Operation ID: `runAutomation`
- Required scopes: `automations:write`
- Contract: https://y2.dev/openapi.json

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `automationId` | path | string | Yes |  |
| `Idempotency-Key` | header | string | Yes |  |

## Responses

| Status | Description | Body |
| --- | --- | --- |
| 202 | Run request accepted | `AutomationRunRequestResponse` |
| 400 | Invalid request parameters |  |
| 401 | Missing or invalid API key |  |
| 403 | Insufficient permissions or access denied |  |
| 404 | Resource not found |  |
| 409 | Resource conflict (e.g., webhook in use) |  |
| 429 | Rate limit exceeded (per-key or per-account aggregate) |  |
| 500 | Internal server error |  |

### 202 response fields

| Field | Type | Description |
| --- | --- | --- |
| `data` | object |  |
| `data.type` | string |  |
| `data.status` | string |  |
| `data.automationId` | string |  |
| `meta` | object |  |
| `meta.message` | string |  |
