Get Team Profile
Returns the complete profile for a specific team, including member lists, billing configuration, social media links, and media flags. Team administrators use this to manage the team’s public profile; regular members use it for read-only access.
A team is a group of customers within a coworking location that can share resources, bookings, and billing. The portal maps teams to companies
or departments that co-habit a space.
Authentication
Requires a valid customer bearer token. The customer must be a member or administrator of the requested team.
Path Parameters
Query Parameters
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=Name,ProfileSummary,ProfileIsPublic,TeamMembers
Response
Returns a single team profile object (not wrapped in a list envelope).
Core Fields
Unique integer identifier. Use as {teamId} in all team-scoped endpoints.
UUID for the team — stable across renames and useful as a cache key.
String cast of Id. Provided for environments that lose integer precision.
Display name of the team.
Profile
Full-length team description. May contain HTML.
Short tagline shown in team cards and selectors.
When true, the team profile is visible in the public member directory.
Space-separated tag string. Use ProfileTagsList for array access.
Pre-split array of tag strings derived from ProfileTags.
Location
Name of the coworking location this team belongs to.
URL of the coworking location’s home page.
All social fields are string | null. Provide a full URL unless stated otherwise.
| Field | Description |
|---|
Twitter | X / Twitter profile URL |
Facebook | Facebook page URL |
Linkedin | LinkedIn company page URL |
Instagram | Instagram profile URL |
Github | GitHub org or user URL |
Pinterest | Pinterest profile URL |
Skype | Skype username |
Telegram | Telegram handle |
Flickr | Flickr profile URL |
Vimeo | Vimeo channel URL |
Tumblr | Tumblr blog URL |
Blogger | Blogger profile URL |
Members
Total count of active members (admins + regular members).
TeamAdministratorsFullNames
Display names of all team admins.
Full Customer objects for admins only.
Full Customer objects for non-admin members.
Combined Customer objects for all members (admins + regular). Use this instead of merging the two arrays above.
Billing & Configuration
Customer ID of the member who receives consolidated invoices, if CreateSingleInvoiceForTeam is true.
CreateSingleInvoiceForTeam
When true, all team charges are rolled into a single invoice addressed to PayingMemberId.
Maximum allowed members. null means unlimited.
Whether billing/contact details have been configured for this team.
Whether the team has a default membership plan assigned.
ID of the default membership plan assigned to new team members.
Display name of the default membership plan.
DefaultMemberTariffKeepNewAccountsOnHold
When true, new members added to the team are placed on hold until manually activated.
DisableAttendaceDashboard
When true, the attendance dashboard is hidden for this team. Note the typo in the field name (Attendace) — it is preserved as-is in the API.
Percentage discount applied to charges for team members.
Percentage discount applied to extra services for team members.
Percentage discount applied to membership plans for team members.
Percentage discount applied to time passes for team members.
When true, the team has an associated community discussion group.
Google Maps link for the team’s location.
true if the team has an uploaded logo. Construct the logo URL as: https://[space].spaces.nexudus.com/api/public/teams/{Id}/logo
true if profile image 1 has been uploaded.
true if profile image 2 has been uploaded.
true if profile image 3 has been uploaded.
Convenience flag — true if any of the three profile images are present.
Timestamps
All datetime fields are ISO 8601 strings. *On fields are in the location’s local timezone; *OnUtc fields are UTC.
Local datetime the team was created.
UTC datetime the team was created.
Local datetime of the last update.
UTC datetime of the last update.
Examples
Fetch full team profile
GET /api/public/teams/55/profile
Authorization: Bearer {token}
{
"Id": 55,
"IdString": "55",
"UniqueId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"Name": "Tech Innovators",
"Description": "A collaborative team focused on cutting-edge technology solutions",
"ProfileSummary": "Building the future, one innovation at a time",
"ProfileIsPublic": true,
"ProfileWebsite": "https://techinnovators.example.com",
"ProfileTags": "technology startup innovation collaboration",
"ProfileTagsList": ["technology", "startup", "innovation", "collaboration"],
"BusinessName": "Downtown Coworking Hub",
"BusinessHomeUrl": "https://downtown-hub.example.com",
"Twitter": "https://twitter.com/techinnovators",
"Facebook": null,
"Linkedin": "https://linkedin.com/company/techinnovators",
"Instagram": null,
"Github": "https://github.com/techinnovators",
"Pinterest": null,
"Skype": null,
"Telegram": null,
"Flickr": null,
"Vimeo": null,
"Tumblr": null,
"Blogger": null,
"TeamMembersCount": 12,
"TeamAdministratorsFullNames": ["Jane Smith", "John Doe"],
"TeamAdministrators": [
{
"Id": 101,
"FullName": "Jane Smith",
"Email": "jane@techinnovators.com"
}
],
"TeamMembers": [
{
"Id": 102,
"FullName": "Bob Wilson",
"Email": "bob@techinnovators.com"
}
],
"AllTeamMembers": [
{
"Id": 101,
"FullName": "Jane Smith",
"Email": "jane@techinnovators.com"
},
{
"Id": 102,
"FullName": "Bob Wilson",
"Email": "bob@techinnovators.com"
}
],
"PayingMemberId": 101,
"CreateSingleInvoiceForTeam": true,
"HasContactDetails": true,
"HasDefaultPlan": true,
"MaxTeamMemberCount": 20,
"DisableAttendaceDashboard": false,
"HasTeamLogo": true,
"HasImage1": true,
"HasImage2": false,
"HasImage3": false,
"HasImages": true,
"CreatedOn": "2024-01-15T09:30:00",
"UpdatedOn": "2024-07-20T14:22:33",
"CreatedOnUtc": "2024-01-15T09:30:00Z",
"UpdatedOnUtc": "2024-07-20T14:22:33Z"
}
Fetch profile with a minimal field set
Use _shape to request only the fields your UI needs, reducing payload size.
GET /api/public/teams/55/profile?_shape=Name,ProfileSummary,ProfileIsPublic,TeamMembersCount
Authorization: Bearer {token}
{
"Name": "Tech Innovators",
"ProfileSummary": "Building the future, one innovation at a time",
"ProfileIsPublic": true,
"TeamMembersCount": 12
}
TypeScript Integration
import { endpoints } from '@/api/endpoints'
import { Team } from '@/types/endpoints/TeamList'
import { useData } from '@/hooks/useData'
const { resource: team } = useData<Team>(httpClient, endpoints.teams.one(teamId), {
shape: {
fields: ['Name', 'ProfileWebsite', 'ProfileSummary', 'ProfileTagsList', 'ProfileIsPublic', 'TeamMembers'],
},
})
Usage in Portal
| Context | Source file |
|---|
Team Professional Profile Page (/team/profile/{teamId}) | src/views/user/team/profile/TeamProfessionalProfilePage.tsx |
Team Dashboard (/dashboard/team/{teamId}) | src/views/user/dashboards/team/TeamDashboardPage.tsx |
Team Permissions (/team/permissions/{teamId}) | src/views/user/team/permissions/TeamPermissionsPage.tsx |
Team Bookings (/team/bookings/{teamId}) | src/views/user/team/bookings/TeamBookingsPage.tsx |
Error Responses
The customer is not authenticated, the session has expired, or the customer is not a member of the specified team.
Team with the specified ID does not exist.
| Method | Endpoint | Description |
|---|
GET | /api/public/teams/my | List the customer’s teams |
PUT | /api/public/teams/{teamId}/profile | Update team profile (admin only) |
GET | /api/public/teams/{teamId}/kpi | Team KPI metrics |
GET | /api/public/teams/{teamId}/attendance | Team attendance data |
GET | /api/public/teams/{teamId}/metrics | Team performance metrics |