---
title: "Open the validation ceremony for a signer enrollment"
method: POST
path: "/v1/multisig-wallets/{walletId}/signers/{signerId}/challenge"
tags: ["Multisig Wallets"]
---

# Open the validation ceremony for a signer enrollment

`POST /v1/multisig-wallets/{walletId}/signers/{signerId}/challenge`

## Request

- Base URL: `https://api.prod.keyban.io`
- URL: `https://api.prod.keyban.io/v1/multisig-wallets/{walletId}/signers/{signerId}/challenge`
- Auth: one of:
  - API key in header `X-Api-Key`
  - `bearer` (a scheme the document does not define)

Draw a fresh validator nonce for a pending enrollment — the second half of the SAS input. Only a signer already on the wallet can challenge. The candidate app reads the returned nonce to display its 4-digit code; a new challenge drops any earlier reveal so a stale nonce can never validate.

## Path parameters

- `walletId` string, uuid, required
- `signerId` string, uuid, required

## Response `200`

Challenge opened

- ChallengeMultisigSignerDtoOutput
  - `validatorNonce` string, required: Fresh 32-byte nonce the challenge fixes. The candidate app combines it with its own nonce and signer bytes to display the 4-digit code.

## Other responses

- `403`: Caller is not a signer of this wallet
- `404`: Multisig wallet or enrollment not found
- `409`: The enrollment is not awaiting validation

---

[API](https://skmtc.dev/keyban/apis/keyban-rest-apis.md) · [All operations](https://skmtc.dev/keyban/apis/keyban-rest-apis/llms.txt) · [OpenAPI document](https://skmtc.dev/keyban/apis/keyban-rest-apis/revisions/0bb79a1da961?raw)
