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

# Query parameters

> Pass several values, filter collections and expand references

## Several values

Repeat the key:

```txt theme={null}
GET /threads?accountLinkId=df6jbw4h36qm5d9iu2sgn7kx&accountLinkId=k2m5j0xn4wq7ybftcaelp8rv
```

Values of one key are matched with OR. Different keys are combined with AND.

<Warning>
  Brackets (`ids[]=…`, `filter[tag]=…`) and comma-separated values aren't
  supported. `tag=a,b` looks for one tag named `a,b`.
</Warning>

With `URLSearchParams`, use `append`:

```typescript theme={null}
const params = new URLSearchParams({ folder: "inbox" });

for (const tag of ["hot-lead", "demo-requested"]) params.append("tag", tag);

const url = `https://inboxapp.com/api/v2/threads?${params}`;
```

```python theme={null}
import os
import requests

response = requests.get(
    "https://inboxapp.com/api/v2/threads",
    headers={"Authorization": f"Bearer {os.environ['INBOX_API_TOKEN']}"},
    params={"folder": "inbox", "tag": ["hot-lead", "demo-requested"]},
)
response.raise_for_status()
```

## Booleans and numbers

Booleans are `true` or `false`. Numbers are plain digits. Timestamps are ISO 8601 in UTC.

## Expansion

References are IDs by default. `expand` embeds the related resource next to its ID field, one path per key, at most 4 per request:

```txt theme={null}
GET /threads?expand=contact&expand=profile
```

| Resource | Paths |
| - | - |
| Thread | `profile`, `contact`, `accountLink`, `assignee` |
| Message | `sentBy`, `reactions.author`, `thread`, `accountLink`, `replyTo.message` |
| Contact | `status`, `tags`, `assignee` |

```json theme={null}
{
  "id": "l44e15irdq4db30i77cgphhx",
  "contactId": "nq2r8v5ycx1t7m4hj6kd3wzb",
  "contact": { "id": "nq2r8v5ycx1t7m4hj6kd3wzb", "statusId": null }
}
```

An expanded field is absent when the reference is `null`.

## Request bodies

In a `PATCH` body, an omitted field is left unchanged and `null` clears a nullable field.

```bash theme={null}
curl -X PATCH "https://inboxapp.com/api/v2/contacts/nq2r8v5ycx1t7m4hj6kd3wzb" \
  -H "Authorization: Bearer $INBOX_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "notes": null }'
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.