---
title: "Challenge a parked inbound REGISTER with a 401 digest auth request"
method: POST
path: "/sip/registrations/attempts/{id}/challenge"
tags: ["SIP Registrations"]
---

# Challenge a parked inbound REGISTER with a 401 digest auth request

`POST /sip/registrations/attempts/{id}/challenge`

## Request

- Base URL: `http://localhost:8080/v1`
- URL: `http://localhost:8080/v1/sip/registrations/attempts/{id}/challenge`
- Auth: none declared

Targets an inbound REGISTER surfaced via the `sip.registration_attempt` event (by its `attempt_id`). Sends a SIP 401 with a `WWW-Authenticate` digest challenge; the UA's credentialed re-REGISTER is verified against the supplied credential and, on success, bound and answered with 200 OK. Provide either `password` or `ha1`. The attempt must still be parked (it auto-accepts after the consult timeout).

## Request body

- ChallengeRequest
  - `realm` string, required
  - `username` string
  - `password` string
  - `ha1` string
  - `algorithm` string
  - `qop` string[]
  - `max_expires` integer
  - `app_id` string

## Response `202`

401 challenge queued

## Other responses

- `400`: Missing realm/credential
- `404`: Registration attempt not found or already decided

## Changes

- **2026-09-25** `b0c3ad7abb3d`: 1 info
  - added the new optional request property `app_id`
- **2026-07-08** `dd81a8d77dba`: 1 info
  - added the new optional request property `max_expires`
- **2026-07-04** `8e2966a803c8`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/voiceblender/apis/voiceblender-api/changes/sip/registrations/attempts/:id/challenge/post.md)

---

[API](https://skmtc.dev/voiceblender/apis/voiceblender-api.md) - [All operations](https://skmtc.dev/voiceblender/apis/voiceblender-api/llms.txt) - [OpenAPI document](https://skmtc.dev/voiceblender/apis/voiceblender-api/revisions/1c24fcf8873c?raw)
