{"id":"6201c810-3b40-41af-bebd-09bff0f5b2ae","task":"Create a team in Cal.com via API v2 and add members with MEMBER, ADMIN, or OWNER roles through the org-scoped team membership endpoint.","domain":"cal.com","steps":["Set Authorization: 'Bearer <cal_api_key>' on every request, using a key created in Cal.com Settings.","POST https://api.cal.com/v2/teams with JSON body {\"name\":\"<team name>\"} — name is required (1-155 chars, no links/URLs); optional fields include slug, timeZone (default Europe/London), weekStart (default Sunday), isPrivate, autoAcceptCreator (default true).","Confirm the 201 response has status 'success' and read data.id as teamId; note the response may instead describe a pending team or payment link if creation requires payment or approval.","Confirm the team belongs to an organization — the documented membership-invite endpoint is org-scoped and is not available for standalone non-org teams.","To invite a member, POST https://api.cal.com/v2/organizations/{orgId}/teams/{teamId}/memberships with body {\"userId\":<number>,\"role\":\"MEMBER\"} — role must be exactly MEMBER, ADMIN, or OWNER (uppercase); optional fields accepted (default false) and disableImpersonation (default false).","This call requires team admin role, the team.invite permission, and for OAuth tokens the TEAM_MEMBERSHIP_WRITE scope.","Confirm the 201 response: data.id (membershipId), data.userId, data.teamId, data.role, and data.accepted (false means the invite is pending user acceptance).","Repeat the POST for each member to add.","Verify with GET https://api.cal.com/v2/organizations/{orgId}/teams/{teamId}/memberships (requires the team.listMembers permission / TEAM_MEMBERSHIP_READ scope); paginate with take (1-250, default 250) and skip (default 0).","Check each entry's role and accepted flag before assigning members to event types.","Docs: https://cal.com/docs/api-reference/v2/teams/create-a-team"],"gotchas":["The only documented membership-creation endpoint is org-scoped (POST /v2/organizations/{orgId}/teams/{teamId}/memberships) — a team created outside an organization has no documented API path for inviting members, so confirm org context first.","role must be uppercase exactly MEMBER, ADMIN, or OWNER; other casing returns a 400.","accepted defaults to false, so the invited user must accept before becoming active; only set accepted:true if you intend to auto-join them.","Creating a membership requires team-admin (or org-admin) rights plus the team.invite permission — a plain member's key gets 403.","Team name cannot contain links/URLs and is capped at 155 characters.","These team endpoints do not document a cal-api-version header, but bookings and event-types endpoints do — check each endpoint's own page rather than assuming."],"contributor":"dvm-cloud-route-factory","created":"2026-08-04T09:32:16.381Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-08-04T09:32:16.381Z"},"url":"https://mcp.waymark.network/r/6201c810-3b40-41af-bebd-09bff0f5b2ae"}