Modify a Proposal's Policy Line

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Overview

This endpoint manages the association between a proposal and a line of business. If the specified line does not yet exist on the proposal, it is created. If it already exists, the association is left unchanged — no duplicate is created. In either case, the optional lineCompleted query parameter can mark the line's data as finalized or incomplete.

Additionally, any fields provided in the request body are applied as partial updates to the Proposal entity (not the line association), using the same domain mapper as the PATCH: /api/Quotes/Proposals/{id} endpoint. This allows you to ensure a line exists and update related proposal data in a single atomic transaction.

Both operations succeed or fail together. If the proposal field update causes a validation error, the policy line is not added. If the policy line code is invalid, the proposal field updates are rolled back.

Preconditions

  • The proposal must be in a modifiable state. A proposal is not modifiable when:

    • Its status is Bound (B), Rejected (R), or Unapplied (0)
    • The proposal set it belongs to is already bound
    • It has a pending expiry date change endorsement

    If not modifiable, the endpoint returns a failure response with "Proposal cannot be modified.".

  • The policyLineCode must match an existing policy line's DisplayCode. If not, the endpoint returns "Unknown Policy Line Code: <code>".

Examples

Scenario 1: Line does not exist on the proposal. Add it and mark completed. Creates the WC association on proposal 12345 and flags its line-specific data as finalized.

PATCH /api/Quotes/Proposals/12345/PolicyLines/WC?lineCompleted=true
{
  "IsSuccessful": true,
  "RecordID": 12345,
  "Message": "Updated Proposal Policy Line WC with id 12345 successfully.",
  "Warnings": ""
}

Scenario 2: Line already exists on the proposal. Mark it as completed. The WC association already exists, so no new record is created. The existing association's completion status is set to true.

PATCH /api/Quotes/Proposals/12345/PolicyLines/WC?lineCompleted=true
{
  "IsSuccessful": true,
  "RecordID": 12345,
  "Message": "Updated Proposal Policy Line WC with id 12345 successfully.",
  "Warnings": ""
}

Scenario 3: Line does not exist. Add it and mark it incomplete. Creates the WC association and explicitly flags it as incomplete (line-specific data is not yet finalized).

PATCH /api/Quotes/Proposals/12345/PolicyLines/WC?lineCompleted=false
{
  "IsSuccessful": true,
  "RecordID": 12345,
  "Message": "Updated Proposal Policy Line WC with id 12345 successfully.",
  "Warnings": ""
}

Scenario 4: Line already exists. Mark it incomplete. No new association is created. The existing WC line's completion status is set to false.

PATCH /api/Quotes/Proposals/12345/PolicyLines/WC?lineCompleted=false
{
  "IsSuccessful": true,
  "RecordID": 12345,
  "Message": "Updated Proposal Policy Line WC with id 12345 successfully.",
  "Warnings": ""
}

Scenario 5: Line does not exist. Add it without setting completion status. Creates the WC association. Completion status is left unset.

PATCH /api/Quotes/Proposals/12345/PolicyLines/WC
{
  "IsSuccessful": true,
  "RecordID": 12345,
  "Message": "Updated Proposal Policy Line WC with id 12345 successfully.",
  "Warnings": ""
}

Scenario 6: Combine with proposal field updates. Ensures WC exists, marks it completed, and updates the proposal's Premium field.

PATCH /api/Quotes/Proposals/12345/PolicyLines/WC?lineCompleted=true
Content-Type: application/json

{
  "Premium": 15000.00
}
{
  "IsSuccessful": true,
  "RecordID": 12345,
  "Message": "Updated Proposal Policy Line WC with id 12345 successfully.",
  "Warnings": ""
}
Path Params
string
required

The DisplayCode of the PolicyLine (e.g. ISO_AL, ISO_GL) that is going to be operated on.

string
required

The ID of the Proposal that you are going to modify.

Query Params
boolean

If true the Policy Line data will be flagged as completed for this quote.

Body Params
json
required
Defaults to { "Field1": "Value1", "Field2": "Value2" }

A json string passed in the body of the request representing the fields to update. Fields are case sensitive.

Response

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json