Skip to main content
POST
Request Cancellation
Create a cancellation endorsement, then approve that exact transaction with Approve Cancellation. Keep transportation_submission_id, the immutable endorsement ID returned by the request, alongside transaction_id.

Dates and reason defaults

Send request dates as MM/DD/YYYY. effective_date_transaction is required; separate AL and Workers’ Comp dates are optional. Supplied dates must be within the policy term. When request-reason intake is enabled, supplied cancellation_reason and internal_cancellation_reason must be valid nonempty reason-code arrays. When intake is disabled, these fields retain the legacy behavior: they are ignored, including scalar, empty-array, and unknown-key extras. Enabling approval enforcement alone does not enable request intake. When reason-aware request intake is enabled, the external reason chooses the state notice rule from the request day. Non-payment reasons use the non-payment rule; other cancellation reasons that require the statutory minimum use the underwriting rule. The minimum can lengthen an earlier date and preserves a later requested date. Applicable WC dates are also checked when the reason cancels WC. A whole-policy cancellation whose reasons contain only insured_broker_request has no statutory notice minimum. Legacy courtesy/carrier documents, emails, and filing work can still occur. Its metadata reports notice_minimum_required: false, floor_days: null, and minimum_date: null. Applicable dates must still be present and within the policy term. Mixed or unknown reason sets use the conservative notice rule. Partial cancellations that generate a NOC still apply the minimum, including insured-requested partial cancellations. The supplied reasons become approval defaults only when request intake is enabled. Approval can supply a different external reason, which wins and is re-evaluated from the approval day when approval enforcement is enabled. Continue supplying the final reason at approval for compatibility across rollout configurations. See cancellation rollout and final dates. An authorized historical correction can supply cancellation_back_date_reason. For Other, also supply nonblank string cancellation_back_date_reason_other. PAS stores Other - <trimmed details> and validates the complete justification at no more than 255 UTF-8 characters before creating the endorsement. Exactly 255 characters is valid; invalid or longer proof returns field-validation 422 without creating a cancellation. The recorded historical justification matches the saved text. These fields grant no backdating authority; existing permissions and valid policy-term dates still apply.

Stored response dates

The response adds ISO YYYY-MM-DD fields for the dates actually stored by PAS: effective_date_transaction, effective_date_transaction_al, and effective_date_transaction_wc. A null value can reflect a line outside this cancellation or an unavailable stored date. Use coverage context and the decision’s wc_action to determine whether WC is canceled, retained, or not applicable. Keep the original request as provenance and read the dates again after approval. cancellation_notice describes a recorded rule evaluation or an advisory proposal. Its phase, date_role, and enabled apply to that evaluation. Its proposed dates and minimum_date can differ from the top-level stored dates, especially while enforcement is disabled. Use the stored dates for notices and lifecycle clocks, and PAS’s final premium values after approval.

Manual review

With enforcement enabled, an unresolved rule, missing applicable date, incomplete term, or notice minimum after policy expiration returns HTTP 422 with reason_code: cancellation_notice_manual_review. The response’s error and cancellation_notice.hold_reason explain the hold. Review it with Cover Whale; the API does not clamp the notice minimum to expiration. A validation failure can also return 422 with field-level errors.

Authorizations

AccessToken
string
header
required

JWT returned as AccessToken by the /authentication endpoint (the Cognito ID token carrying the email claim). It expires after 3600 seconds.

Headers

AccessToken
string
required

Path Parameters

displayId
string
required

Submission display ID

Body

application/json
effective_date_transaction
string
required

Requested general cancellation date (MM/DD/YYYY), within the policy term. Read actual stored dates from the response and again after approval.

Example:

"03/01/2026"

effective_date_transaction_al
string | null

Optional separate requested AL cancellation date (MM/DD/YYYY), within the policy term. A missing applicable date can require manual review under enforcement.

Example:

"03/01/2026"

effective_date_transaction_wc
string | null

Optional separate requested Workers' Comp cancellation date (MM/DD/YYYY), within the policy term. Applicable WC dates are checked when the reason cancels WC.

Example:

"03/01/2026"

cancellation_reason
string[] | null

Optional valid external reason codes. Reason-aware request intake retains these as approval defaults and uses them to choose the notice rule. An explicit approval reason overrides the stored default.

Minimum array length: 1
Example:
internal_cancellation_reason
string[] | null

Optional valid internal reason codes, retained on the request when reason-aware intake is enabled.

Minimum array length: 1
cancellation_back_date_reason
string | null

Historical correction justification for an authorized actor. Other requires cancellation_back_date_reason_other. PAS validates the complete normalized justification at no more than 255 UTF-8 characters before creating the endorsement; these fields grant no backdating authority.

cancellation_back_date_reason_other
string | null

Required nonblank string details when cancellation_back_date_reason is Other. The stored value is Other - ; its complete normalized length must be at most 255 UTF-8 characters. The historical decision receipt retains the same full text.

Response

Cancellation request created

status
string
Example:

"success"

submission_number
string
transaction_id
integer
cancellation_status
string
transportation_submission_id
integer

Immutable cancellation endorsement row ID. Keep it alongside transaction_id, which can be reused.

effective_date_transaction
string<date> | null

Actual persisted general cancellation date (YYYY-MM-DD). Use final approval dates for notices and lifecycle clocks.

effective_date_transaction_al
string<date> | null

Actual persisted AL cancellation date (YYYY-MM-DD), or null if no stored date is available. Determine applicability from coverage context.

effective_date_transaction_wc
string<date> | null

Actual persisted WC cancellation date (YYYY-MM-DD) when wc_action is cancel; otherwise null. Determine applicability from coverage context and the decision.

cancellation_notice
object

Persisted notice-rule decision or request history; otherwise an advisory preview. Properties vary by phase and hold. Actual persisted dates are the top-level response fields.