Skip to main content
POST
/
v1
/
offers
Create an offer
curl --request POST \
  --url https://api.plane.com/v1/offers \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "recipient": {},
  "terms": {},
  "expires": "<string>",
  "metadata": {}
}
'
{
  "recipient": {
    "name": "Jane Smith",
    "email": "jane@example.com"
  },
  "terms": {
    "role": {
      "title": "Software Engineer",
      "responsibilities": "Build and maintain Plane's payroll platform."
    },
    "employment": {
      "starts": "2026-07-15",
      "types": ["employee"],
      "countries": ["US"]
    },
    "compensations": [
      {
        "label": "Base salary",
        "amount": "180000.00",
        "currency": "USD",
        "unit": "year",
        "frequency": "twice_monthly",
        "stock": "10000 stock options"
      }
    ],
    "benefits": [
      {
        "name": "Health insurance",
        "description": "Medical, dental, and vision coverage.",
        "icon": "heart-pulse"
      }
    ]
  },
  "expires": "2026-06-20T23:59:59Z",
  "metadata": {}
}
Create an offer with the proposed recipient and employment terms. The request uses the workspace from the API key or OAuth token. This endpoint creates a draft offer. Use Send an offer after the offer is ready to send. Use an Idempotency-Key header when retrying create requests. See Idempotency. Use an Idempotency-Key header when retrying create requests. See Idempotency.

Parameters

recipient
object
required
Recipient name and email.
terms
object
required
Proposed role, employment constraints, compensations, and benefits.
expires
string
Offer expiration timestamp.
metadata
object
Set of key-value pairs to attach to the offer.

Returns

Returns the created Offer object.
{
  "recipient": {
    "name": "Jane Smith",
    "email": "jane@example.com"
  },
  "terms": {
    "role": {
      "title": "Software Engineer",
      "responsibilities": "Build and maintain Plane's payroll platform."
    },
    "employment": {
      "starts": "2026-07-15",
      "types": ["employee"],
      "countries": ["US"]
    },
    "compensations": [
      {
        "label": "Base salary",
        "amount": "180000.00",
        "currency": "USD",
        "unit": "year",
        "frequency": "twice_monthly",
        "stock": "10000 stock options"
      }
    ],
    "benefits": [
      {
        "name": "Health insurance",
        "description": "Medical, dental, and vision coverage.",
        "icon": "heart-pulse"
      }
    ]
  },
  "expires": "2026-06-20T23:59:59Z",
  "metadata": {}
}