> ## Documentation Index
> Fetch the complete documentation index at: https://docs.finosu.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Cancel Customer Servicing

> Cancel servicing for all loans belonging to a customer. Sets all loans' servicing status to NOT_SERVICING and cancels all pending scheduled payments, calls, emails, and SMS across all loans.

## Overview

This endpoint cancels servicing for all loans belonging to a specific customer, stopping all automated communications and scheduled payments across all of their loans. Use this when a customer should no longer be actively serviced by the platform.

## What Gets Cancelled

When you call this endpoint, the following actions are taken for **all loans** owned by the customer:

* **Loan Status**: Sets all loans' servicing status to `NOT_SERVICING`
* **Stop Reason**: Records the reason for stopping servicing (defaults to `API_REQUEST`)
* **Scheduled Payments**: Cancels all pending scheduled payments
* **Scheduled Calls**: Cancels all pending scheduled calls
* **Scheduled Emails**: Cancels all pending scheduled emails
* **Scheduled SMS**: Cancels all pending scheduled SMS messages
* **Call Schedules**: Cancels all active loan call schedules
* **Email Schedules**: Cancels all active loan email schedules
* **SMS Schedules**: Cancels all active loan SMS schedules

## Use Cases

* Customer has paid off all their loans
* Customer is leaving the platform entirely
* Customer filed for bankruptcy
* Fraud has been detected across the customer's accounts
* Customer is deceased
* Customer requested to be removed from all servicing

## Stop Servicing Reasons

You can optionally provide a reason for stopping servicing. Valid values are:

| Reason                           | Description                            |
| -------------------------------- | -------------------------------------- |
| `API_REQUEST`                    | Default reason when cancelled via API  |
| `PAID_OFF`                       | Loans have been paid in full           |
| `BANKRUPTCY`                     | Customer filed for bankruptcy          |
| `FRAUD_CLAIM`                    | Fraud detected on the account          |
| `MILITARY`                       | Customer is protected under SCRA       |
| `DECEASED`                       | Customer is deceased                   |
| `INCARCERATED`                   | Customer is incarcerated               |
| `DEBT_MANAGEMENT_COMPANY`        | Account transferred to debt management |
| `SOLD_OFF`                       | Loans sold to another servicer         |
| `MISTAKE`                        | Customer was created in error          |
| `NO_VALID_COMMUNICATION_CHANNEL` | No valid way to contact customer       |
| `DEBT_DISPUTE`                   | Customer is disputing the debt         |
| `COMPLAINT_TRIGGER`              | Triggered by customer complaint        |
| `DUPLICATE`                      | Duplicate customer record              |
| `REFUSES_TO_PAY`                 | Customer refuses to pay                |
| `LMS_CLOSED`                     | Loan closed from external LMS sync     |

## Request Body

The request body is optional. If not provided, the reason defaults to `API_REQUEST`.

```json theme={null}
{
  "reason": "PAID_OFF"
}
```

## Response

The response includes the total count of all cancelled items across all loans:

```json theme={null}
{
  "id": "CUST-12345",
  "loansUpdated": 3,
  "stopServicingReason": "PAID_OFF",
  "cancelledScheduledPayments": 9,
  "cancelledCallSchedules": 3,
  "cancelledEmailSchedules": 3,
  "cancelledSmsSchedules": 3,
  "cancelledCalls": 15,
  "cancelledEmails": 6,
  "cancelledSms": 9
}
```

## Error Responses

| Status Code | Description             |
| ----------- | ----------------------- |
| 400         | Invalid reason provided |
| 404         | Customer not found      |
| 500         | Internal server error   |


## OpenAPI

````yaml POST /customers/{id}/cancel-servicing
openapi: 3.1.0
info:
  title: Finosu API
  description: Finosu API
  license:
    name: MIT
  version: 1.0.0
servers: []
security:
  - apiKeyAuth: []
paths:
  /customers/{id}/cancel-servicing:
    post:
      description: >-
        Cancel servicing for all loans belonging to a customer. Sets all loans'
        servicing status to NOT_SERVICING and cancels all pending scheduled
        payments, calls, emails, and SMS across all loans.
      parameters:
        - name: id
          in: path
          description: External reference ID of the customer
          required: true
          schema:
            type: string
      requestBody:
        description: >-
          Optional reason for stopping servicing. Defaults to API_REQUEST if not
          specified.
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancelLoanServicingRequest'
      responses:
        '200':
          description: Customer servicing cancelled successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelCustomerServicingResponse'
        '400':
          description: Invalid reason provided
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Customer not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    CancelLoanServicingRequest:
      type: object
      properties:
        reason:
          type: string
          description: >-
            Reason for stopping servicing. Defaults to API_REQUEST if not
            specified.
          enum:
            - PAID_OFF
            - BANKRUPTCY
            - FRAUD_CLAIM
            - MILITARY
            - DECEASED
            - INCARCERATED
            - DEBT_MANAGEMENT_COMPANY
            - NO_LOGIN_2M
            - NO_PAYMENT_OR_PLAN_3M
            - NO_PLAN_PAYMENT_2M
            - NO_PAYMENT_OR_PLAN_4M
            - SOLD_OFF
            - MISTAKE
            - NO_VALID_COMMUNICATION_CHANNEL
            - DEBT_DISPUTE
            - COMPLAINT_TRIGGER
            - HISTORICAL_INELIGIBLE
            - DUPLICATE
            - REFUSES_TO_PAY
            - LMS_CLOSED
            - API_REQUEST
          example: PAID_OFF
    CancelCustomerServicingResponse:
      type: object
      required:
        - id
        - loansUpdated
        - stopServicingReason
        - cancelledScheduledPayments
        - cancelledCallSchedules
        - cancelledEmailSchedules
        - cancelledSmsSchedules
        - cancelledCalls
        - cancelledEmails
        - cancelledSms
      properties:
        id:
          description: Customer ID (reference_id)
          type: string
        loansUpdated:
          type: integer
          description: Number of loans set to NOT_SERVICING
          example: 3
        stopServicingReason:
          type: string
          description: Reason for stopping servicing
          example: PAID_OFF
        cancelledScheduledPayments:
          type: integer
          description: Total scheduled payments cancelled across all loans
          example: 9
        cancelledCallSchedules:
          type: integer
          description: Total call schedules cancelled
          example: 3
        cancelledEmailSchedules:
          type: integer
          description: Total email schedules cancelled
          example: 3
        cancelledSmsSchedules:
          type: integer
          description: Total SMS schedules cancelled
          example: 3
        cancelledCalls:
          type: integer
          description: Total scheduled calls cancelled
          example: 15
        cancelledEmails:
          type: integer
          description: Total scheduled emails cancelled
          example: 6
        cancelledSms:
          type: integer
          description: Total scheduled SMS cancelled
          example: 9
    Error:
      required:
        - error
        - message
      type: object
      properties:
        error:
          type: integer
          format: int32
        message:
          type: string
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key

````