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
Full-text search string matched against team names and descriptions. Default: "" (no filter).
Filter results to teams that have this tag in their ProfileTags. Default: "" (no filter).
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
1-based page number. Default: 1
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
| Field | Type | Description |
|---|
Id | number | Unique numeric identifier for the team |
Name | string | Team display name |
ProfileSummary | string | Short team bio |
ProfileIsPublic | boolean | Whether the profile is publicly visible |
ProfileWebsite | string | Team website URL |
HasTeamLogo | boolean | Whether the team has a logo image |
TeamMembersCount | number | Number of team members |
BusinessName | string | Location display name |
Twitter | string | Twitter handle/URL |
Linkedin | string | LinkedIn URL |
Github | string | GitHub URL |
Instagram | string | Instagram 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
| Context | Source file |
|---|
Community directory (/community/directory) | src/views/community/directory/components/useDirectoryData.ts |
Error Responses
The customer is not authenticated or the session has expired.
| Method | Endpoint | Description |
|---|
GET | /api/public/teams/published/{teamId} | Full profile of a single published team |
GET | /api/public/teams/directory/meta | Directory metadata (tags, config) |
GET | /api/public/teams/my | List the customer’s own teams |