> Documentation index: https://beezr.io/developers/api/llms.txt

# Records and field values

## Send only the fields you need

`data` is an object keyed by field System name. Create returns the record id plus the fields sent. Update changes only the fields you send and returns the re-read record. If that re-read fails, update returns only the id.

Unknown field names are ignored. When none of the fields match the module, the call returns HTTP 400 `INVALID_DATA`. Business rules still apply; read `error.message` if a write fails.

## Values by field type

| Field type | How to send | How it comes back |
|---|---|---|
| Text and other text-valued fields | Text | Stored value as text |
| Lookup | Integer id; `5` and `"5"` work | As shown in the Designer; confirm representation |
| Relation (REL) | Integer id; `5` and `"5"` work | As shown in the Designer; confirm representation |
| User | Integer id | As shown in the Designer; confirm representation |
| INT, LONG | Integer id; `5` and `"5"` work | As shown in the Designer; confirm numeric representation |
| Date | As shown in the Designer | As shown in the Designer |
| Datetime | As shown in the Designer | As shown in the Designer |
| Decimal | As shown in the Designer | As shown in the Designer |
| Boolean | As shown in the Designer | As shown in the Designer |
| CONTENT | One upload object | One file reference in v4 |
| MULTI_CONTENT, MEDIA_IMG_GALLERY | Array of upload objects | Array of file references in v4 |

`id` itself is always an integer. Other record fields are keyed by their System names. Don't infer their returned types from the input type.

## Upload object

```json
{"fileName":"contract.pdf","contentType":"application/pdf","data":"<base64>"}
```

Files are up to 10 MB each after decoding. `contentType` is informational; the extension comes from `fileName`. See [Files](/developers/api/files/).

## Bulk results need inspection

Bulk create, update and delete process items separately, in order. These calls are not all-or-nothing. Inspect `failed` and `failures` before treating the batch as complete. Each batch accepts 1–100 items and counts as one request.

