---
title: Send unlock invitations
description: Email an unlock form to every pending recipient
method: POST
path: /api/v1/workspaces/{slug}/certificates/{id}/unlock-invitations/send
group: Unlock Forms
scopes: certificates:write
---

# Send unlock invitations

# Send unlock invitations

Creates and sends an unlock invitation for every pending recipient that does not
already have a live one. Safe to call repeatedly: recipients who already hold a
live link are reported as `already_sent` rather than mailed again.

A draft certificate sends nothing, because its emailed links would not work yet.
Publishing the certificate performs the same fan-out automatically.

Two related endpoints act on a single invitation:

- `POST /api/v1/workspaces/{slug}/unlock-invitations/{invitationID}/remind` —
  mints a fresh link, atomically retiring the previous one, and re-sends it.
- `POST /api/v1/workspaces/{slug}/unlock-invitations/{invitationID}/revoke` —
  stops the link working. The recipient stays pending.

## Authorization

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

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

## Request

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

## Response

### 200

```json
{ "created": 12, "sent": 12, "already_sent": 238, "skipped": 0, "failed": 0 }
```
