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

# GET /v1/platform/users

> List all users connected to your platform

## Overview

Returns a list of all users who have connected their Google Calendar to your platform.

## Authentication

Requires **Platform API Key** in the `X-API-Key` header.

## Request

```bash theme={null}
GET https://api.syncline.run/v1/platform/users
```

## Response

```json theme={null}
{
  "users": [
    {
      "email": "alice@example.com",
      "google_id": "103847562910384756291",
      "connected_at": "2025-01-15T10:30:00Z",
      "preferences": {
        "work_hours": {
          "monday": { "enabled": true, "start": "09:00", "end": "17:00" }
        },
        "timezone": "America/New_York",
        "buffer_minutes": 15,
        "energy_pattern": "morning_person"
      }
    },
    {
      "email": "bob@example.com",
      "google_id": "209384756291038475629",
      "connected_at": "2025-01-16T14:20:00Z",
      "preferences": {
        "work_hours": {
          "monday": { "enabled": true, "start": "10:00", "end": "18:00" }
        },
        "timezone": "America/Los_Angeles",
        "buffer_minutes": 30,
        "energy_pattern": "afternoon_person"
      }
    }
  ],
  "total": 2
}
```

## Response Fields

<ResponseField name="users" type="array">
  Array of connected users

  * `email`: User's email address
  * `google_id`: Google account ID
  * `connected_at`: When they connected their calendar
  * `preferences`: Their scheduling preferences
</ResponseField>

<ResponseField name="total" type="integer">
  Total number of connected users
</ResponseField>

## Use Cases

### Monitor User Adoption

```javascript theme={null}
const { users, total } = await getConnectedUsers();

console.log(`${total} users have connected calendars`);

// Find recently connected users
const recentUsers = users.filter(u => {
  const connectedDate = new Date(u.connected_at);
  const daysAgo = (Date.now() - connectedDate) / (1000 * 60 * 60 * 24);
  return daysAgo <= 7;
});

console.log(`${recentUsers.length} new users this week`);
```

### Analyze Preferences

```javascript theme={null}
const { users } = await getConnectedUsers();

// Find morning people
const morningPeople = users.filter(u =>
  u.preferences.energy_pattern === 'morning_person'
);

console.log(`${morningPeople.length} morning people`);
```

## Check Single User Status

To check if a specific user is connected, use:

```bash theme={null}
GET /v1/platform/users/status?email=alice@example.com
```

See [Check User Status](/api-reference/platform-user-status) for details.
