Skip to main content
POST
/
v1
/
positions
Create a position
curl --request POST \
  --url https://api.plane.com/v1/positions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "plan": "<string>",
  "location": {},
  "employer": {},
  "starts": "<string>",
  "ends": "<string>",
  "compensation": {}
}
'
{
  "name": "Canada employee hire",
  "plan": "wfp_R8mK2pQ9xL4s",
  "location": { "country": "CA", "subdivision": "ON" },
  "employer": { "type": "employee" },
  "starts": "2026-09-01",
  "compensation": {
    "amount": "120000.00",
    "currency": "CAD",
    "unit": "year",
    "basis": "regular",
    "frequency": "monthly",
    "source": { "type": "manual" }
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.plane.com/llms.txt

Use this file to discover all available pages before exploring further.

Use positions as the rows inside a workforce plan. Employee positions include payroll-backed employment costs; contractor positions include contractor pay.

Parameters

name
string
Optional display name for the planned seat.
plan
string
Workforce plan ID.
location
object
required
Position location.
employer
object
required
Employer model for the position. Supported types are employee and contractor.
starts
string
required
Position start date.
ends
string
Position end date.
compensation
object
required
Compensation input for the position.

Returns

Returns the created Position object.
{
  "name": "Canada employee hire",
  "plan": "wfp_R8mK2pQ9xL4s",
  "location": { "country": "CA", "subdivision": "ON" },
  "employer": { "type": "employee" },
  "starts": "2026-09-01",
  "compensation": {
    "amount": "120000.00",
    "currency": "CAD",
    "unit": "year",
    "basis": "regular",
    "frequency": "monthly",
    "source": { "type": "manual" }
  }
}