Skip to main content
POST
Create person rate

Authorizations

X-API-Key
string
header
required

Owner-typed API key (ORGANIZATION, PERSON, VALUE_UNIT). Manage org-scoped lifecycle with /v1/public-api-keys; cross-org governance is restricted to /v1/sys/public-api-keys.

Body

application/json

Create payload for a person rate. Resolve personId via GET /v1/public/people. Resolve currencyUnitId via GET /v1/public/units.

personId
string
required

Id of the person the rate applies to. Resolve via GET /v1/public/people.

Maximum string length: 100
Pattern: \S
Example:

"0f3e8793-4caf-4705-826d-491e25988924"

costRate
number
required

Fully-loaded internal cost per hour (burn-down source).

Required range: x >= 0
Example:

45

billingRate
number
required

External client price per hour (not consumed by budgets).

Required range: x >= 0
Example:

90

currencyUnitId
string
required

Id of the currency unit. Resolve via GET /v1/public/units.

Maximum string length: 100
Pattern: \S
Example:

"7c9e6679-7425-40de-944b-e07fc1f90ae7"

effectiveDate
string<date>
required

Date the rate becomes effective (day-based semantics).

Example:

"2026-01-01"

externalId
string

Optional external system identifier. Must be unique within the organization.

Maximum string length: 255
Example:

"PERSON_RATE_2026_Q1"

Response

Person rate created

id
string
personId
string
personName
string
costRate
number
billingRate
number
currencyUnitId
string
effectiveDate
string<date>
Example:

"2022-03-10"

externalId
string