---
title: "Submit the signer's field values and signature"
method: POST
path: "/api/signer/submit"
tags: ["signer"]
---

# Submit the signer's field values and signature

`POST /api/signer/submit`

The signing action (spec §5.5): validates ownership and required-field completeness, persists values, appends `participant.signed` with audit facts, and advances to the next participant — or, when this was the final signer, triggers artifact generation (the envelope stays `in_progress` until artifacts exist; §4 status never lies). Replaying after success is an idempotent 200. Requires prior consent.

## Request body

- object
  - `values` object, required
  - `signatureMethods` object

## Response `200`

Signature recorded (or already recorded)

- object
  - `status` 'draft' | 'detecting' | 'review' | 'in_progress' | 'completed' | 'declined' | 'voided' | 'expired', required
  - `allParticipantsSigned` boolean, required
  - `alreadySigned` boolean, required

## Other responses

- `401` — Missing, invalid, expired, or reissued signing link
- `404` — The link's envelope or participant no longer exists
- `409` — Out-of-order submission, consent missing, terminal envelope, or a concurrent modification
- `422` — Values reference fields not assigned to this participant (validation_error), or required fields are incomplete (required_fields_missing)

---

[API](https://skmtc.net/atlaswork/apis/atlas-api.md) · [All operations](https://skmtc.net/atlaswork/apis/atlas-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/atlaswork/atlas-api/versions/a8a1e7479c90/schema)
