Skip to main content
GET
/
en
/
team
/
profiles
List Team Profiles
curl --request GET \
  --url https://spaces.nexudus.com/en/team/profiles \
  --header 'Authorization: Basic <encoded-value>'
{
  "[].CanAddNewMembers": true,
  "[].CanRemoveMembers": true,
  "[].CanCancelMembers": true,
  "[].Team": {},
  "[].RecentBookings": "<any>",
  "[].AllTeamMembers": [
    {}
  ],
  "[].AllTeamMembers[].Contracts": [
    {}
  ],
  "401 Unauthorized": {}
}

Documentation Index

Fetch the complete documentation index at: https://learn.nexudus.com/llms.txt

Use this file to discover all available pages before exploring further.

List Team Profiles

Returns an array of team profile summaries for teams the authenticated customer belongs to. Each entry includes the team’s details, permission flags (can add/remove/cancel members), all team members with their contracts, and recent bookings. Primarily used in the booking flow to populate the “book for team” selector.
This endpoint uses a view-style URL (/en/team/profiles) rather than the /api/public/ convention. It returns server-rendered JSON and is called with the bookForTeam=true query parameter in the booking context.

Authentication

Requires a valid customer bearer token.

Query Parameters

bookForTeam
boolean
When true, scopes the response to teams the customer can book on behalf of. Added conditionally in the booking flow.
_shape
string
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.

Response

Returns an array of TeamProfile objects (not wrapped in a list envelope).

TeamProfile Fields

[].CanAddNewMembers
boolean
Whether the authenticated customer can add new members to this team.
[].CanRemoveMembers
boolean
Whether the authenticated customer can remove members from this team.
[].CanCancelMembers
boolean
Whether the authenticated customer can cancel member contracts in this team.
[].Team
Team
Full team object with the same fields as the response from GET /api/public/teams/{teamId}/profile.
[].RecentBookings
any
Recent bookings made by team members.
[].AllTeamMembers
AllTeamMember[]
Extended member objects that include contract information alongside standard Customer fields.
[].AllTeamMembers[].Contracts
CoworkerContract[]
Active contracts for this member, including plan name, start date, next invoice date, price, and cancellation details.

Examples

Fetch team profiles for booking

GET /en/team/profiles?bookForTeam=true
Authorization: Bearer {token}
[
  {
    "CanAddNewMembers": true,
    "CanRemoveMembers": true,
    "CanCancelMembers": false,
    "Team": {
      "Id": 55,
      "Name": "Tech Innovators",
      "BusinessName": "Downtown Coworking Hub",
      "TeamMembersCount": 12,
      "ProfileSummary": "Building the future",
      "MaxTeamMemberCount": 20
    },
    "RecentBookings": null,
    "AllTeamMembers": [
      {
        "Id": 101,
        "FullName": "Jane Smith",
        "Email": "jane@techinnovators.com",
        "Contracts": [
          {
            "Id": 5001,
            "StartDate": "2024-01-15T00:00:00",
            "NextInvoice": "2025-02-01T00:00:00",
            "Price": 250.0,
            "CurrencyCode": "GBP"
          }
        ]
      }
    ]
  }
]

TypeScript Integration

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

const { resource: teamProfiles } = useData<TeamProfiles>(httpClient, endpoints.teams.profiles)

Usage in Portal

ContextSource file
Booking flow team selector (/checkout/...)src/views/public/checkout/booking/useBookingData.tsx

Error Responses

401 Unauthorized
error
The customer is not authenticated or the session has expired.
MethodEndpointDescription
GET/api/public/teams/myList the customer’s teams
GET/api/public/teams/{teamId}/profileFull team profile
POST/api/public/teams/{teamId}/membersAdd members to a team