---
title: "Initiate an end-user custodial challenge for an approver"
method: POST
path: "/api/approvers/end-user-custodial/initiate-challenge"
tags: ["Approvers"]
---

# Initiate an end-user custodial challenge for an approver

`POST /api/approvers/end-user-custodial/initiate-challenge`

Initiates an email challenge to validate the action of an approver. This endpoint should only be used in end-user custodial payout flows.

## Headers

- `on-behalf-of` string, required

## Request body

- InitiateChallengeRequest
  - `approverId` string, required — Identifier of the Approver who should receive the email challenge
  - `publicKey` string, required — The public key to associate with the email authentication. You can get this from the EndUserCustodialSDK.getPublicKey() method.

## Response `200`

Challenge initiated successfully

- InitiateChallengeResponse
  - `authenticatorId` string, required — The id needed to create an EndUserCustodialSDK session

## Other responses

- `401` — Unauthorized
- `403` — SignedAgreementRequiredException

---

[API](https://skmtc.net/muralpay/apis/mural-api.md) · [All operations](https://skmtc.net/muralpay/apis/mural-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/muralpay/mural-api/revisions/437d277f5948/schema)
