---
title: "Create a new Position"
method: POST
path: "/v2/positions"
tags: ["Positions", "exposeAsMcpTool"]
---

# Create a new Position

`POST /v2/positions`

Create a new Position

## Request body

- object
  - `confirmation_message` string — The confirmation message to be sent to applicants
  - `description` string — The description of the position
  - `name` string, required — The name of the position
  - `requirements` string — The requirements of the position
  - `customer_attributes` CustomerAttribute[], nullable — List of customer attributes for the position
    - `value` string, required — Value of the attribute
    - `type` string, required — Human-readable display name of the attribute
    - `key` string, nullable — Machine-readable identifier for the attribute (e.g. JOB_CODE). Optional — not all endpoints that embed customer_attributes populate this field yet (e.g. openings, locations, and location groups currently return only type and value).

## Response `201`

Created

- PositionDetail
  - `account_id` string, required — Unique identifier for the account
  - `confirmation_message` string — The confirmation message to be sent to applicants
  - `description` string — The description of the position
  - `name` string, required — The name of the position
  - `id` string, required — Unique identifier for the position
  - `openings_count` integer, nullable — The number of openings the position is associated to
  - `openings` object[] — List of openings the position is tied to
    - `id` string — Unique identifier for the opening
    - `title` string — The title of the opening
  - `requirements` string — The requirements of the position
  - `customer_attributes` CustomerAttribute[], nullable — List of customer attributes for the position
    - `value` string, required — Value of the attribute
    - `type` string, required — Human-readable display name of the attribute
    - `key` string, nullable — Machine-readable identifier for the attribute (e.g. JOB_CODE). Optional — not all endpoints that embed customer_attributes populate this field yet (e.g. openings, locations, and location groups currently return only type and value).
  - `created_at` string, datetime, required — The date and time the position was created
  - `updated_at` string, datetime, required — The date and time the position was last updated

## Other responses

- `401` — Unauthorized

---

[API](https://skmtc.net/fountain/apis/hire-public-api.md) · [All operations](https://skmtc.net/fountain/apis/hire-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fountain/hire-public-api/versions/5f406c0e9462/schema)
