---
title: "Credit reduction"
method: POST
path: "/credits/actions/reduce-credits"
tags: ["Credits"]
---

# Credit reduction

`POST /credits/actions/reduce-credits`

Endpoint for reducing credits on the customer's account.

A credit reduction creates a negative credit record, decreasing the customer's wallet balance. Use this endpoint to apply a credit spend, expiration, or manual correction. The response returns the ID of the newly created reduction record.

If `credit_type_id` is not provided, the project-default credit type is used. The `note` field is optional and is recorded in the credit history audit log, visible via [GET /credit-history](https://carecloud.readme.io/reference/getcredithistory).

⚠️ This action method is disabled by default. Please contact the CareCloud administrator to allow usage of this method.
⚠️ Action methods are available only in the Enterprise interface.

## Headers

- `Accept-Language` string

## Request body

- object
  - `amount` number, float, required — Number of reduced credits.
  - `customer_id` string, required — The unique ID of the customer. [GET /customers](https://carecloud.readme.io/reference/getcustomers)
  - `partner_id` string, required — The unique ID of the partner. [GET /partners](https://carecloud.readme.io/reference/getpartners)
  - `credit_type_id` string — The unique ID of the credit type. If the parameter is not set, a default credit type is set. [GET /credit-types](https://carecloud.readme.io/reference/getcredittypes)
  - `currency_id` string — The unique ID of the currency. If not set, the default currency of the project is used. [GET /currencies](https://carecloud.readme.io/reference/getcurrencies)
  - `note` string — A credit reduce note.

## Response `201`

Created

- object
  - `data` object
    - `credit_id` string — The unique ID of the credit reduction.

## Other responses

- `400` — Bad input parameter. The response body's `error.error_data.invalid_params[]` array lists the parameters that caused the failure, each carrying a `reason` code. See the `BadRequestErrorBody` schema for the generic reason taxonomy. Operations with domain-specific business rules document additional reasons at the operation level.
- `401` — The client has invalid credentials or auth token.
- `403` — The client does not exist or the client tried to access an unauthorized property or resource.
- `404` — The resource was not found.
- `405` — The resource does not support the specified HTTP method.
- `429` — Too many requests - more than the resource limit.
- `500` — Server is not working as expected.
- `503` — Temporary state when the service is temporarily unavailable, overloaded or there is a maintenance window.

---

[API](https://skmtc.net/crmcarecloud/apis/rest-api-reference.md) · [All operations](https://skmtc.net/crmcarecloud/apis/rest-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/crmcarecloud/rest-api-reference/revisions/329c06dbf8d9/schema)
