---
title: "Cancel a policy according to its id."
method: POST
path: "/sales/v2/individual/travel/policies/{policy_id}/cancel"
---

# Cancel a policy according to its id.

`POST /sales/v2/individual/travel/policies/{policy_id}/cancel`

## Request

- Base URL: `https://sandbox.api.axapartners.com`
- URL: `https://sandbox.api.axapartners.com/sales/v2/individual/travel/policies/{policy_id}/cancel`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `https://sandbox.auth.api.axapartners.com/oauth/token` scopes: `urn:axa.partners.sales.individual.travel.policies.write`

Cf. summary

## Path parameters

- `policy_id` string, required

## Headers

- `accept-language` string

## Request body

- object
  - `cancellation_date` string, date, required: Date when policy cancellation should be effective - ISO 8601 format (YYYY-MM-DD).
  - `cancellation_reason` 'COOLING_OFF_PERIOD' | 'CREDIT_CARD_REJECTED' | 'DECEASED_BENEFICIARY' | 'DECEASED_POLICY_HOLDER' | 'DISPUTED' | 'DUPLICATE_PURCHASE' | 'END_OF_CONTRACT' | 'EXTRAORDINARY_TERMINATION_AFTER_CLAIM' | 'MOVING_RESIDENCE_ABROAD' | 'NON_PAYMENT' | 'NO_REASON' | 'OTHER_REASON' | 'POLICY_SUBSTITUTION' | 'SPECIFIC_BENEFITS' | 'TRIP_CANCELLATION' | 'VISA_DECLINED': Reason for policy cancellation: - COOLING_OFF_PERIOD: When the service hasn't started yet and the client wants to cancel its service (when he may have found a better offer elsewhere for instance). Source of cancellation: NA - CREDIT_CARD_REJECTED: The policy has been cancelled because of the credit card got rejected. - DECEASED_BENEFICIARY: The beneficiary has passed away. - DECEASED_POLICY_HOLDER: The policy holder has passed away. - DISPUTED: When the requested service is not the same as the one that must be delivered after the provider's investigation. Source of cancellation: NA - DUPLICATE_PURCHASE: The policy has been cancelled because it is a duplicate of another policy. - END_OF_CONTRACT: The policy has cancelled because the contract has ended. - EXTRAORDINARY_TERMINATION_AFTER_CLAIM: Extraordinary termination after a claim has been submitted. - MOVING_RESIDENCE_ABROAD: The policy holder is moving residence abroad. - NON_PAYMENT: The policy has been cancelled because of non payment. - NO_REASON: No specified reason. Source of cancellation: Customer - OTHER_REASON: The policy has been cancelled for other reason. - POLICY_SUBSTITUTION: Policy substitution applies to a policy that is being cancelled because it will be replaced for a new one, upgrading the coverages of the previous one. - SPECIFIC_BENEFITS: Exceptional cancellation cases that must be defined with the partner Source of cancellation: NA - TRIP_CANCELLATION: Trip has been cancelled. - VISA_DECLINED: The VISA (need to enter some countries) has been declined by the country.
  - `cancellation_sub_reason` 'CHANGE_OF_MIND' | 'DOES_NOT_MEET_NEEDS' | 'DUPLICATE_PURCHASE' | 'FOUND_A_BETTER_PRICE' | 'OTHER_REASON' | 'PREFERENCE_FOR_ANOTHER_PRODUCT' | 'TRAVEL_PLANS_CANCELLED' | 'TRAVEL_PLANS_CHANGED': Secondary reason for policy cancellation: - CHANGE_OF_MIND: When the customer has changed their plan. - DOES_NOT_MEET_NEEDS: The policy does not cover the current needs. - DUPLICATE_PURCHASE: The policy has been cancelled because it is a duplicate of another policy. - FOUND_A_BETTER_PRICE: When the customer has found their needs at a better price. - OTHER_REASON: The policy has been cancelled for other reason. - PREFERENCE_FOR_ANOTHER_PRODUCT: When the customer has a preference for another product. - TRAVEL_PLANS_CANCELLED: When the customer's travel has been cancelled. - TRAVEL_PLANS_CHANGED: When the customer's plans have changed.

## Response `200`

Policy successfully cancelled.

- object
  - `refund_amount` object: The refund amount for the policy.
    - `value` number, required: Amount, numeric, with 2 or 3 decimals.
    - `currency` string, required: Currency of the amount. ISO 4217 format (3 letter code).
  - `coverage_end_date` string, date, required: End date of policy coverage - ISO 8601 format (YYYY-MM-DD).

## Other responses

- `400`: Bad Request.
- `401`: Unauthorized. The identity of the caller has not been definitely confirmed (invalid issuer, expired token, ...)
- `403`: Forbidden. The identity of the caller is confirmed, however the required access grants are not met (missing scope, unknown client_id, ...)
- `404`: Not found. The server did not find a current representation for the searched resource.
- `default`: Default response format.

## Changes

- **2026-10-14** `700f7054c1d2`: 1 info
  - added the new optional request property `cancellation_sub_reason`
- **2026-08-06** `efe32b811f1d`: 8 info
  - added the new `CREDIT_CARD_REJECTED` enum value to the request property `cancellation_reason`
  - added the new `DECEASED_POLICY_HOLDER` enum value to the request property `cancellation_reason`
  - added the new `DUPLICATE_PURCHASE` enum value to the request property `cancellation_reason`
  - added the new `END_OF_CONTRACT` enum value to the request property `cancellation_reason`
  - …4 more

[Operation history](https://skmtc.dev/axa-assistance/apis/axa-assistance-travel-api/changes/sales/v2/individual/travel/policies/:policy_id/cancel/post.md)

---

[API](https://skmtc.dev/axa-assistance/apis/axa-assistance-travel-api.md) - [All operations](https://skmtc.dev/axa-assistance/apis/axa-assistance-travel-api/llms.txt) - [OpenAPI document](https://skmtc.dev/axa-assistance/apis/axa-assistance-travel-api/revisions/700f7054c1d2?raw)
