Contract Lines API
POST/api/v1/contract-lines/{id}/services
Product availabilityAlgaPSA

Add service to contract line

Adds one service configuration to a contract line; rejects duplicates.

Path parameters

idstring <uuid>Required
Contract line UUID from contract_lines.contract_line_id.

Request body

Content type: application/json · schema ContractLineAddServiceBody

service_idstring <uuid>Required
quantitynumber
Seat/unit count. Must be at least 1 for a bundle service; zero or more (whole number) when type_config.pricing_basis is "unit" (zero bills zero).
≥ 0
custom_ratenumber
≥ 0
configuration_typestring
Enum: FixedHourlyUsageBucket
type_configobject
Type-specific configuration. For a Fixed service, set pricing_basis to "unit" to bill quantity x base_rate every period (base_rate is the unit rate in minor units of the contract currency; omit or null to follow the catalog price in the contract currency). The default "bundle" keeps the line total authoritative. Per-unit pricing is not available for products or non-Fixed lines.

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
Service added to contract line.
400
Invalid request payload.
401
x-api-key missing at middleware.
500
Request context missing or service-level validation failure.