# Preview releasing a client (/docs/api-reference/reseller-clients/previewClientRelease)

> What releasing a client would do, changing nothing. Call it before POST /reseller/clients/release to confirm the amounts and the numbers that come back.

> **Reseller accounts only.** [Request access](https://omnidim.io/contact-us?reason=reseller_api&lock=1).

**GET** `/reseller/clients/release-preview`

What releasing a client would do, changing nothing. Call it before
`POST /reseller/clients/release` to confirm the amounts and the
numbers that come back.

Returns the client's balance and the share of it that returns to
you, each of its numbers and whether it transfers back to you, its
users, and `has_live_subscription`. A release is refused while
`has_live_subscription` is true.

Who may call: a reseller key. Any other key gets `403`. A client that
is not one of your direct clients gets `404`, the same answer as one
that does not exist.

```yaml
operationId: previewClientRelease
parameters:
  - name: organization_id
    in: query
    required: true
    schema:
      type: integer
    description: The client organization to preview releasing.
responses:
  '200':
    description: What a release would do.
    content:
      application/json:
        schema:
          type: object
          properties:
            success:
              type: boolean
            organization_id:
              type: integer
            name:
              type: string
            currency_symbol:
              type: string
            balance:
              type: number
              description: The client's balance, in your currency.
            credit_revert:
              type: object
              properties:
                deducted:
                  type: number
                refunded:
                  type: number
            numbers:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: integer
                  phone_number:
                    type: string
                  attached:
                    type: boolean
                  transfers_back:
                    type: boolean
            users:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: integer
                  email:
                    type: string
            is_white_label:
              type: boolean
            has_live_subscription:
              type: boolean
              description: |
                While true, a release is refused. The client must cancel
                its subscription first.
        example:
          success: true
          organization_id: 5678
          name: Demo Client
          currency_symbol: $
          balance: 12.5
          credit_revert:
            deducted: 12.5
            refunded: 10
          numbers:
            - id: 91
              phone_number: '+15551234567'
              attached: true
              transfers_back: true
          users:
            - id: 1234
              email: demo@example.com
          is_white_label: false
          has_live_subscription: false
  '400':
    description: '`organization_id` is missing or not an integer.'
    content:
      application/json:
        schema:
          type: object
          properties:
            error:
              type: string
              description: Machine-readable error code.
            error_description:
              type: string
              description: Human-readable explanation.
            code:
              type: string
              description: |
                Stable, specific reason. Present on the newer endpoints (Voice
                cloning, WhatsApp); older endpoints return only `error`.
            request_id:
              type: string
              description: |
                Correlates this response with the server log. Present alongside
                `code`. Also sent as the `X-Request-Id` header.
        example:
          error: invalid_request
          error_description: Missing required fields organization_id.
  '403':
    description: The key is not a reseller's, or not the owner or an admin.
    content:
      application/json:
        schema:
          type: object
          properties:
            error:
              type: string
              description: Machine-readable error code.
            error_description:
              type: string
              description: Human-readable explanation.
            code:
              type: string
              description: |
                Stable, specific reason. Present on the newer endpoints (Voice
                cloning, WhatsApp); older endpoints return only `error`.
            request_id:
              type: string
              description: |
                Correlates this response with the server log. Present alongside
                `code`. Also sent as the `X-Request-Id` header.
  '404':
    description: The organization is not one of your direct clients.
    content:
      application/json:
        schema:
          type: object
          properties:
            error:
              type: string
              description: Machine-readable error code.
            error_description:
              type: string
              description: Human-readable explanation.
            code:
              type: string
              description: |
                Stable, specific reason. Present on the newer endpoints (Voice
                cloning, WhatsApp); older endpoints return only `error`.
            request_id:
              type: string
              description: |
                Correlates this response with the server log. Present alongside
                `code`. Also sent as the `X-Request-Id` header.
```

**curl**

```bash
curl -X GET "https://backend.omnidim.io/api/v1/reseller/clients/release-preview" \
  -H "Authorization: Bearer $OMNIDIM_API_KEY"
```