API REFERENCE

Client Contract Lines API

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.

Assign a line

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
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
  }'

Read and unassign

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.

Endpoints

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