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

# Request Replacement

> Request a replacement for an account

## Endpoint

```
POST https://api.ugc.inc/billing/request-replacement
```

## Overview

Request a replacement for an account. All replacement requests require manual admin review. When the request is submitted, the account's status is updated to `needs_replacement`. Once approved, the old account is reclaimed and a new uninitialized account is created in its place.

## Request Body

<ParamField body="account_id" type="string" required>
  ID of the account to replace
</ParamField>

<ParamField body="reason" type="string">
  Reason for requesting a replacement
</ParamField>

## Response

<ResponseField name="data" type="object">
  <Expandable title="Response properties">
    <ResponseField name="message" type="string">
      Confirmation message
    </ResponseField>

    <ResponseField name="request" type="object | null">
      The billing request record

      <Expandable title="Request properties">
        <ResponseField name="id" type="string">
          Request ID
        </ResponseField>

        <ResponseField name="type" type="'replacement'">
          Request type
        </ResponseField>

        <ResponseField name="status" type="'pending'">
          Request status (always `pending` on creation)
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://api.ugc.inc/billing/request-replacement \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"account_id": "acc_123", "reason": "Account was banned"}'
  ```

  ```typescript React theme={null}
  import { UGCClient } from 'ugcinc';

  const client = new UGCClient({ apiKey: 'YOUR_API_KEY' });
  const response = await client.billing.requestReplacement({
    account_id: 'acc_123',
    reason: 'Account was banned'
  });

  if (response.ok) {
    console.log(response.data.message);
  }
  ```
</RequestExample>

<ResponseExample>
  ```json Success Response theme={null}
  {
    "ok": true,
    "code": 200,
    "message": "Success",
    "data": {
      "message": "Replacement request submitted for review",
      "request": {
        "id": "req_124",
        "org_id": "org_123",
        "account_id": "acc_456",
        "type": "replacement",
        "status": "pending",
        "reason": "Account was banned",
        "created_at": "2026-04-18T10:00:00.000Z",
        "resolved_at": null
      }
    }
  }
  ```
</ResponseExample>
