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

# Set rates

`POST /api/connector/v1/rates/set`

Adds new Rates or updates existing ones if they are matched by `Id` or `ExternalIdentifier` property. This operation supports [Portfolio Access Tokens](https://mews-systems.gitbook.io/connector-api/concepts/multi-property/).

## Request body

- RateSetParameters
  - `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.
  - `Rates` RateSetData[], required — Rates to be added or updated.
    - `Id` string, uuid, nullable — Unique identifier of the rate. If it matches an existing rate, that rate will be updated. If no match is found, an error will be returned.
    - `ExternalIdentifier` string, nullable — Unique identifier of the rate in the external system. If `Id` is not provided and `ExternalIdentifier` matches an existing rate, the corresponding rate will be updated. If no match is found, a new rate will be created.
    - `ServiceId` string, required — Unique identifier of the service. Ignored in case of updating an existing rate.
    - `RateGroupId` string, nullable — Unique identifier of the rate group under which rate is assigned. Empty value means that rate is added to a default group or the current group is kept for update, respectively.
    - `IsEnabled` boolean, nullable — Whether the rate is available to customers. `true` will be used as a default if not provided.
    - `Type` 'Public' | 'Private', required — Public Private
    - `Names` object, required — All translations of the name of the rate.
    - `Descriptions` object, nullable — All translations of the description.
    - `PricingType` 'BaseRatePricing' | 'DependentRatePricing', required — BaseRatePricing DependentRatePricing
    - `Pricing` RateSetPricingDataParameters
      - `BaseRatePricing` BaseRatePricingWithoutAdjustmentsParameters
        - `Amount` AmountParameters, required — Price of the product that overrides the price defined in Mews.
          - `Currency` string, currency, required
          - `TaxCodes` string[], required
          - `NetValue` number, double, nullable
          - `GrossValue` number, double, nullable
      - `DependentRatePricing` DependentRateSetPricingParameters
        - `BaseRateId` string, required — Unique identifier of the base rate.
        - `RelativeAdjustment` number, double — Relative amount which shows the difference between this rate and the base rate.
        - `AbsoluteAdjustment` number, double — Specific amount which shows the difference between this rate and the base rate.
        - `TaxCodes` StringIReadOnlyListUpdateValue
          - `Value` string[], nullable — Value which is to be updated.

## Response `200`

OK

- RateSetResult
  - `Rates` Rate[], nullable — Rates that were added or updated.
    - `Id` string, uuid, required — Unique identifier of the rate.
    - `GroupId` string, uuid, required — Unique identifier of `Rate Group` where the rate belongs.
    - `ServiceId` string, uuid, required — Unique identifier of the `Service`.
    - `BaseRateId` string, uuid, nullable — Unique identifier of the base `Rate`.
    - `IsBaseRate` boolean, required — Indicates if this is a base rate.
    - `BusinessSegmentId` string, uuid, nullable — Unique identifier of the `Business Segment`.
    - `IsActive` boolean, required — Indicates if this rate is active.
    - `IsEnabled` boolean, required — Indicates if this rate is currently available to customers.
    - `IsPublic` boolean, required — Indicates if this rate is publicly available.
    - `IsDefault` boolean, required — Indicates if this rate is the default rate for the service. Assigned automatically to the first rate of a service.
    - `Type` 'Public' | 'Private' | 'AvailabilityBlock', required — Public Private AvailabilityBlock
    - `Name` string, nullable — Name of the rate (in the default language).
    - `Names` object, required — All translations of the name.
    - `ShortName` string, nullable — Short name of the rate (in the default language).
    - `UpdatedUtc` string, date-time, required — Interval in which the rates were updated.
    - `ExternalNames` object, nullable — All translations of the external name of the rate.
    - `Description` object, nullable — All translations of the description of the rate.
    - `ExternalIdentifier` string, nullable — Identifier of the rate from external system.
    - `TaxExemptionReason` 'Unknown' | 'IT_N1' | 'IT_N2_1' | 'IT_N2_2' | 'IT_N3_4' | 'IT_N3_5' | 'IT_N4' | 'IT_N5' | 'PL_ZW' | 'PL_NP' | 'DE_NATO' | 'FR_261_7' | 'FR_262_00_BIS' | 'FR_293_B' — Unknown (Unknown tax exemption reason) IT_N1 (N1 - Escluse ex art.15) IT_N2_1 (N2.1 - Non soggette ad IVA ai sensi degli artt. da 7 a 7-septies del d.P.R. n. 633/72) IT_N2_2 (N2.2 - Non soggette – altri casi) IT_N3_4 (N3.4 - Non imponibili – operazioni assimilate alle cessioni all’esportazione) IT_N3_5 (N3.5 - Non imponibili – a seguito di dichiarazioni d’intento) IT_N4 (N4 - Esenti) IT_N5 (N5 - Regime del margine / IVA non esposta in fattura) PL_ZW (ZW - Zwolniony) PL_NP (NP - Nie podlega) DE_NATO (NATO-ZAbk - Umsatzsteuerbefreiung gemäß Artikel 67(3) NATO-Zusatzabkommen) FR_261_7 (Exonération de TVA, article 261, 7 du CGI) FR_262_00_BIS (Exonération de TVA, article 262-00 bis du CGI) FR_293_B (TVA non applicable, article 293 B du CGI)
    - `TaxExemptionLegalReference` string, nullable — Legal reference that states why this rate is exempt from tax.

## 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/revisions/4bf95cbc375f/schema)
