---
title: "Approve a pending signup"
method: POST
path: "/v1/forms/{id}/pending/{pendingId}/approve"
tags: ["Forms"]
---

# Approve a pending signup

`POST /v1/forms/{id}/pending/{pendingId}/approve`

## Request

- Base URL: `https://smtpfa.st/api`
- URL: `https://smtpfa.st/api/v1/forms/{id}/pending/{pendingId}/approve`
- Auth: HTTP bearer

Confirm one pending signup without waiting for the link click. It becomes a contact, fires contact.subscribed and gets the welcome email if enabled. Approving one that is already confirmed returns 200 with already_confirmed. Returns 409 when the form is no longer active. Requires the form:write scope.

## Path parameters

- `id` string, required
- `pendingId` string, required

## Response `200`

Approved

- object
  - `approved` boolean, required
  - `contact_id` string
  - `email` string, required
  - `already_confirmed` boolean

## Other responses

- `401`: Invalid or missing API key
- `403`: Forbidden - domain not verified or insufficient permissions
- `404`: Resource not found
- `409`: Conflict - the resource already exists or changed meanwhile
- `429`: Rate limit exceeded - retry after the period indicated in the Retry-After header
- `500`: Internal server error

---

[API](https://skmtc.dev/smtpfa/apis/smtpfast-api.md) · [All operations](https://skmtc.dev/smtpfa/apis/smtpfast-api/llms.txt) · [OpenAPI document](https://skmtc.dev/smtpfa/apis/smtpfast-api/revisions/79dda742f53e?raw)
