---
title: "Create a Passkeys Challenge"
method: POST
path: "/v2/Services/{ServiceSid}/Passkeys/Challenges"
tags: ["VerifyV2NewChallenge"]
---

# Create a Passkeys Challenge

`POST /v2/Services/{ServiceSid}/Passkeys/Challenges`

Create a Passkeys Challenge

## Path parameters

- `ServiceSid` string, required

## Request body

- object
  - `identity` string
  - `factor_sid` string

## Response `201`

Created

- object
  - `sid` string, nullable — A 34 character string that uniquely identifies this Challenge.
  - `account_sid` string, nullable — The unique SID identifier of the Account.
  - `service_sid` string, nullable — The unique SID identifier of the Service.
  - `entity_sid` string, nullable — The unique SID identifier of the Entity.
  - `identity` string, nullable — Customer unique identity for the Entity owner of the Challenge.
  - `factor_sid` string, nullable — The unique SID identifier of the Factor.
  - `date_created` string, date-time, nullable — The date that this Challenge was created, given in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `date_updated` string, date-time, nullable — The date that this Challenge was updated, given in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `date_responded` string, date-time, nullable — The date that this Challenge was responded, given in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `expiration_date` string, date-time, nullable — The date-time when this Challenge expires, given in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `status` 'pending' | 'expired' | 'approved' | 'denied' — The Status of this Challenge. One of `pending`, `expired`, `approved` or `denied`.
  - `responded_reason` 'none' | 'not_needed' | 'not_requested' — Reason for the Challenge to be in certain `status`. One of `none`, `not_needed` or `not_requested`.
  - `details` unknown
  - `hidden_details` unknown
  - `metadata` unknown
  - `factor_type` 'push' | 'totp' | 'passkeys' — The Factor Type of this Challenge. Currently `push` and `totp` are supported.
  - `url` string, uri, nullable — The URL of this resource.
  - `links` object, nullable — Contains a dictionary of URL links to nested resources of this Challenge.
  - `options` object — An object that contains challenge options. Currently only used for `passkeys`.

## Changes

- **2025-09-18** (v2) `017bfea2e290` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/twilio/apis/verify-v2/changes/v2/Services/:ServiceSid/Passkeys/Challenges/post.md)

---

[API](https://skmtc.dev/twilio/apis/verify-v2.md) · [All operations](https://skmtc.dev/twilio/apis/verify-v2/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/twilio/verify-v2/revisions/995c3e7a8bfb/schema)
