---
title: "Read User Communities"
method: GET
path: "/v1/user_detail/{user_id}/communities"
tags: ["User Detail"]
---

# Read User Communities

`GET /v1/user_detail/{user_id}/communities`

## Request

- Base URL: `https://api.navigatr.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.navigatr.app/v1/user_detail/{user_id}/communities`
- Auth: OAuth 2
  - Password
  - Token URL: `/v1/token`

Get a list of communities associated to the user.
Auth required (Bearer or PAT). Use ID 0 to get the current user.

## Path parameters

- `user_id` integer, required

## Headers

- `X-Access-Token` string, nullable

## Response `200`

Successful Response

- Community[]
  - `name` string, nullable
  - `short_name` string, nullable
  - `organisation_name` string, nullable
  - `company_number` string, nullable
  - `verification_url` string, nullable
  - `type` 'City' | 'Region' | 'Local_Authority' | 'Membership_Organisation' | 'Awarding_Body' | 'Partnership' | 'Corporate' | 'Association' | 'University' | 'College' | 'Charity' | 'Other'
  - `description` string, nullable
  - `email` string, email, nullable
  - `phone` string, nullable
  - `address` string, nullable
  - `latitude` number, nullable
  - `longitude` number, nullable
  - `city` string, nullable
  - `country` string, nullable
  - `is_default` boolean, nullable
  - `external_url` string, nullable
  - `image_url` string, nullable
  - `banner_url` string, nullable
  - `image_url_2x` string, nullable
  - `banner_url_2x` string, nullable
  - `image_url_original` string, nullable
  - `banner_url_original` string, nullable
  - `featured` boolean, nullable
  - `colour` string, nullable
  - `enable_summary_emails` boolean, nullable
  - `linkedin_organisation_id` integer, nullable
  - `social_handle_linkedin` string, nullable
  - `social_handle_twitter` string, nullable
  - `social_handle_facebook` string, nullable
  - `social_handle_instagram` string, nullable
  - `consent_supply_of_service` string, date-time, nullable
  - `consent_supply_of_service_by` integer, nullable
  - `pipedrive_org_id` integer, nullable
  - `pipedrive_deal_id` integer, nullable
  - `id` integer
  - `status` 'Active' | 'Suspended' | 'Deleted'
  - `seo_keywords` string[], nullable
  - `seo_title` string, nullable
  - `seo_description` string, nullable
  - `enable_engagement_emails` boolean, nullable
  - `suspension_reason` 'Subscription_Expired' | 'Manual'
  - `ranking` integer, nullable
  - `created_by_id` integer, nullable
  - `updated_by_id` integer, nullable
  - `verified_by_id` integer, nullable
  - `verification_request_by_id` integer, nullable
  - `time_created` string, date-time
  - `time_updated` string, date-time, nullable
  - `time_verified` string, date-time, nullable
  - `time_stats_email_sent` string, date-time, nullable
  - `postal_address` Address
    - `full_address` string, nullable
    - `name` string, nullable
    - `number` string, nullable
    - `street` string, nullable
    - `postcode` string, nullable
    - `locality` string, nullable
    - `city` string, nullable
    - `district` string, nullable
    - `region` string, nullable
    - `country` string, nullable
  - `config` unknown
  - `survey_consent` string, nullable
  - `is_demo` boolean, nullable
  - `is_verified` boolean, nullable
  - `verification_text` string, nullable
  - `verification_email` string, email, nullable
  - `enable_analytics` boolean, nullable
  - `enable_members` boolean, nullable
  - `enable_library_card` boolean, nullable
  - `spydus_library_url` string, nullable
  - `referral_code` string, nullable
  - `member_visibility_default` 'Public' | 'Private': Who may see a user's human-readable public pages (profile, badge and pathway assertion). Deliberately NOT a User_Status value: a Private user is still Active, they can sign in, earn badges and be issued to exactly as before. Also independent of `noindex_enabled`, which only asks search engines not to index a page that stays publicly reachable. Enforced in crud_user_detail.can_read, so every existing "view this user" gate inherits it.
  - `url` string, nullable

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `405`: Method Not Allowed
- `410`: Gone
- `422`: Validation Error

## Changes

- **2026-11-07** `efbd3c328549`: 1 info
  - added the optional property `items/suspension_reason` to the response with the `200` status
- **2026-09-24** `2e7136176810`: 1 info
  - added the optional property `items/member_visibility_default` to the response with the `200` status
- **2026-08-06** `4039d06e340b`: 4 warning, 17 info
  - removed the optional property `items/consent_service_agreement` from the response with the `200` status
  - removed the optional property `items/consent_service_agreement_by` from the response with the `200` status
  - removed the optional property `items/privacy_policy_text` from the response with the `200` status
  - removed the optional property `items/requires_sensitive_data` from the response with the `200` status
  - …17 more
- **2025-11-20** `6eb631bcc695`: 53 breaking, 19 info
  - response property `items/address` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `items/banner_url` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `items/banner_url_2x` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `items/banner_url_original` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - …68 more

[Operation history](https://skmtc.dev/navigatr/apis/navigatr-api/changes/v1/user_detail/:user_id/communities/get.md)

---

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