Update Team Profile
Updates the profile information for a specific team, including display name, social media links, and public visibility. Only team administrators can call this endpoint; partial updates are supported.
Authentication
Requires a valid customer bearer token. The customer must be a team administrator of the specified team.
Path Parameters
Request Body
The request body should contain the team profile fields to update. Only include fields that are being modified — partial updates are supported.
Display name of the team. Cannot be empty.
Full-length team description. May contain HTML. Omit to leave unchanged.
Short tagline shown in team cards and selectors.
When true, the team profile is visible in the public member directory.
Team website URL. Must be a valid URL format when provided.
Space-separated tags describing the team.
All social media fields are optional string values. Must be valid URL format when provided (except Skype which accepts a username).
| 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 |
Response
Returns HTTP 200 OK with an empty body on success.
Examples
Update team name and social links
PUT /api/public/teams/55/profile
Authorization: Bearer {token}
Content-Type: application/json
{
"Name": "Tech Innovators Updated",
"ProfileSummary": "Building the future, one innovation at a time — now with AI focus",
"ProfileIsPublic": true,
"ProfileWebsite": "https://techinnovators-ai.example.com",
"ProfileTags": "technology startup innovation collaboration AI machine-learning",
"Twitter": "https://twitter.com/techinnovators_ai",
"Linkedin": "https://linkedin.com/company/techinnovators-ai",
"Github": "https://github.com/techinnovators-ai"
}
Status: 200 OK
Body: (empty)
TypeScript Integration
import { endpoints } from '@/api/endpoints'
import { Team } from '@/types/endpoints/TeamList'
const updateTeamProfile = async (teamId: number, profileData: Partial<Team>) => {
await httpClient.put(endpoints.teams.one(teamId), profileData)
}
Usage in Portal
| Context | Source file |
|---|
Team Professional Profile Page (/team/profile/{teamId}) | src/views/user/team/profile/TeamProfessionalProfilePage.tsx |
| Team Professional Profile form component | src/views/user/team/profile/components/TeamProfessionalProfile.tsx |
Error Responses
The customer is not authenticated or the session has expired.
The customer is not an administrator of the specified team.
Invalid request data — for example, missing required Name field or invalid URL format in a social media field.
Team with the specified ID does not exist.
| Method | Endpoint | Description |
|---|
GET | /api/public/teams/{teamId}/profile | Get current team profile |
GET | /api/public/teams/my | List the customer’s teams |
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 |