---
title: "Get user groups"
method: GET
path: "/groups"
tags: ["groups"]
---

# Get user groups

`GET /groups`

## Request

- Base URL: `http://localhost:3001`
- URL: `http://localhost:3001/groups`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Retrieves all groups that the current user is a member of

## Query parameters

- `search` string
- `limit` number
- `page` number

## Response `200`

Groups retrieved successfully

- object
  - `data` PaginatedGroupsResponseDto
    - `data` GroupResponseDto[], required
      - `id` string, required
      - `name` string, required
      - `description` string
      - `createdBy` string, required
      - `createdAt` string, required: ISO creation timestamp
      - `updatedAt` string, required: ISO last update timestamp
      - `members` GroupMemberResponseDto[], required
        - `id` string, required
        - `userId` string, required
        - `displayName` string, required
        - `email` string, required
        - `role` 'admin' | 'member', required
        - `joinedAt` string, required: ISO timestamp when the user joined
        - `leftAt` string, nullable, required
        - `avatarUrl` string, nullable
        - `displayOrder` number, nullable: Custom display order for this membership
        - `overrideIcon` string, nullable
        - `overrideColor` string, nullable
      - `memberCount` number, required
      - `defaultCurrency` string, required
      - `supportedCurrencies` string[], required
      - `currencyOrder` string[], required
      - `icon` string, required
      - `color` string, required
      - `transactions` object[], required: Transactions for the group (typically omitted or empty in this response; loaded via separate transactions endpoint)
      - `groupIcon` string, required
      - `groupColor` string, required
    - `total` number, required
    - `page` number, required
    - `limit` number, required
    - `hasNext` boolean, required
    - `hasPrev` boolean, required
  - `success` boolean
  - `message` string

## Other responses

- `400`: Bad Request - Invalid input or validation failed
- `401`: Unauthorized - Authentication required or invalid token
- `403`: Forbidden - Insufficient permissions to access this resource
- `404`: Not Found - The requested resource does not exist
- `500`: Internal Server Error - An unexpected error occurred

---

[API](https://skmtc.dev/spliteo/apis/spliteo-api.md) · [All operations](https://skmtc.dev/spliteo/apis/spliteo-api/llms.txt) · [OpenAPI document](https://skmtc.dev/spliteo/apis/spliteo-api/revisions/bd9b84f4e407?raw)
