## Documentation Index

Fetch the complete documentation index at: [/llms.txt](https://docs.momentum.io/llms.txt)

Use this file to discover all available pages before exploring further.

### cURL

```
curl --request GET \
  --url 'https://api.momentum.io/v1/users?pageSize=50&licenseAdded=true' \
  --header 'X-API-Key: YOUR_API_KEY'
```

```
const response = await fetch(
  "https://api.momentum.io/v1/users?pageSize=50&licenseAdded=true",
  {
    headers: { "X-API-Key": "YOUR_API_KEY" },
  }
);
const data = await response.json();
```

```
import requests

response = requests.get(
    "https://api.momentum.io/v1/users",
    headers={"X-API-Key": "YOUR_API_KEY"},
    params={
        "pageSize": 50,
        "licenseAdded": "true",
    },
)
data = response.json()
```

```
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

url := "https://api.momentum.io/v1/users?pageNumber=1&pageSize=10"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("X-API-Key", "<api-key>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
```

### HTTP Status Codes

- `200`: Successful response
- `400`: Bad request
- `500`: Internal server error

### Example JSON Response

```
{
  "users": [
    {
      "email": "jsmith@example.com",
      "name": "<string>",
      "type": "<string>",
      "licenseAdded": true,
      "slackUserId": "<string>",
      "title": "<string>",
      "salesforceDepartment": "<string>",
      "salesforceUserRole": "<string>",
      "licenseAssignedAt": "2023-11-07T05:31:56Z"
    }
  ],
  "pageCount": 123
}
```

```
{
  "error": "<string>"
}
```

```
{
  "error": "Internal server error"
}
```

### Authorizations

**X-API-Key**  
Type: string, header, required.  
API key for authenticating requests.

### Query Parameters

- **pageNumber** (integer<int32>, default: 1): The page number to retrieve (1-based indexing). Defaults to 1 if not specified. Required range: `x >= 1`
- **pageSize** (integer<int32>, default: 10): The maximum number of users to return per page. Must be between 1 and 50. Defaults to 10 if not specified. Required range: `1 <= x <= 50`
- **licenseAdded** (boolean): Filter users by license status. Use 'true' for licensed users, 'false' for unlicensed users.
- **role** (enum<string>): Filter users by role. Available options: `VIEWER`, `EDITOR`, `ORGANIZATION_ADMIN`, `USER_ADMIN`, `USER`.

### Response

- **200**: application/json  
A paginated list of users.

- **users** (object[]): Required. Shows child attributes.
- **pageCount** (integer<int32>): Required. Total number of pages available for the current query.
