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

# Returning results

> What the assistant does with what you send back.

## The shape

```json theme={null}
{
  "content": [{ "type": "text", "text": "MC2045: georgette, 5 colours, Rs 1,450" }],
  "structuredContent": { "sku": "MC2045", "price_paise": 145000 },
  "isError": false
}
```

| Field               | Becomes  | Notes                     |
| ------------------- | -------- | ------------------------- |
| `content[].text`    | `result` | Joined with newlines      |
| `structuredContent` | `data`   | Passed through untouched  |
| `isError: true`     | `error`  | The assistant explains it |

Image and audio blocks are replaced with `[image omitted]`. The turn has no
image path, and a base64 blob is thousands of tokens the model cannot use.

## Write for a reader, not a parser

The text goes to a language model, which then talks to a person. **You decide
the formatting** — the platform imposes no result schema, deliberately, so
that a parsing layer never becomes a contract you have to conform to.

<CodeGroup>
  ```text Good theme={null}
  MC2045 — georgette, 5 colours (red, blue, green, black, maroon).
  Retail Rs 1,450 per piece. Full set of 5: Rs 6,250. In stock.
  ```

  ```json Worse theme={null}
  {"i":"MC2045","f":2,"c":[1,2,3,4,5],"p":145000,"s":625000,"st":1}
  ```
</CodeGroup>

The second one works. It also spends the model's attention on decoding your
abbreviations, and every ambiguity becomes something it can get wrong in front
of a customer.

## Errors are answers

`isError: true` is for a tool that ran and refused — "out of stock", "not a
valid design ID", "this buyer is not verified for wholesale". Say why, in a
sentence the assistant can pass on.

```json theme={null}
{ "isError": true,
  "content": [{ "type": "text",
    "text": "MC9999 is not a design we carry. Ask for the code on the tag." }] }
```

<Note>
  Reserve transport-level failures for transport-level problems. A refusal
  your business logic made is a result, not an outage.
</Note>

## Say what is true, not what is convenient

The assistant is instructed never to state a price, stock level or status a
tool did not just return. That guarantee is only as good as your results: if
you return a stale price, it will be quoted confidently.
