---
title: "Create a path step"
method: POST
path: "/api/v2/path_steps"
tags: ["Path Steps"]
---

# Create a path step

`POST /api/v2/path_steps`

## Request

- Base URL: `https://yournation.nationbuilder.com`
- URL: `https://yournation.nationbuilder.com/api/v2/path_steps`
- Auth: HTTP bearer

Creates a path step from given data. If the position you specify is already taken by another step on
                  the path, your step will be placed at that position and that step and the steps following will be
                  re-ordered. If you do not specify a position, the step will be auto-assigned to the last position in
                  the list of path steps for the related path.

## Request body

- PathStepCreateRequest: The JSON:API top-level document shape for create requests, whose data member carries the new resource's type and attributes.
  - `data` object, required
    - `type` 'path_steps', required: The JSON:API resource type of the resource being created.
    - `attributes` PathStepReadWriteAttributes: The attributes of a path_step that can be both read and written.
      - `default_due_date_interval` 'none' | 'same_day' | 'one_day' | 'two_day' | 'three_day' | 'four_day' | 'five_day' | 'six_day' | 'one_week' | 'two_week' | 'thirty_day' | 'two_month' | 'three_month' | 'six_month' | 'one_year' | 'null', nullable: The default amount of time the step is due after being started.
      - `default_point_person_id` string, nullable: The default point person.
      - `name` string, nullable: Name of the step.
      - `path_id` string, nullable: The path the step is assigned to.
      - `position` integer, nullable: The position in the path the step belongs to.

## Response `201`

The newly created path step.

- PathStepShowResponse: The JSON:API top-level document shape for responses returning a single resource under the data member.
  - `data` object, required: A JSON:API resource identifier object, the type/id pair that uniquely identifies a single resource.
    - `id` string, required: Unique identifier of the resource.
    - `type` 'path_steps', required: The JSON:API resource type.
    - `attributes` object: The read-only attributes of a path_step.
      - `default_due_date_interval` 'none' | 'same_day' | 'one_day' | 'two_day' | 'three_day' | 'four_day' | 'five_day' | 'six_day' | 'one_week' | 'two_week' | 'thirty_day' | 'two_month' | 'three_month' | 'six_month' | 'one_year' | 'null', nullable: The default amount of time the step is due after being started.
      - `default_point_person_id` string, nullable: The default point person.
      - `name` string, nullable: Name of the step.
      - `path_id` string, nullable: The path the step is assigned to.
      - `position` integer, nullable: The position in the path the step belongs to.
      - `created_at` string, date-time
      - `updated_at` string, date-time
  - `included` Resource[]: Sideloaded resources requested via the include query parameter. Each entry is a full resource object whose shape is documented under its own resource type.
    - `id` string, required: Unique identifier of the resource.
    - `type` string, required: The JSON:API resource type.
    - `attributes` object: The attributes of the resource, as documented for its resource type.
    - `relationships` object: References from this resource to other resources in the document.
  - `meta` object: Non-standard information about the document. Empty unless the endpoint has metadata to convey.

## Other responses

- `400`: The request body or query parameters are invalid, such as an unknown attribute, filter, filter operator, sort field, or sideload.
- `401`: The access token is missing, expired, or not authorized to access this resource.
- `422`: Model validations failed for the resource being created or updated. Unlike this API's other errors, validation failures are returned as a JSON:API errors document locating each invalid field.
- `429`: The access token has exceeded its request quota for the current rate-limit window.

## Changes

- **2026-11-05** `d5c88ca497ac`: 4 breaking, 1 warning, 7 info
  - added `#/components/schemas/create_request_document, subschema #2` to the request body `allOf` list
  - the request's body type changed from `object` to no type
  - the response's body type changed from `object` to no type for status `201`
  - removed the required property `data` from the response with the `201` status
  - …8 more

[Operation history](https://skmtc.dev/nationbuilder/apis/nationbuilder-v2-api/changes/api/v2/path_steps/post.md)

---

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