---
title: "Request a challenge to sign for one address of the pair."
method: POST
path: "/v1/associations/{id}/challenge"
tags: ["Associations"]
---

# Request a challenge to sign for one address of the pair.

`POST /v1/associations/{id}/challenge`

## Request

- Base URL: `https://api.fidren.net`
- URL: `https://api.fidren.net/v1/associations/{id}/challenge`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Returns a single-use nonce and the exact text to sign. This is a message signature, never a transaction: it moves no funds and authorises nothing else. Issued for either end of the pair whether or not Fidren holds a record for it, so the endpoint cannot be used to learn which addresses are on file.

## Path parameters

- `id` string, required

## Request body

- AssociationChallengeRequest
  - `address` string, required: Which of the two addresses this association names is about to sign.

## Response `201`

A challenge to sign.

- AssociationChallenge
  - `nonce` string, required
  - `message` string, required: The exact text to sign, built server-side so issuance and checking cannot drift apart. Deliberately different text from the dispute channel's: a signature is consent to what the message says, and one given to exercise a right of reply must not be replayable here.
  - `format` string, required: The version of the signed message format. Stated because the bytes are a compatibility surface once they leave here: a signature can only be checked against the exact text that produced it.
  - `expires_at` string, date-time, required
  - `instructions` string, required

## Other responses

- `400`: The request was rejected by validation.
- `401`: No usable access path. Either a key was presented and is not valid, or no key was presented, the free allowance is spent, and x402 charging is off. A presented key never falls back to the free tier or to being charged.
- `403`: The API key is valid, but its organization is not currently permitted to make this request. Do not rotate the key: it is not the problem.
- `404`: No such resource.
- `429`: Rate limit exceeded. Retry after the number of seconds in `Retry-After`.
- `503`: A required dependency is unavailable. Safe to retry.

---

[API](https://skmtc.dev/fidren/apis/fidren-decision-api.md) · [All operations](https://skmtc.dev/fidren/apis/fidren-decision-api/llms.txt) · [OpenAPI document](https://skmtc.dev/fidren/apis/fidren-decision-api/revisions/d4b4dafcb345?raw)
