---
title: "Get a single customer"
description: "Retrieve details of a specific customer by `customer_id`."
protocol: rest
method: GET
endpoint: "/v1/customers/{customer_id}"
baseUrl: "https://api.gravv.xyz"
group: "Customers"
auth:
  label: "Api-Key"
  name: "Api-Key"
  in: header
---

# Get a single customer

<Endpoint method="GET" path="/v1/customers/{customer_id}" />

Retrieve details of a specific customer by `customer_id`.

## Path Parameters

<ParamField name="customer_id" path="customer_id" type="string" required>
</ParamField>

## Responses

| Status | Description |
| --- | --- |
| `200` | Customer details |
| `400` | Bad request — invalid or missing parameters |

### 200 response

<ResponseField name="data" type="object">
  Full customer object returned by create and get endpoints.

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

    <ResponseField name="first_name" type="string">
    </ResponseField>

    <ResponseField name="last_name" type="string">
    </ResponseField>

    <ResponseField name="middle_name" type="string">
    </ResponseField>

    <ResponseField name="type" type="string">

      Possible values: `individual`, `business`
    </ResponseField>

    <ResponseField name="email" type="string">
    </ResponseField>

    <ResponseField name="phone" type="string">
    </ResponseField>

    <ResponseField name="address" type="object">

      <Expandable title="properties">
        <ResponseField name="address_line1" type="string" required>
        </ResponseField>

        <ResponseField name="address_line2" type="string">
        </ResponseField>

        <ResponseField name="city" type="string" required>
        </ResponseField>

        <ResponseField name="postal_code" type="string" required>
        </ResponseField>

        <ResponseField name="state" type="string" required>
        </ResponseField>

        <ResponseField name="country" type="string" required>
        </ResponseField>

      </Expandable>
    </ResponseField>

    <ResponseField name="status" type="string">
    </ResponseField>

    <ResponseField name="kyc" type="object[]">

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

        <ResponseField name="type" type="string">
        </ResponseField>

        <ResponseField name="status" type="string">
        </ResponseField>

        <ResponseField name="kyc_url" type="string">
        </ResponseField>

        <ResponseField name="remark" type="string">
        </ResponseField>

        <ResponseField name="verified_at" type="string,null">
        </ResponseField>

      </Expandable>
    </ResponseField>

    <ResponseField name="associated_persons" type="object[]">

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

        <ResponseField name="first_name" type="string">
        </ResponseField>

        <ResponseField name="middle_name" type="string">
        </ResponseField>

        <ResponseField name="last_name" type="string">
        </ResponseField>

        <ResponseField name="email" type="string">
        </ResponseField>

        <ResponseField name="date_of_birth" type="string">
        </ResponseField>

        <ResponseField name="gender" type="string">

          Possible values: `male`, `female`, `other`
        </ResponseField>

        <ResponseField name="phone" type="string">
        </ResponseField>

        <ResponseField name="status" type="string">
        </ResponseField>

        <ResponseField name="type" type="string">
        </ResponseField>

        <ResponseField name="address" type="object">

          <Expandable title="properties">
            <ResponseField name="address_line1" type="string" required>
            </ResponseField>

            <ResponseField name="address_line2" type="string">
            </ResponseField>

            <ResponseField name="city" type="string" required>
            </ResponseField>

            <ResponseField name="postal_code" type="string" required>
            </ResponseField>

            <ResponseField name="state" type="string" required>
            </ResponseField>

            <ResponseField name="country" type="string" required>
            </ResponseField>

          </Expandable>
        </ResponseField>

        <ResponseField name="date_added" type="string">
        </ResponseField>

        <ResponseField name="kyc" type="object[]">

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

            <ResponseField name="type" type="string">
            </ResponseField>

            <ResponseField name="status" type="string">
            </ResponseField>

            <ResponseField name="kyc_url" type="string">
            </ResponseField>

            <ResponseField name="remark" type="string">
            </ResponseField>

            <ResponseField name="verified_at" type="string,null">
            </ResponseField>

          </Expandable>
        </ResponseField>

      </Expandable>
    </ResponseField>

    <ResponseField name="business_name" type="string">
    </ResponseField>

    <ResponseField name="business_description" type="string">
    </ResponseField>

    <ResponseField name="business_type" type="string">
    </ResponseField>

    <ResponseField name="business_industry" type="string">
    </ResponseField>

    <ResponseField name="registration_number" type="string">
    </ResponseField>

    <ResponseField name="date_added" type="string">
    </ResponseField>

    <ResponseField name="external_id" type="string">
    </ResponseField>

    <ResponseField name="industry_code" type="string">
    </ResponseField>

  </Expandable>
</ResponseField>

<ResponseField name="error" type="null">
</ResponseField>

### 400 response

<ResponseField name="data" type="null">
</ResponseField>

<ResponseField name="error" type="string">
</ResponseField>

<ResponseExample>

```json title="Response"
{
  "data": null,
  "error": "invalid request body"
}
```

</ResponseExample>

## Authorization

- **ApiKeyAuth**
