---
title: "Schedule a future requirement version"
method: POST
path: "/requirements/{id}/versions"
tags: ["Requirements"]
---

# Schedule a future requirement version

`POST /requirements/{id}/versions`

## Request

- Base URL: `https://api.telnyx.com/v2`
- URL: `https://api.telnyx.com/v2/requirements/{id}/versions`
- Auth: HTTP bearer

Create a new pending version of a requirement with a future effective start date. Only one pending version may exist per requirement at a time.

## Path parameters

- `id` string, uuid, required

## Request body

- CreateRequirementVersionRequest
  - `effective_start_at` string, date-time, required: ISO 8601 formatted date-time indicating when the new version should become active. Must be a future date-time.
  - `requirement_type_ids` string[], required: List of requirement type UUIDs that apply to the new version. Replaces the existing requirement types for the new version.

## Response `201`

Pending version created successfully

- object
  - `data` DocReqsRequirement
    - `record_type` string: Identifies the type of the resource.
    - `country_code` string: The 2-character (ISO 3166-1 alpha-2) country code where this requirement applies
    - `locality` string: The locality where this requirement applies
    - `phone_number_type` 'local' | 'mobile' | 'multipurpose' | 'national' | 'shared_cost' | 'toll_free': Indicates the phone_number_type this requirement applies to. Leave blank if this requirement applies to all number_types.
    - `action` 'both' | 'branded_calling' | 'ordering' | 'porting': Indicates whether this requirement applies to branded_calling, ordering, porting, or both ordering and porting
    - `requirement_types` DocReqsRequirementType[]: Lists the requirement types necessary to fulfill this requirement
      - `acceptance_criteria` object: Specifies objective criteria for acceptance
        - `time_limit` string: Specifies time-based acceptance criteria
        - `locality_limit` string: Specifies geography-based acceptance criteria
        - `acceptable_values` string[]: Specifies the list of strictly possible values for the requirement. Ignored when empty
        - `max_length` integer: Maximum length allowed for the value
        - `min_length` integer: Minimum length allowed for the value
        - `acceptable_characters` string: Specifies the allowed characters as a string
      - `description` string: Describes the requirement type
      - `example` string: Provides one or more examples of acceptable documents
      - `type` 'document' | 'address' | 'textual': Defines the type of this requirement type
      - `name` string: A short descriptive name for this requirement_type
      - `record_type` string: Identifies the type of the resource
      - `id` string, uuid: Identifies the associated document
      - `created_at` string: ISO 8601 formatted date-time indicating when the resource was created.
      - `updated_at` string: ISO 8601 formatted date-time indicating when the resource was last updated.
    - `id` string, uuid: Identifies the associated document
    - `created_at` string: ISO 8601 formatted date-time indicating when the resource was created.
    - `updated_at` string: ISO 8601 formatted date-time indicating when the resource was last updated.
    - `version` integer: Version number. Increments with each new version. Defaults to 1.
    - `effective_start_at` string, date-time, nullable: When this version became (or will become) active.
    - `effective_end_at` string, date-time, nullable: When this version was superseded. NULL means this is the active or pending version.

## Other responses

- `404`: Resource not found
- `422`: Unprocessable entity. Check the 'detail' field in response for details.
- `default`: Unexpected error

## Changes

- **2026-10-21** `67df31283a8a`: 3 breaking, 3 info
  - the `errors/items/code` response's property type changed from `integer` to `string`, and format from `int32` to no format for status `404`
  - the `errors/items/code` response's property type changed from `integer` to `string`, and format from `int32` to no format for status `422`
  - the `errors/items/code` response's property type changed from `integer` to `string`, and format from `int32` to no format for status `default`
  - added the optional property `errors/items/description` to the response with the `404` status
  - …2 more
- **2026-10-15** `a72569d69430`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/team-telnyx/apis/telnyx-api/changes/requirements/:id/versions/post.md)

---

[API](https://skmtc.dev/team-telnyx/apis/telnyx-api.md) - [All operations](https://skmtc.dev/team-telnyx/apis/telnyx-api/llms.txt) - [OpenAPI document](https://skmtc.dev/team-telnyx/apis/telnyx-api/revisions/0f17b8167873?raw)
