List Published Customer Profiles
Returns customer profiles that have opted in to the member directory (ProfileIsPublic: true). Supports free-text search, tag filtering, and sort ordering. The portal uses this to render the member directory listing and to power the customer tag input autocomplete.
Authentication
Requires a valid customer bearer token.
Query Parameters
Free-text search string matched against the customer’s name, company, position, bio, and tags. Pass an empty string to return all published
profiles.
Filter results to customers whose ProfileTagsList contains this exact tag value. Pass an empty string to skip tag filtering.
Sort order for results. Default: 1 (alphabetical by name). Check the directory meta endpoint for available order options.
Comma-separated list of field paths to include in the response. When provided, only the
specified fields are returned — useful for reducing payload size. Supports nested paths
using dot notation. Example: _shape=Records.FullName,Records.CompanyName,Records.AvatarUrl,TotalItems.
Response
Returns an ApiListResult<Coworker> — a paginated wrapper containing an array of published customer profiles.
Array of published customer profiles for the current page.
Current page number (1-based).
Total number of matching published profiles.
Whether there are more pages after the current one.
Whether there are pages before the current one.
Coworker Fields (within Records[])
Unique numeric identifier for the customer profile. Use as coworkerId in GET /api/public/coworkers/published/{coworkerId}.
Globally unique identifier for the profile.
Records[].GuessedFirstName
First name extracted from FullName for use in personalised UI text.
URL to the customer’s avatar image.
Industry or area of work.
Professional bio. May contain Markdown.
Personal or company website URL.
Records[].ProfileTagsList
Array of tag strings from the customer’s profile.
Records[].InvoicingSpaceName
Display name of the location this customer is invoiced at.
| Field | Type | Description |
|---|
Twitter | string | null | Twitter profile URL or handle |
Linkedin | string | null | LinkedIn profile URL |
Github | string | null | GitHub profile URL or username |
Instagram | string | null | Instagram handle or URL |
Facebook | string | null | Facebook profile URL |
Skype | string | null | Skype username |
Telegram | string | null | Telegram username |
Example Response
{
"Records": [
{
"Id": 101,
"UniqueId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"FullName": "Jane Doe",
"GuessedFirstName": "Jane",
"AvatarUrl": "https://nexudushq.spaces.nexudus.com/media/coworker/101/avatar",
"Position": "Product Designer",
"CompanyName": "Acme Design Co.",
"BusinessArea": "Design",
"ProfileSummary": "Jane specialises in design systems and user research.",
"ProfileWebsite": "https://janedoe.design",
"ProfileTagsList": ["UX", "Design Systems", "Research"],
"InvoicingSpaceName": "Nexudus HQ",
"Linkedin": "https://linkedin.com/in/janedoe",
"Twitter": null
}
],
"CurrentPage": 1,
"TotalItems": 42,
"TotalPages": 5,
"HasNextPage": true,
"HasPreviousPage": false
}
TypeScript Integration
import endpoints from '@/api/endpoints'
import { Coworker } from '@/types/spaces/Coworker'
import { ApiListResult } from '@/types/ApiListResult'
import { useData } from '@/api/fetchData'
const url = endpoints.coworkers.directory.published_list(searchQuery, selectedTag, sortOrder)
// => '/api/public/coworkers/published?query=design&tag=UX&order=1'
const { resource: members } = useData<ApiListResult<Coworker>>(httpClient, url)
Usage in Portal
| Context | Source file |
|---|
| Member directory listing page | src/views/community/directory/components/useDirectoryData.ts |
| Customer tag autocomplete input | src/components/CoworkerTagInput.tsx |
Error Responses
The bearer token is missing, expired, or invalid.
| Method | Endpoint | Description |
|---|
GET | /api/public/coworkers/published/{coworkerId} | Get a single published customer profile |
GET | /api/public/coworkers/published/{coworkerId}/related | Get related profiles for a customer |
GET | /api/public/coworkers/directory/meta | Get directory configuration and tag cloud |