# Users

## List users

 - [GET /reps](https://docs.converz.co/openapi/users/getreps.md): This endpoint returns all users as JSON rows, e.g.,
[{"rep_id":"kees500","gender":"m","campaign":"sales"},{"rep_id":"cas501","gender":"m","campaign":"sales"},{"rep_id":"kris502","gender":"m","campaign":"service"}].
This is the default format for retrieving user attributes.

## Update one or more users by rep_id.

 - [POST /reps](https://docs.converz.co/openapi/users/updatereps.md): Update attributes on one or more users.

Input format can be columnar, e.g., {"rep_id":["mila","liam"],"gender":["f","m"]},
or row-wise, e.g., [{"rep_id":"mila","gender":"f"},{"rep_id":"liam","gender":"m"}].

Note: if a variable is supplied for only some rows, the value will be set to null for other rows, e.g.,
[{"rep_id":"mila","gender":"f"},{"rep_id":"liam","name":"Liam"}] will set mila's name
to null and liam's gender to null.

A safe way to avoid bugs like this is to always use the columnar format, e.g.,
{"rep_id":["mila","liam"],"gender":["f","m"]} doesn't set any values to null, or
{"rep_id":["mila","liam"],"gender":["f",null],"name":[null,"Liam"]} only sets the name
for liam and the gender for mila.

Max rows per request: 100000.

