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

# Get Customer

> Retrieve the details of an existing customer for your My Virtual Office account

# Get Customer

Retrieve the full details of a single customer by their unique ID.

## Authentication

<ParamField header="X-API-Key" type="string" required>
  Your API key. Can also be provided via `Authorization: Bearer` header.
</ParamField>

## Path Parameters

<ParamField path="id" type="string" required>
  The UUID of the customer to retrieve.
</ParamField>

## Response

<ResponseField name="id" type="string">
  Unique identifier for the customer (UUID)
</ResponseField>

<ResponseField name="seller_id" type="string">
  Your seller account ID (UUID)
</ResponseField>

<ResponseField name="first_name" type="string">
  Customer's first name
</ResponseField>

<ResponseField name="last_name" type="string">
  Customer's last name
</ResponseField>

<ResponseField name="email" type="string">
  Customer's email address
</ResponseField>

<ResponseField name="company_name" type="string | null">
  Company name if provided
</ResponseField>

<ResponseField name="legal_entity" type="string | null">
  Legal entity type if provided
</ResponseField>

<ResponseField name="language" type="string | null">
  Preferred language
</ResponseField>

<ResponseField name="address_data" type="object | null">
  Address information if provided
</ResponseField>

<ResponseField name="postal_redirect_address" type="object | null">
  Postal redirect address if set
</ResponseField>

<ResponseField name="status" type="string">
  Customer status. One of `active`, `inactive`, or `suspended`. Inactive or suspended customers cannot log in to the portal.
</ResponseField>

<ResponseField name="source" type="string">
  Source of customer creation (e.g., "api")
</ResponseField>

<ResponseField name="created_at" type="string">
  ISO 8601 timestamp of when the customer was created
</ResponseField>

<ResponseField name="updated_at" type="string">
  ISO 8601 timestamp of when the customer was last updated
</ResponseField>

## Example Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET https://app-api.my-virtual-office.com/api/customers/550e8400-e29b-41d4-a716-446655440000 \
    -H "X-API-Key: sk_live_your_api_key_here"
  ```

  ```javascript Node.js theme={null}
  const response = await fetch(
    'https://app-api.my-virtual-office.com/api/customers/550e8400-e29b-41d4-a716-446655440000',
    {
      method: 'GET',
      headers: {
        'X-API-Key': 'sk_live_your_api_key_here',
      },
    }
  );

  const customer = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://app-api.my-virtual-office.com/api/customers/550e8400-e29b-41d4-a716-446655440000',
      headers={
          'X-API-Key': 'sk_live_your_api_key_here',
      }
  )

  customer = response.json()
  ```
</CodeGroup>

## Example Response

```json 200 OK theme={null}
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "seller_id": "660e8400-e29b-41d4-a716-446655440001",
  "first_name": "John",
  "last_name": "Doe",
  "email": "john.doe@example.com",
  "company_name": "Acme Corp",
  "legal_entity": "GmbH",
  "language": "en",
  "address_data": {
    "street": "Musterstraße 123",
    "city": "Berlin",
    "postal_code": "10115",
    "country": "Germany"
  },
  "postal_redirect_address": null,
  "status": "active",
  "source": "api",
  "created_at": "2024-01-15T10:30:00.000Z",
  "updated_at": "2024-02-20T14:15:00.000Z"
}
```

## Error Responses

<ResponseExample>
  ```json 401 Unauthorized theme={null}
  {
    "error": "Unauthorized",
    "message": "API key is required. Provide it via X-API-Key header or Authorization Bearer token."
  }
  ```
</ResponseExample>

<ResponseExample>
  ```json 404 Not Found theme={null}
  {
    "error": "Not Found",
    "message": "Customer not found"
  }
  ```
</ResponseExample>

## Error Codes

| HTTP Code | Error                 | Description                                           |
| --------- | --------------------- | ----------------------------------------------------- |
| 401       | Unauthorized          | Missing or invalid API key                            |
| 404       | Not Found             | Customer not found or does not belong to your account |
| 500       | Internal Server Error | Unexpected server error                               |
