# Preview per-person values

> Source: https://elaichi.ai/docs/api-reference/members/caller-binding-path/previewcallerbindings/

`POST /caller-binding-path/preview`

Resource: **Caller Binding Path** · API: **Members**

## Request body

- **`user_id`** _(string)_
  Whose values (`usr_…`). Omitted: yours.
- **`frozen_params`** _(object)_
  An entry's `frozen_params`.
- **`defaults`** _(object)_
  An entry's `overrides.defaults`.

## Response body

- **`subject`** _(object, required)_
  - **`user_id`** _(string)_
  - **`name`** _(string,null)_
  - **`email`** _(string)_
  - **`is_self`** _(boolean)_
- **`rows`** _(array<object>)_
  - **`target`** _(string)_
    Allowed: `frozen`, `defaults`
  - **`key`** _(string)_
  - **`ok`** _(boolean)_
  - **`value`** _(unknown)_
    The rendered value (`ok: true`).
  - **`reason`** _(string)_
    Allowed: `missing`, `unsafe_value`, `invalid`
  - **`missing`** _(array<object>)_
    Every path the refusal names (alternatives flattened), with its person-facing label.
    - **`path`** _(string)_
    - **`label`** _(string)_
  - **`message`** _(string)_
    For `reason: invalid`: why a save would refuse it.
- **`can_preview_others`** _(boolean)_
  You hold `member:manage`, so `user_id` may name another member.

## Code examples

### curl

```bash
curl -X POST 'https://api.elaichi.ai/caller-binding-path/preview' \
  -H 'Authorization: Bearer $ELAICHI_API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"user_id":"your_user_id","frozen_params":{},"defaults":{}}'
```

### JavaScript

```javascript
const body = {
  "user_id": "your_user_id",
  "frozen_params": {},
  "defaults": {}
};

const response = await fetch('https://api.elaichi.ai/caller-binding-path/preview', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer ' + process.env.ELAICHI_API_TOKEN,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(body),
});

const data = await response.json();
console.log(data);
```

### Python

```python
import os
import requests

url = "https://api.elaichi.ai/caller-binding-path/preview"
headers = {
    "Authorization": f"Bearer {os.environ['ELAICHI_API_TOKEN']}",
    "Content-Type": "application/json",
}
payload = {
    "user_id": "your_user_id",
    "frozen_params": {},
    "defaults": {}
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())
```
