---
title: "Initiate Signature Challenge"
method: POST
path: "/api/agreement/v1/contract-revisions/{id}/signatures/{slotCode}/otp-challenges"
tags: ["Contract Revisions"]
---

# Initiate Signature Challenge

`POST /api/agreement/v1/contract-revisions/{id}/signatures/{slotCode}/otp-challenges`

Initiates a challenge for a specific signature slot of a specific contract revision.

## Path parameters

- `id` string, uuid, required
- `slotCode` 'DATA_CONSUMER_01' | 'DATA_CONSUMER_02' | 'DATA_PROVIDER_01' | 'DATA_PROVIDER_02', required

## Query parameters

- `actingRole` 'CONSUMER' | 'PROVIDER'

## Response `200`

OK

- OtpChallengeDto
  - `challengeId` string, uuid
  - `expiresAt` string, date-time
  - `maskedPhoneNumber` string — Masked phone number
  - `retryAfterSeconds` integer — Number of remaining attempts

## Other responses

- `401` — Not Authorized
- `403` — Not Allowed
- `404` — The resource or element was not found
- `500` — Internal server error: unexpected error

---

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