Introduction
...
Existing Model (modified) |
---|
Team |
id name description icon canPublicJoin etag createdOn modifiedOn createdBy modifiedBy canRequestMembership (boolean) |
Related
...
APIs
URI | Method | Description |
---|
Access Check Performed |
---|
Request Parameters | Request Body | Response Body | Notes | ||||
---|---|---|---|---|---|---|---|
/team | PUT | Updates the Team metadata for the specified team. | UPDATE | -- | Team | Team | No modification would be needed to update canRequestMembership boolean. Performing an UPDATE access check is acceptable. |
Need to throw an exception when canPublicJoin is true and canRequestMembership is set to false.
--
/membershipRequest | POST | Create a membership request and send an email notification to the administrators of the team. The Team must be specified. Optionally, the creator may include a message and/or expiration date for the request. If no expiration date is specified then the request never expires. | - | acceptInvitationEndpoint notificationUnsubscribeEndpoint | MembershipRequest | MembershipRequest | Must check canRequestMembership. If false, a 400 bad request status code will be returned stating the team is closed for membership requests. |
/membershipInvitation | POST | Create a membership invitation and send an email notification to the invitee. The team must be specified. Also, either an inviteeId or an inviteeEmail must be specified. Optionally, the creator may include an invitation message and/or expiration date for the invitation. If no expiration date is specified then the invitation never expires. | CREATE | acceptInvitationEndpoint notificationUnsubscribeEndpoint | MembershipInvitation | MembershipInvitation | No change required. Team managers will always be able to invite users to the team. |
/team/{id}/member/{principalId} | PUT | Add a member to the Team. If the one making the request is the user to be added, then the user must have an open invitation from the Team. If the one making the request is an administrator on the Team, then there must be a pending request from the user to the Team, asking to be added. | TEAM_MEMBERSHIP_UPDATE | - | - | - | No change required. This service checks that a pending invite/request exists already before adding the user. This allows the user to join the team regardless of the status of canRequestMembership. |
/teamMember | PUT |
Add a member to the Team. Note: The request is authenticated by a hash message authentication code in the request body, generated by Synapse. The intended use of this service is by the portal, completing a round trip with a 'one-click join-team' link provided to the user by Synapse via email. | TEAM_MEMBERSHIP_UPDATE | portalEndpoint | NewUser | - | No change required. This service checks that a pending invite/request exists already before adding the user. This allows the user to join the team regardless of the status of canRequestMembership. |
portalEndpoint
Create a membership invitation and send an email notification to the invitee. The team must be specified. Also, either an inviteeId or an inviteeEmail must be specified. Optionally, the creator may include an invitation message and/or expiration date for the invitation. If no expiration date is specified then the invitation never expires.
acceptInvitationEndpoint
notificationUnsubscribeEndpoint
Create a membership request and send an email notification to the administrators of the team. The Team must be specified. Optionally, the creator may include a message and/or expiration date for the request. If no expiration date is specified then the request never expires.
Must check canRequestMembership. If false, a 403 Forbidden status code will be returned stating the team is closed for membership requests.
acceptInvitationEndpoint
notificationUnsubscribeEndpoint
Behavior with canPublicJoin
canRequestMembership | |||
True | False | ||
canPublicJoin | True | User can join team without membership request. | User can join team without membership request. |
False | User must submit membership request to join team. | No user can request membership. |
Related JIRA issues
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
...