Skip to Content
APIPeer Supporters

Peer Supporters

Retrieve a paginated list of the peer supporters in your organization. The endpoint returns the org-specific peer supporter profile (bio, motivation, recovery status, rating) and, when the same person is also a platform-level peer supporter on HeyPeers, includes that supplementary information under a nested independent_peer_supporter object.

Use this endpoint to power a “Meet our peer supporters” page on your website, a directory, or any internal tool that needs structured access to your peer supporter roster.

Endpoint

  • GET: /api/v2/organizations/:organization_id/peer_supporters

Authentication

  • Authorization: Bearer <token> header
  • Token must resolve to the target organization via AuthorizeApiRequest

Optional Query Parameters

NameTypeDefaultDescription
qStringCase-insensitive substring match against the user’s first name, last name, or the org member’s bio.
searchStringAlias for q.
pageInteger1Page number (1-indexed).
itemsInteger10Items per page. Clamped to 1..100.

Example Request

GET /api/v2/organizations/5/peer_supporters?q=jane&page=1&items=20 Authorization: Bearer <token> Accept: application/json
curl -X GET "https://heypeers.com/api/v2/organizations/{ORG_ID}/peer_supporters?q=jane&page=1&items=20" \ -H "Authorization: Bearer {TOKEN}" \ -H "Accept: application/json"

Success Response

200 OK

{ "current_page": 1, "items": 20, "total_items": 47, "total_pages": 3, "peer_supporters": [ { "id": 812, "user_id": 4501, "first_name": "Jane", "last_name": "Doe", "full_name": "Jane D.", "bio": "Certified peer supporter focused on grief and loss.", "motivation": "Helping others find their footing after loss.", "recovery_status": "10 years in recovery from substance use.", "time_zone": "America/Los_Angeles", "profile_image_url": "https://heypeers-assets.s3.amazonaws.com/users/avatars/medium/4501.png", "profile_image_thumb_url": "https://heypeers-assets.s3.amazonaws.com/users/avatars/thumb/4501.png", "status": "approved", "rating": 4.8, "feedback_count": 32, "is_independent_peer_supporter": true, "independent_peer_supporter": { "about": "I've been a peer supporter on HeyPeers since 2022.", "rating": 4.9, "ratings_count": 118, "preference": { "peer_support_interests": ["Grief", "PTSD"], "availability": true, "greetings": "Hi, I'm Jane. Happy to meet you.", "motivation": "Paying forward the support I received.", "recovery_status": "10 years in recovery." } } }, { "id": 813, "user_id": 4502, "first_name": "Sam", "last_name": "Lee", "full_name": "Sam L.", "bio": "Group facilitator and peer supporter.", "motivation": null, "recovery_status": null, "time_zone": "America/New_York", "profile_image_url": "https://ssl.gstatic.com/accounts/ui/avatar_2x.png", "profile_image_thumb_url": "https://ssl.gstatic.com/accounts/ui/avatar_2x.png", "status": "approved", "rating": 0.0, "feedback_count": 0, "is_independent_peer_supporter": false, "independent_peer_supporter": null } ] }

Response Fields

Top-level

FieldTypeDescription
current_pageIntegerCurrent page number.
itemsIntegerPage size used for the response.
total_itemsIntegerTotal number of peer supporters across all pages.
total_pagesIntegerTotal number of pages.
peer_supportersArrayPeer supporter records on the current page.

Peer supporter object

FieldTypeSourceDescription
idIntegerOrganizationMemberThe organization member id. Stable identifier for this peer supporter within your organization.
user_idIntegerUserThe underlying HeyPeers user id.
first_nameStringUser
last_nameStringUser
full_nameStringUserDisplay name (first name + last initial).
bioStringOrganizationMemberOrg-specific bio (max 600 chars).
motivationStringOrganizationMemberOrg-specific “why I’m a peer supporter” statement.
recovery_statusStringOrganizationMemberOrg-specific recovery summary.
time_zoneStringUserIANA time zone.
profile_image_urlStringUserURL for the medium (300x300) avatar. Falls back to a default avatar if unset.
profile_image_thumb_urlStringUserURL for the thumb (100x100) avatar. Falls back to a default avatar if unset.
statusStringOrganizationMemberpending or approved.
ratingFloatOrganizationMemberAverage org-level rating.
feedback_countIntegerOrganizationMemberNumber of org-level feedback ratings received.
is_independent_peer_supporterBooleanPeerSupporterTrue when the same user also holds an active platform-level peer supporter profile on HeyPeers.
independent_peer_supporterObject | nullPeerSupporterPlatform-level peer supporter details. null when is_independent_peer_supporter is false or the independent profile is closed.

independent_peer_supporter object

FieldTypeSourceDescription
aboutStringUserPlatform-level bio (separate from the org-level bio).
ratingFloatPeerSupporterAverage rating from platform-level engagements.
ratings_countIntegerPeerSupporterNumber of platform-level ratings received.
preferenceObjectPreferenceUser-level preferences (see below).

independent_peer_supporter.preference object

FieldTypeDescription
peer_support_interestsArray<String>Topics the peer supporter is interested in covering at the platform level. Empty array when none are set.
availabilityBooleanWhether the peer supporter is currently accepting requests at the platform level.
greetingsStringPublic greeting / introduction line.
motivationStringPlatform-level motivation statement.
recovery_statusStringPlatform-level recovery summary.

Error Responses

  • 401 Unauthorized
    • { "error": "Unauthorized Access" } when the bearer token does not resolve to an organization.
    • { "error": "Not Authorized" } when the token resolves to a different organization than the one in the URL.

Notes

  • Results are filtered to organization members who hold the peer_supporter org role.
  • Responses are paginated. The defaults are items=10 and page=1.
  • The independent_peer_supporter lookup is scoped to platform-level peer supporters only (PeerSupporter records with no organization_id).
  • Org-level fields (bio, motivation, recovery_status, rating, feedback_count) and independent-level fields are maintained separately so you can choose which to display. Top-level fields describe the peer supporter within your organization; the nested object describes their broader HeyPeers presence.
Last updated on