A client contract line is the join between a client and a contract line: the record that says “this client is billed for this line, starting on this date.” You define the line itself in the Contract Lines API; here you assign it to a client and, optionally, give that client its own rate.
POST /client-contract-lines needs three things: client_id, contract_line_id, and a start_date. Leave custom_rate out to bill at the line's own rate, or set it to charge this one client differently. end_date bounds the assignment; omit it for an open-ended one.
curl https://algapsa.com/api/v1/client-contract-lines \
-H "X-API-Key: $ALGA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"client_id": "cl_3f9a2c",
"contract_line_id": "ln_managed_workstation",
"start_date": "2026-07-01",
"custom_rate": 4500
}'GET /client-contract-lines returns the assignments, which you can filter down to one client. To end a line for a client, delete the assignment by its ID with DELETE /client-contract-lines/{id} — that removes the link, not the underlying contract line, which stays available for other clients.
Every endpoint links through to its full parameters, request and response schemas, and code samples.
GET/api/v1/client-contract-linesAlgaPSAList client contract linesPOST/api/v1/client-contract-linesAlgaPSAAssign contract line to clientDELETE/api/v1/client-contract-lines/{id}AlgaPSAUnassign contract line from client