Skip to main content
GET
/
api
/
public
/
teams
/
published
{
  "401 Unauthorized": {}
}

List Published Teams

Returns a paginated list of teams whose profiles are publicly visible in the member directory. Supports full-text search by name and filtering by profile tag. Used by the community directory page to render team cards alongside member profiles.

Authentication

Requires a valid customer bearer token.

Query Parameters

query
string
Full-text search string matched against team names and descriptions. Default: "" (no filter).
tag
string
Filter results to teams that have this tag in their ProfileTags. Default: "" (no filter).
order
number
Sort order. Default: 1.
_shape
string
Comma-separated dot-notated field paths to include in the response. When provided, only the specified fields are returned — useful for reducing payload size. Example: _shape=Records.Id,Records.Name,Records.ProfileSummary
_page
number
1-based page number. Default: 1
_pageSize
number
Records per page. Default: 25 · Maximum: 100

Response

Returns the standard ApiListResult<Team> envelope (see API Overview for pagination fields). The Records array contains team objects with the same shape as GET /api/public/teams/my. See that endpoint for the full field breakdown.

Key Team Fields

FieldTypeDescription
IdnumberUnique numeric identifier for the team
NamestringTeam display name
ProfileSummarystringShort team bio
ProfileIsPublicbooleanWhether the profile is publicly visible
ProfileWebsitestringTeam website URL
HasTeamLogobooleanWhether the team has a logo image
TeamMembersCountnumberNumber of team members
BusinessNamestringLocation display name
TwitterstringTwitter handle/URL
LinkedinstringLinkedIn URL
GithubstringGitHub URL
InstagramstringInstagram URL

Examples

Search published teams

GET /api/public/teams/published?query=tech&tag=innovation&order=1
Authorization: Bearer {token}
{
  "Records": [
    {
      "Id": 55,
      "Name": "Tech Innovators",
      "ProfileSummary": "Building the future, one innovation at a time",
      "ProfileIsPublic": true,
      "ProfileTags": "technology startup innovation",
      "ProfileTagsList": ["technology", "startup", "innovation"],
      "HasTeamLogo": true,
      "TeamMembersCount": 12,
      "BusinessName": "Downtown Coworking Hub"
    }
  ],
  "CurrentPageSize": 1,
  "CurrentPage": 1,
  "HasNextPage": false,
  "HasPreviousPage": false,
  "TotalItems": 1,
  "TotalPages": 1
}

TypeScript Integration

import { endpoints } from '@/api/endpoints'
import { useData } from '@/hooks/useData'

const { resource: teams } = useData(httpClient, endpoints.teams.directory.published_list(query, tag, order))

Usage in Portal

ContextSource file
Community directory (/community/directory)src/views/community/directory/components/useDirectoryData.ts

Error Responses

401 Unauthorized
error
The customer is not authenticated or the session has expired.
MethodEndpointDescription
GET/api/public/teams/published/{teamId}Full profile of a single published team
GET/api/public/teams/directory/metaDirectory metadata (tags, config)
GET/api/public/teams/myList the customer’s own teams