Skip to content

Add Team Websites Support to Umami Integration #41

Description

@jaavid

The mobile app currently fetches websites from Umami using:

GET /api/websites?pageSize=20

This only returns websites directly accessible to the authenticated user and does not request team-owned websites.

According to the Umami API documentation, the endpoint supports an includeTeams query parameter:

GET /api/websites?includeTeams=true

When enabled, websites associated with teams the user belongs to are included in the response.


Problem

Users who have access to websites through Umami Teams do not see those websites in the application.

Current implementation:

Requests.get(
endpoint: '${Endpoints.websites}?pageSize=20',
);

As a result:

Team websites may be missing from the list.

Users see an incomplete set of available websites.

Multi-team Umami installations are not fully supported.


Required Changes

  1. Enable Team Website Retrieval

Update the request to include:

includeTeams=true

Example:

Requests.get(
endpoint: '${Endpoints.websites}?includeTeams=true&pageSize=100',
);


  1. Review Pagination Strategy

Current implementation uses:

pageSize=20

This may truncate results for installations with more than 20 websites.

Options:

Short-term

Increase:

pageSize=100

Long-term

Implement proper pagination using:

page

pageSize

API response metadata (count)

and fetch all pages when necessary.


  1. Verify Model Compatibility

Confirm that existing parsing logic:

Website.toList(res['data'])

works correctly when team websites are returned.

Review whether additional fields such as:

teamId

teamName

team ownership metadata

should be stored or exposed in the UI.


Acceptance Criteria

[ ] Website list includes personal websites.

[ ] Website list includes websites accessible through Umami Teams.

[ ] Users with team-only access can see those websites.

[ ] No regression for existing personal websites.

[ ] Pagination does not silently hide websites when count > 20.

[ ] Tested against a multi-team Umami instance.


References

Umami Websites API Documentation

Priority

Medium–High

This affects visibility of analytics properties and can make the application appear incomplete for organizations using Umami Teams.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions