---
title: "Set restrictions"
method: POST
path: "/api/connector/v1/restrictions/set"
tags: ["Restrictions"]
---

# Set restrictions

`POST /api/connector/v1/restrictions/set`

Adds new restrictions with the specified conditions. For improved efficiency, multiple similar restrictions will be merged into a single restriction. A quota of 150,000 restrictions per service applies, although it is unlikely to be exceeded because of the merging algorithm. For more information about the merging algorithm, see [Restrictions concepts](https://mews-systems.gitbook.io/connector-api/concepts/restrictions).

Care is needed to specify `StartUtc` and `EndUtc` in the correct format - see [Datetimes](https://mews-systems.gitbook.io/connector-api/guidelines/serialization#datetimes).

Only restrictions created through the API are affected by this operation, *not* restrictions created by the user within **Mews Operations**. Similarly, if a user creates a restriction in **Mews Operations**, this will *not* affect restrictions created through the API.

## Request body

- SetRestrictionParameters
  - `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.
  - `ServiceId` string, required — Unique identifier of the [Service](https://mews-systems.gitbook.io/connector-api/operations/services#service) restrictions will be set in.
  - `Data` RestrictionSetData[], required — Parameters of restrictions.
    - `Type` 'Stay' | 'Start' | 'End', required — Stay (Guests can't stay within specified dates.) Start (Guests can't check in within specified dates.) End (Guests can't check out within specified dates.)
    - `ExactRateId` string, nullable — Unique identifier of the exact `Rate` to which the restriction applies.
    - `BaseRateId` string, nullable — Unique identifier of the base `Rate` to which the restriction applies.
    - `RateGroupId` string, nullable — Unique identifier of the `Rate group` to which the restriction applies.
    - `ResourceCategoryId` string, nullable — Unique identifier of the `Resource category` to which the restriction applies.
    - `ResourceCategoryType` 'Room' | 'Bed' | 'Dorm' | 'Apartment' | 'Suite' | 'Villa' | 'Site' | 'Office' | 'MeetingRoom' | 'ParkingSpot' | 'Desk' | 'TeamArea' | 'Membership' | 'Tent' | 'CaravanOrRV' | 'UnequippedCampsite' | 'Bike' | 'ExtraBed' | 'Cot' | 'Crib' | 'ConferenceRoom' | 'Rooftop' | 'Garden' | 'Restaurant' | 'Amphitheater' | 'PrivateSpaces' — Type of the category. Room Bed Dorm Apartment Suite Villa Site Office MeetingRoom ParkingSpot Desk TeamArea Membership Tent CaravanOrRV UnequippedCampsite Bike ExtraBed Cot Crib ConferenceRoom Rooftop Garden Restaurant Amphitheater PrivateSpaces
    - `StartUtc` string, date-time, nullable — Start date of the time interval for which the restriction conditions should be applied. This must be in UTC timezone in ISO 8601 format - see [Datetimes](https://mews-systems.gitbook.io/connector-api/guidelines/serialization#datetimes).
    - `EndUtc` string, date-time, nullable — End date of the time interval for which the restriction conditions should be applied. This must be in UTC timezone in ISO 8601 format - see [Datetimes](https://mews-systems.gitbook.io/connector-api/guidelines/serialization#datetimes).
    - `Days` DaysParameters, required
      - `Monday` boolean, required — Monday enabled
      - `Tuesday` boolean, required — Tuesday enabled
      - `Wednesday` boolean, required — Wednesday enabled
      - `Thursday` boolean, required — Thursday enabled
      - `Friday` boolean, required — Friday enabled
      - `Saturday` boolean, required — Saturday enabled
      - `Sunday` boolean, required — Sunday enabled
    - `MinAdvance` string, date-time, nullable — The minimum time before the reservation starts, you can reserve in ISO 8601 duration format.
    - `MaxAdvance` string, date-time, nullable — The maximum time before the reservation starts, you can reserve in ISO 8601 duration format.
    - `MinLength` string, date-time, nullable — Minimal reservation length in ISO 8601 duration format.
    - `MaxLength` string, date-time, nullable — Maximal reservation length in ISO 8601 duration format.
    - `MinPrice` CurrencyValue — Absolute value of the fee.
      - `Currency` string, currency, required — ISO-4217 code of the `Currency`.
      - `Value` number, double, required — Amount in the currency.
    - `MaxPrice` CurrencyValue — Absolute value of the fee.
      - `Currency` string, currency, required — ISO-4217 code of the `Currency`.
      - `Value` number, double, required — Amount in the currency.

## Response `200`

OK

- Unit

## 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)
- `409` — The request cannot be completed because the data has changed, causing conflict between the state on the client and the server. To get around this error, try refreshing the data on the client and resubmitting the request.
- `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/revisions/4bf95cbc375f/schema)
