---
title: "Create a rate card"
method: POST
path: "/rate-cards"
tags: ["rate-cards"]
---

# Create a rate card

`POST /rate-cards`

## Request

- Base URL: `https://api.onplana.com/api`
- URL: `https://api.onplana.com/api/rate-cards`
- Auth: one of:
  - HTTP bearer
  - API key in header `Authorization`

Either `userId` or `role` should be provided to scope the rate. A global fallback rate can omit both.

## Headers

- `X-Organization-Id` string, required

## Request body

- object
  - `userId` string, uuid, nullable
  - `role` string, nullable
  - `ratePerHour` number, required
  - `currency` string: ISO 4217 currency code

## Response `201`

Rate card created

## Other responses

- `400`: Validation error
- `401`: Unauthorized - missing or invalid JWT
- `403`: Forbidden - insufficient role

---

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