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

# Streaming error reference

The behavior of errors differs between non-streaming and streaming API calls.

| Aspect              | Non-streaming                             | Streaming (`IngestData`)                                                                                           |
| ------------------- | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| Error scope         | Error indicates that specific call failed | Error may mean none of the data points in that request were saved                                                  |
| Client action       | Handle the error appropriately            | Retry all data from that request                                                                                   |
| Data overwrite      | Not applicable                            | Sift overwrites existing data on retry                                                                             |
| Retransmission risk | Low; discrete calls are self-contained    | Higher; client is continuously streaming so it is not guaranteed that an error is related to the last request sent |

**Recommendation**: Break data into discrete batches instead of streaming continuously. If a failure occurs, only the latest batch needs to be retried, which improves reliability and reduces the impact of errors on overall data flow.

## Bytes value size limit

A single `bytes` (binary) Channel value is limited to **2 MB** (2,097,152 bytes). Sift rejects any larger value during ingestion with an error such as `bytes value is too large: received <N> bytes, limit is 2097152`. This limit applies to each individual data point and is independent of the overall ingestion message size.

For binary payloads larger than 2 MB, store the data as a [file attachment](/documentation/review/triage-and-close-out-flagged-issues#attach-a-file-to-an-annotation) rather than streaming it as a `bytes` Channel value.
