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

# Money & payload conventions

> Integer-cents money, the input/inputs body wrappers, and the authentication header — the request conventions every endpoint shares.

## All monetary fields are integer cents

Money is stored as integers in the smallest currency unit (US cents for USD). A \$2,847.50 shipment rate goes over the wire as `284750`. This applies to `customerTotalRate`, `carrierTotalRate`, `totalAmount`, `balance`, `totalTaxAmount`, and similar fields.

Float values are rejected at runtime:

```
"error":"The value 2847.5 lies outside the bounds or is not an integer. Maybe it is a float, or is there integer overflow?"
```

## Wrapping POST payloads

For most insert endpoints, the request body shape is:

```json theme={null}
{ "input": { "field": "value", "...": "..." } }
```

A few endpoints (the bulk inserts) use `{ "inputs": [...] }`. If you get a `bad-request: Unexpected variable <fieldName>` error, your payload likely needs to be wrapped in `input`.

## Authentication header

Send your API key in the `Authorization` header — bare or with a `Bearer ` prefix, both
accepted. Keys, scope, environments, and rotation are covered in
[Authentication](/authentication).
