# 2025.44 Public API / SDK Changes

## Public API

### **🐞 Bug Fixes**

tech **Fixed Model Usage Not Logged in Streaming LiteLLM** **Models**: The system is now adapted to support the structure of the streaming LiteLLM response and correctly logs the model usage. ( **Note**: Logging Streaming Model Usage via the OpenAI Proxy will come in sprint .46)

tech`POST` **Create Message Execution**\- The `chatId` parameter in create a message execution is removed.

```
curl --location 'https://api.uat1.unique.app/public/chat/message-execution/' 
  --header 'Authorization: Bearer <api-key>' 
  --header 'content-type: application/json' 
  --header 'x-api-version: 2023-12-06' 
  --header 'x-app-id: <app-id>' 
  --header 'x-company-id: <company-id>' 
  --header 'x-user-id: <user-id>' 
  --data '{
  "messageId": "msg_eqd9xnedef9jd0tyyw01",
  # "chatId": "chat_ie9m7oneexedemauxq4m69fp4", # NOTE: support for this param has been removed in release .44
  "type": "DEEP_RESEARCH",
}'
```

## SDK

### **🐞 Bug Fixes**

tech **Create Message Log -** The `details` and `uncitedReferences` params are now optional when creating a message log.

py

```
msg_log = unique_sdk.MessageLog.create(
    user_id=user_id,
    company_id=company_id,
    messageId="msg_a0jgnt1jrqv1d3uzr450waxw",
    text="Create message log text",
    order=1,
    status="RUNNING",                             # one of "RUNNING", "COMPLETED", "FAILED"
    details={},                                   # NOTE: optional starting release .44, details dictionary
    uncitedReferences={},                         # NOTE: optional starting release .44, references dictionary
    references=[],                                # optional, list of references
)
```

tech **Update Message Log -** Params`status`, `details` and `uncitedReferences` are now optional when updating a message log.

**Example**

py

```
msg_log = unique_sdk.MessageLog.update(
    user_id=user_id,
    company_id=company_id,
    message_log_id="message_log_fd7z7gjljo1z2wu5g6l9q7r9",
    text="Update a message log text",               # optional
    order=1,                                        # optional
    status="RUNNING",                               # NOTE: optional starting release .44, one of "RUNNING", "COMPLETED", "FAILED"  # NOTE: this param is optional starting .44
    details={},                                     # NOTE: optional starting release .44, details dictionary
    uncitedReferences={},                           # NOTE: optional starting release .44, references dictionary
    references=[],                                  # optional, list of references
)
```

tech **Create Message Execution**\- Params `secondsRemaining` and `percentageCompleted` are now removed when creating a message execution.

**Example**

py

```
msg_execution = unique_sdk.MessageExecution.create(
    user_id=user_id,
    company_id=company_id,
    messageId="msg_a0jgnt1jrqv143uzr750waxw",
    chatId="chat_nx21havszl1skchd7544oykh",
    type="DEEP_RESEARCH",
    # secondsRemaining=None,                       # NOTE: support for this param has been removed starting release .44
    # percentageCompleted=None,                    # NOTE: support for this param has been removed starting release .44
)
```

tech **Update Message Execution**\- The `status` param is now optional when updating a message execution.

**Example**

py

```
msg_execution = unique_sdk.MessageExecution.update(
    user_id=user_id,
    company_id=company_id,
    messageId="msg_a0jgnt1jrqv143uzr750waxw",
    status="COMPLETED",                        # NOTE: optional starting release .44, one of: COMPLETED, FAILED
    secondsRemaining=55,                       # optional, number defining the seconds remaining
    percentageCompleted=10,                    # optional, number defining the percentage completed
)
```

| **Author** |  |
