API reference · Contract Lines
POST/api/v1/contract-lines

Create contract line

Creates a contract line row in contract_lines. Validation uses createContractLineSchema (including overtime/after-hours constraints). ID is generated by service with uuidv4. Route currently relies on request context presence and can fail when context is unavailable.

Request body

Content type: application/json · schema ContractLineBody

contract_line_namestringRequired
min length 1 · max length 255
billing_frequencystringRequired
Enum: weeklybi-weeklymonthlyquarterlysemi-annuallyannually
is_customboolean
service_categorystring
contract_line_typestringRequired
Enum: FixedHourlyUsage
cadence_ownerstring
Enum: clientcontract
hourly_ratenumber
≥ 0
minimum_billable_timenumber
≥ 0
round_up_to_nearestnumber
≥ 1
enable_overtimeboolean
overtime_ratenumber
≥ 0
overtime_thresholdnumber
≥ 0
enable_after_hours_rateboolean
after_hours_multipliernumber
≥ 0
is_activeboolean
featuresarray of string
itemsstring
location_idstring <uuid>Nullable

Response body

Success response 201 · schema ContractLineApiSuccess

successbooleanRequired
Enum: true
dataanyOfRequired
anyOf (option 1)object
anyOf (option 2)array of object
itemsobject
metaobject
timestampstring <date-time>Required
versionstringRequired

Response codes

201
Contract line created.
400
Invalid request payload.
401
x-api-key missing at middleware.
500
Request context missing or unhandled service failure.