---
title: "Add cancellation policies"
method: POST
path: "/api/connector/v1/cancellationPolicies/add"
tags: ["Cancellation policies"]
---

# Add cancellation policies

`POST /api/connector/v1/cancellationPolicies/add`

Adds one or more cancellation policies to the specified enterprise. This operation supports [Portfolio Access Tokens](https://mews-systems.gitbook.io/connector-api/concepts/multi-property/).

## Request body

- MultipleCancellationPolicyAddParameters
  - `ClientToken` string, required — Token identifying the client application.
  - `AccessToken` string, required — Access token of the client application.
  - `Client` string, required — Name and version of the client application.
  - `EnterpriseId` string, uuid, nullable — Unique identifier of the enterprise. Required when using [Portfolio Access Tokens](https://mews-systems.gitbook.io/connector-api/concepts/multi-property), ignored otherwise.
  - `CancellationPolicies` CancellationPolicyAddParameters[], required — Parameters of the new cancellation policies to be created.
    - `Applicability` 'Creation' | 'Start' | 'StartDate', required — Applicability mode of the cancellation policy. Creation Start StartDate
    - `FeeExtents` CancellationFeeExtentEnum[], required — Extent for the cancellation fee, i.e. what should be in scope for the automatic payment.
    - `ApplicabilityOffset` string, nullable — Offset from which the fee is applied in ISO 8601 duration format. Defaults to zero when not provided.
    - `FeeMaximumTimeUnits` integer, nullable — Maximum number of time units the cancellation fee is applicable to.
    - `AbsoluteFee` CurrencyValue, required — Absolute value of the fee.
      - `Currency` string, currency, required — ISO-4217 code of the `Currency`.
      - `Value` number, double, required — Amount in the currency.
    - `RelativeFee` number, double — Relative value of the fee, as a percentage of the reservation price. Must be between 0 and 1. Defaults to 0.
    - `Name` string, nullable — Name of the cancellation policy.
    - `ExternalIdentifier` string, nullable — Identifier of the cancellation policy from an external system, unique within the enterprise. Use it to reference the policy from your own system. Adding another policy with the same external identifier in the same enterprise is rejected. Note that `add` always creates a new policy; it never updates an existing one matched by this identifier.

## Response `200`

OK

- CancellationPolicyModificationResult
  - `CancellationPolicies` CancellationPolicyModificationData[], required — Cancellation policies affected by the operation.
    - `Id` string, uuid, required — Unique identifier of the cancellation policy.
    - `EnterpriseId` string, uuid, required — Unique identifier of the enterprise the cancellation policy belongs to.
    - `CreatedUtc` string, date-time, required — Creation date and time of the cancellation policy in UTC timezone in ISO 8601 format.
    - `UpdatedUtc` string, date-time, required — Last update date and time of the cancellation policy in UTC timezone in ISO 8601 format.
    - `IsActive` boolean, required — Whether the cancellation policy is still active.
    - `Applicability` 'Creation' | 'Start' | 'StartDate', required — Applicability mode of the cancellation policy. Creation Start StartDate
    - `FeeExtents` CancellationFeeExtentEnum[], required — Extent for the cancellation fee, i.e. what should be in scope for the automatic payment.
    - `ApplicabilityOffset` string, required — Offset from which the fee is applied in ISO 8601 duration format.
    - `FeeMaximumTimeUnits` integer, nullable — Maximum number of time units the cancellation fee is applicable to.
    - `AbsoluteFee` CurrencyValue, required — Absolute value of the fee.
      - `Currency` string, currency, required — ISO-4217 code of the `Currency`.
      - `Value` number, double, required — Amount in the currency.
    - `RelativeFee` number, double, required — Relative value of the fee, as a percentage of the reservation price.
    - `Name` string, nullable — Name of the cancellation policy.
    - `ExternalIdentifier` string, nullable — Identifier of the cancellation policy from an external system, unique within the enterprise, that can be used to reference the policy from your own system.

## Other responses

- `204` — Server has successfully fulfilled the request and there is no additional information to send back.
- `400` — Error caused by the client app, e.g. in case of malformed request or invalid identifier of a resource. In most cases, such an error signifies a bug in the client app (consumer of the API).
- `401` — Error caused by usage of invalid ClientToken, AccessToken, or you may not have the necessary permission to use the endpoint.
- `403` — Server error that should be reported to the end user of the client app. Happens for example when the server-side validation fails or when a business-logic check is violated.
- `408` — Error caused by heavy request that takes too long to process (typically tens of seconds). To get around this, request data in smaller batches. For more information, see [Request timeouts](https://mews-systems.gitbook.io/connector-api/guidelines/requests#request-timeouts)
- `429` — Error caused by too many requests sent in a given amount of time. Response contains `Retry-After` header indicating how long the user agent should wait before making a follow-up request. For more information, see [Request limits](https://mews-systems.gitbook.io/connector-api/guidelines/requests#request-limits).
- `500` — Unexpected error on the Mews side. This may be due to a software fault. If such a situation occurs, the error will be logged and the development team notified, however you can raise an issue through GitHub on our [documentation repository](https://github.com/MewsSystems/gitbook-connector-api).

---

[API](https://skmtc.net/mews/apis/connector-api.md) · [All operations](https://skmtc.net/mews/apis/connector-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mews/connector-api/versions/81933a8ff730/schema)
