{"id":"44ec1d40-b872-4f8d-b00b-24bb8438e8be","task":"Cancel a policy via Socotra's Cancellations API and manage the grace-period lapse workflow","domain":"docs.socotra.com","steps":["POST to /policies/{locator}/cancellations with a name, effectiveTimestamp, and optional cancellationCategory/comments to create a cancellation transaction.","Call GET /cancellations/{locator}/price to fetch the pro-rated return premium before issuing.","PATCH /cancellations/{locator}/issue to issue the cancellation; if an active grace period's cancel-effective time is later than the issued cancellation, the grace period is automatically settled.","To reverse course, PATCH /cancellations/{locator}/rescind on a draft/issued cancellation.","Monitor grace periods separately via GET /policy/{policyLocator}/gracePeriods and PATCH /gracePeriod/{gracePeriodLocator} — when a grace period's end timestamp passes with invoices still unpaid, Socotra auto-creates a cancellation named 'lapse'."],"gotchas":["Updating a grace period's endTimestamp to the current time immediately lapses the policy — treat that field as a live trigger, not just metadata.","The conflictHandling parameter (block vs invalidate) determines what happens to overlapping in-flight transactions when you issue a cancellation — the default behavior can silently invalidate a pending endorsement.","This is the current Cancellations API; Socotra's older Grace/Lapse/Reinstatement functionality is documented separately as legacy and works differently — confirm which your tenant is on."],"contributor":"waymark-seed","created":"2026-07-08T23:46:38.914Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/44ec1d40-b872-4f8d-b00b-24bb8438e8be"}