---
title: Accept Workflow Update
description: Re-pin a buyer purchase to the workflow's current active immutable version.
source: https://www.edgaze.ai/docs/api/accept-workflow-update
section: api
---
# Accept Workflow Update

> Re-pin a buyer purchase to the workflow's current active immutable version.

**Audience: Developers building with the Edgaze API.**

```apibar
accept-workflow-update
```

## Overview

This endpoint opts a buyer into the creator's current active version. It changes the immutable version selected by later runs that omit `version`.

Review release notes and the current input schema before accepting. A new version may change required inputs, output fields, pricing, or provider requirements.

## Authorization

Requires `workflow:write`. New keys do not receive this scope by default.

```apiscopes
accept-workflow-update
```

## Parameters

```apiparams
accept-workflow-update
```

## Response

The response returns the new `pinnedVersionId`. Repeating the call when the purchase already points to the active version is safe and returns `200`.

## Edge cases

```apiedges
accept-workflow-update
```

## Related endpoints

- [List Workflow Versions](/docs/api/list-workflow-versions)
- [Get Workflow](/docs/api/get-workflow)
- [Create Run](/docs/api/create-run)

---

## Endpoint reference
- **Method:** `POST`
- **Path:** `https://api.edgaze.ai/v1/workflows/{workflow_id}/accept-update`
- **Scopes:** `workflow:write`
## Parameters
| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `Authorization` | header | string | yes | Bearer token with the opt-in workflow:write scope. |
| `workflow_id` | path | string | yes | UUID of the purchased workflow. |
## Example responses

### 200 Updated
```json
{
  "ok": true,
  "workflowId": "550e8400-e29b-41d4-a716-446655440000",
  "pinnedVersionId": "8f57e8f7-7b74-4fe2-a425-722a135d93aa"
}
```

### 403 Forbidden

The key lacks workflow:write, or the account has no buyer purchase to re-pin. Branch on error.code.

```json
{
  "error": {
    "code": "forbidden",
    "message": "You do not have access to this workflow."
  }
}
```

### 409 No active version
```json
{
  "error": {
    "code": "invalid_request",
    "message": "Workflow has no active version to accept."
  }
}
```

### 400 Missing workflow
```json
{
  "error": {
    "code": "missing_workflow",
    "message": "Workflow id is required."
  }
}
```

### 401 Unauthorized
```json
{
  "error": {
    "code": "unauthorized",
    "message": "Invalid or missing API key."
  }
}
```

### 500 Server error
```json
{
  "error": {
    "code": "internal_error",
    "message": "Failed to accept update."
  }
}
```

## Edge cases

### Owner keys

Owners do not have a buyer purchase row to re-pin and receive 403 forbidden.

### Input and output drift

After accepting, refresh GET /workflows/{id}; the active version may define different inputs or outputs.

