---
title: "Create a new Factor for the Entity"
method: POST
path: "/v2/Services/{ServiceSid}/Entities/{Identity}/Factors"
tags: ["VerifyV2NewFactor"]
---

# Create a new Factor for the Entity

`POST /v2/Services/{ServiceSid}/Entities/{Identity}/Factors`

Create a new Factor for the Entity

## Path parameters

- `ServiceSid` string, required
- `Identity` string, required

## Response `201`

Created

- VerifyV2ServiceEntityNewFactor
  - `sid` string, nullable — A 34 character string that uniquely identifies this Factor.
  - `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 Factor. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.
  - `binding` unknown
  - `options` unknown
  - `date_created` string, date-time, nullable — The date that this Factor was created, given in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `date_updated` string, date-time, nullable — The date that this Factor was updated, given in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `friendly_name` string, nullable — The friendly name of this Factor. This can be any string up to 64 characters, meant for humans to distinguish between Factors. For `factor_type` `push`, this could be a device name. For `factor_type` `totp`, this value is used as the “account name” in constructing the `binding.uri` property. At the same time, we recommend avoiding providing PII.
  - `status` 'unverified' | 'verified' — The Status of this Factor. One of `unverified` or `verified`.
  - `factor_type` 'push' | 'totp' | 'passkeys' — The Type of this Factor. Currently `push` and `totp` are supported.
  - `config` unknown
  - `metadata` unknown
  - `url` string, uri, nullable — The URL of this resource.

## Changes

- **2025-08-18** (v2) `3fd4376faab5` — 1 warning, 2 info
  - added the new `passkeys` enum value to the `factor_type` response property for the response status `201`
  - added the new `passkeys` enum value to the request property `FactorType`
  - added the optional property `options` to the response with the `201` status
- **2025-07-03** (v2) `1548692e6804` — 3 breaking, 1 info
  - the `binding` response's property type changed from `object` to no type for status `201`
  - the `config` response's property type changed from `object` to no type for status `201`
  - the `metadata` response's property type changed from `object` to no type for status `201`
  - the `Metadata` request property type was generalized from `object` to no type
- **2025-03-11** (v2) `43e0e113369c` — 4 breaking
  - the `Metadata` request property type changed from no type to `object`
  - the `binding` response's property type changed from no type to `object` for status `201`
  - the `config` response's property type changed from no type to `object` for status `201`
  - the `metadata` response's property type changed from no type to `object` for status `201`
- **2023-08-10** (v2) `fb6ded97d73f` — 1 info
  - api tag `VerifyV2NewFactor` added

[Change history](https://skmtc.dev/twilio/apis/verify-v2/changes/v2/Services/:ServiceSid/Entities/:Identity/Factors/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)
