---
title: List correction requests
description: List correction requests across a workspace
method: GET
path: /api/v1/workspaces/{slug}/corrections
group: Corrections
scopes: certificates:read
---

# List correction requests

# List correction requests

Lists correction requests for every certificate in the workspace, newest first. Supports search, status filter, and offset pagination.

Image and attachment values in `fields` are **15-minute** private-bucket presigned GET URLs (not storage paths). Re-fetch the list if a URL has expired.

## Authorization

```http
Authorization: Bearer vc_...
```

Requires `certificates:read` (or full access) and an active Pro seat.

## Path parameters

  
- `slug*` string — Workspace slug Example: `acme`.

## Query parameters

  
- `search?` string — Filter by recipient name, email, or certificate name Example: `ada`.

  
- `status?` string — Filter by status: `pending`, `approved`, or `rejected`. Omit for all. Example: `pending`.

  
- `limit?` integer — Page size (1–200). Defaults to `50`. Example: `50`.

  
- `offset?` integer — Number of items to skip. Defaults to `0`. Example: `0`.

## Request

```bash
curl "https://api.verifycate.com/api/v1/workspaces/acme/corrections?status=pending&limit=50&offset=0" \
  -H "Authorization: Bearer vc_your_api_key"
```

```javascript
const res = await fetch(
  "https://api.verifycate.com/api/v1/workspaces/acme/corrections?status=pending&limit=50&offset=0",
  { headers: { Authorization: "Bearer vc_your_api_key" } },
);
const page = await res.json();
```

```go
url := "https://api.verifycate.com/api/v1/workspaces/acme/corrections?status=pending&limit=50&offset=0"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("Authorization", "Bearer vc_your_api_key")
```

```python
import urllib.request

url = "https://api.verifycate.com/api/v1/workspaces/acme/corrections?status=pending&limit=50&offset=0"
req = urllib.request.Request(url, headers={"Authorization": "Bearer vc_your_api_key"})
with urllib.request.urlopen(req) as res:
    print(res.read().decode())
```

## Response schema

- `items*` array — 
- `limit*` integer — 
- `offset*` integer — 
- `total*` integer — 

## Response

### 200

```json
{
  "items": [
    {
      "id": "d2b3c4e5-6f78-4901-b234-567890abcdef",
      "certificate_issue_id": "9b2c1d4e-5f67-4890-a123-456789abcdef",
      "requested_changes": {
        "name": "Augusta Ada King",
        "course": "Advanced Mathematics"
      },
      "fields": {
        "proof": "https://storage.example.com/request-submissions/corrections/...?X-Amz-Expires=900&..."
      },
      "status": "pending",
      "created_at": "2026-09-03T10:00:00Z",
      "updated_at": "2026-09-03T10:00:00Z",
      "certificate_name": "Python Fundamentals",
      "recipient_email": "ada@example.com",
      "recipient_name": "Ada Lovelace",
      "issue_public_id": "vc_pub_ada01"
    }
  ],
  "total": 1,
  "limit": 50,
  "offset": 0
}
```
