# Call Personalisation Real-time v2

{% hint style="success" %}
Replace the `{{BaseURL}}` with the one mentioned [here ](https://docs.truecaller.com/truecaller-for-business/verified-business-api-documentation/getting-started)
{% endhint %}

<mark style="color:green;">`POST`</mark> `{{BaseURL}}/v2/clients/{clientAccountId}/dynamic_call_record`

{% hint style="success" %}
{clientAccountId} : This can be taken directly from the self serve portal under the Manage API Keys Page&#x20;
{% endhint %}

{% hint style="danger" %}
This API can handle 100 requests per second per token.
{% endhint %}

{% hint style="warning" %}
For Authorization Token kindly refer the[ Authentication](https://docs.truecaller.com/truecaller-for-business/verified-business-api-documentation/getting-started/authentication) section followed by [Generate Access Token](https://docs.truecaller.com/truecaller-for-business/verified-business-api-documentation/getting-started/generate-access-token) API
{% endhint %}

<figure><img src="https://1257250529-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpyyDYzpD4A2zU6fYohHS%2Fuploads%2F7PbKuiwH8ArBUuHlsLrc%2Fclientaccountid.gif?alt=media&#x26;token=18613b6a-5e81-4527-a5bb-f8c4e54a2d57" alt=""><figcaption></figcaption></figure>

**Headers**

| Name          | Value                                                            |
| ------------- | ---------------------------------------------------------------- |
| Content-Type  | <p><code>Required</code></p><p><code>application/json</code></p> |
| Authorization | <p><code>Required</code></p><p><code>Bearer \<token></code></p>  |

**Body**

| Name                  | Type            | Validations                               | Description                                                                                                                                                                                           |
| --------------------- | --------------- | ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| dynamic\_call\_reason | string          | <p>minLength: 10<br>maxLength: 100</p>    | <p>Optional.</p><p>The call reason to be displayed.</p>                                                                                                                                               |
| caller\_number        | string          | Format Supported:"91\*\*\*\*\*\*\*\*\*\*" | <p>Required<br>The phone no. of the caller</p>                                                                                                                                                        |
| ends\_at              | integer (int64) | Epoch timestamp in milliseconds           | <p>Required<br>The timestamp in milliseconds at which dynamic caller ID should expire.<br>Should not be before the current timestamp.<br>starts\_at and ends\_at cannot be more than 24 hrs apart</p> |
| label\_id             | string          | NA                                        | <p>Optional<br>The label ID of the dynamic label to be used as caller id</p>                                                                                                                          |
| dynamic\_label\_name  | string          | <p>minLength: 3<br>maxLength: 40</p>      | <p>Required<br>The caller ID name to be displayed. If not present it will default to the label name of the label ID provided.</p>                                                                     |
| receiver\_number      | string          | NA                                        | <p>Required<br>The phone no. of the receiver</p>                                                                                                                                                      |
| starts\_at            | integer (int64) | Epoch timestamp in milliseconds           | <p>Required<br>The timestamp in milliseconds at which dynamic caller ID should start reflecting.</p><p>starts\_at and ends\_at cannot be more than 24 hrs apart</p>                                   |

#### Request

{% tabs %}
{% tab title="JSON" %}

```json
{
    "label_id": "c6d86658-008d-4c08-98fb-2bf2649d59a5",
    "dynamic_label_name": "Flower rasm",
    "dynamic_call_reason": "Flower Delivery",
    "caller_number": "911234567898", 
    "receiver_number": "919234567898",
    "starts_at": 1753088751000,
    "ends_at": 1753103151000
}
```

{% endtab %}
{% endtabs %}

**Response**

{% tabs %}
{% tab title="200 OK" %}

```json
{
    "status_info": {
        "status": "success",
        "message": "Record processed successfully"
    }

```

{% endtab %}

{% tab title="400 Bad Request" %}

```json
{
    "status_info": {
        "status": "error",
        "field": "ends_at",
        "message": "Request body is invalid: ends_at cannot be older than current time"
    }
}
```

{% endtab %}
{% endtabs %}
