---
title: "Remove the current tier from a customer"
method: DELETE
path: "/v1/pvt/Customer/{originalId}/removetier"
tags: ["Customer"]
---

# Remove the current tier from a customer

`DELETE /v1/pvt/Customer/{originalId}/removetier`

This endpoint removes the current tier association from the customer and moves them back to the **base tier** of the program (if one exists).

## Some important remarks
- If the customer does not exist, the API returns an error with the `Customer_NotFound` error code.
- If the customer does not have any tier assigned, the response `MessageResult` will be `"The consumer does not have a tier to remove."`.
- If the customer is already on the base tier, the tier **cannot be removed**. The response `MessageResult` will be `"The consumer is on the base tier and does not have a tier to remove"`.
- On success, the customer is automatically assigned to the base tier and the response `MessageResult` will be `"Tier removed successfully."`.

## Response
The response contains:
- `MessageResult`: a description of the outcome (success, no tier to remove, or base tier cannot be removed)
- `OldTierName`: the name of the tier the customer was in before the removal (only present on success)

## Path parameters

- `originalId` string, required

## Response `200`

The result of the removal including `MessageResult` and `OldTierName`, or an error response

- BaseExternalApiResponseOfCustomerRemoveTierResponse — Standard response envelope used by the External API.
  - `ErrorMessage` string, nullable — Error message returned when the request fails validation or processing. For warnings and successful responses, consumers should usually inspect `Result`, `Code` and `Severity` first.
  - `ErrorCode` integer, nullable — Legacy numeric error code derived from internal API errors when available. This field is relevant only for error flows that use `ApiResponseErrorDescription`.
  - `Result` CustomerRemoveTierResponse
    - `MessageResult` string
    - `OldTierName` string, nullable
  - `Code` string, nullable — Endpoint-specific business code formatted as a two-digit string, such as `03` or `07`. This field is available for success, warning and error outcomes.
  - `CodeName` string, nullable — Symbolic enum name associated with `Code`, such as `CheckoutNotFound`.
  - `Severity` 0 | 1 | 2 — 0 = Success 1 = Warning 2 = Error
  - `HasWarning` boolean — Convenience flag that is `true` when `Severity` is `Warning`. Warnings are valid `200 OK` business outcomes and should not be handled as transport or validation errors.
  - `HasError` boolean — Indicates whether the request failed and should be handled as an error response. This flag is reserved for real API errors; warnings must keep this property as `false`.

---

[API](https://skmtc.net/bonifiq/apis/bonifiq-private-apis.md) · [All operations](https://skmtc.net/bonifiq/apis/bonifiq-private-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bonifiq/bonifiq-private-apis/revisions/070a57eeffdc/schema)
