---
title: Get a form
description: Get one of a certificate's request, unlock, or correction form definitions
method: GET
path: /api/v1/workspaces/{slug}/certificates/{id}/forms/{kind}
group: Forms
scopes: certificates:read
---

# Get a form

# Get a form

A certificate owns at most one form of each kind. All three share the same field
engine — field types, validation, uploads, and rendering — but nothing else:
what a submitted answer does belongs to the workflow that owns it.

| Kind         | Who fills it in                      | What submitting does                       |
| ------------ | ------------------------------------ | ------------------------------------------ |
| `request`    | Anyone with the public request link  | Applies for a certificate                  |
| `unlock`     | An imported recipient, via a private link | Releases the certificate already allocated to them |
| `correction` | An existing recipient                | Proposes a change to an issued certificate |

## Authorization

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

Requires `certificates:read` (or full access).

## Path parameters

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

  
- `id*` string — Certificate id Example: `550e8400-e29b-41d4-a716-446655440000`.

  
- `kind*` string — `request`, `unlock`, or `correction` Example: `unlock`.

## Request

```bash
curl "https://api.verifycate.com/api/v1/workspaces/acme/certificates/550e8400-e29b-41d4-a716-446655440000/forms/unlock" \
  -H "Authorization: Bearer vc_your_api_key"
```

## Response

### 200

```json
{
  "id": "9f1c2b3d-4e56-4789-a012-3456789abcde",
  "certificate_id": "550e8400-e29b-41d4-a716-446655440000",
  "kind": "unlock",
  "enabled": true,
  "title": "Event Feedback",
  "description": "Tell us how it went.",
  "fields": [
    { "key": "rating", "label": "Overall rating", "type": "star_rating", "required": true },
    { "key": "notes", "label": "Anything to add?", "type": "textarea", "required": false }
  ],
  "current_version": 3,
  "created_at": "2026-09-01T09:00:00Z",
  "updated_at": "2026-09-04T12:30:00Z"
}
```
