POST /api/groups/{GroupID}/members
Invites a new members to the specified group.
Settings: This operation checks whether the setting that allows group members to invite members who are not already platform users is turned on. If the setting (InviteUnregisteredUsers) is turned off, the operation will fail. To check this setting, run the GET /api/businesses/{BusinessID}/usersettings operation.
Authorization Roles/Permissions: Must be logged in. Must have Modify permission for the resource. For example, a group leader can perform this action for the group. A Site Admin can invite another user to be a Site Admin; a Business Admin can invite another user to be a Business Admin.
Workflow: A default workflow is in effect for new group membership objects, unless a custom workflow is specified. By default, when a new group membership object is created, the API invokes the default initial action, @Invite, to start the workflow. This places the new group member in a Pending state. If a custom workflow is used, the custom workflow definition could choose which state the group membership will be placed in. For example, if you wanted to skip the acceptance of the group membership invitation by the invited user, you could develop and implement a custom workflow to skip the Pending state and put the new group membership directly into the Accepted state. For more information on workflow, see Executing Workflow Actions.
This topic includes the following sections:
HTTP Method
POST
URL
https://{hostname}/api/groups/{GroupID}/members
Sample Request #1
The example below shows a request to add or invite the specified user to a team.
Sample Request URL #1
https://{hostname}/api/groups/group19212.acmepaymentscorp/members
Sample request headers
POST /api/groups/group19212.acmepaymentscorp/members HTTP/1.1 Host: {hostname} Accept: text/plain, */*; q=0.01 Content-Type: application/json; charset=UTF-8 X-Csrf-Token_acmepaymentscorp: TokenID%3D8ed70a13-8469-11e8-b37a-b155e4eabeb8%2CexpirationTime%3D153...
Sample request body
In the request body, the email and message body are optional.
{ "Email":"hpawnitoff@acmepaymentscorp.com", "Role":"com.soa.group.membership.role.member", "Message":"Please join the team!", }
Sample Request #2
Valid in Version: 2022.1.3 and later
The example below shows a request to assign groups or users to a role. Additionally, for the LDAP domain, you can assign LDAP groups to a role and assign users that are not registered with the Akana Platform.
Note: You cannot add multiple users with the same email address to a group. The email address is unique across all the tenants. If you try to add multiple users with same email address, POST /api/groups/{GroupID}/members API will add the first user in a group and ignore the second user.
Sample Request URL #2
https://{hostname}/api/groups/group19212.acmepaymentscorp/members
Sample request headers
POST /api/groups/group19212.acmepaymentscorp/members HTTP/1.1 Host: {hostname} Accept: text/plain, */*; Content-Type: application/vnd.akana.v2023+json X-Csrf-Token_acmepaymentscorp: TokenID%3D8ed70a13-8469-11e8-b37a-b155e4eabeb8%2CexpirationTime%3D153...
Sample request body
{ "MembershipRequests": [ { "GroupName": "BusinessAdministrators", "DomainName": "LDAP", "Role": "com.soa.group.membership.role.admin" }, { "GroupName": "BusinessAdministrators", "DomainName": "SAML", "Role": "com.soa.group.membership.role.admin" }, { "DomainName": "LDAP", "UserName": "business-admin-direct-ldap-user", "Role": "com.soa.group.membership.role.admin" }, { "DomainName": "SAML", "UserName": "business-admin-direct-ldap-user-01", "Role": "com.soa.group.membership.role.admin" } ] }
Request Headers
For general information on request header values, refer to HTTP Request Headers.
Header | Description |
---|---|
Accept | Any Accept header value that supports a response Content-Type of text/plain is valid; for example, */*. |
Content-Type |
Any one of the following media types is valid for the request Content-Type: application/json, application/vnd.soa.v71+json, application/vnd.soa.v72+json, application/vnd.soa.v80+json, application/vnd.soa.v81+json |
Cookie | AtmoAuthToken_{fedmemberid}={cookie value, which usually starts with TokenID}—The platform cookie. This is the Akana API Platform authorization token, and must be sent with every API request that requires login. For more information and an example, see Session cookies. |
X-Csrf-Token_{fedmemberID} | The CSRF prevention header; may or may not be required, depending on platform settings. See CSRF Prevention on the Platform. By default, the CSRF header is not required for GET operations and is required for all others, with a few exceptions relating to user login. |
Request Parameters
Parameter | Parm Type | Data Type | Required | Description |
---|---|---|---|---|
GroupID | Path | string | Required | The unique ID for a specific group. |
MembershipRequest | Body | MembershipRequest | Required | Contains information about an invitation sent out to invite a new user to the group. |
Response
If successful, this operation returns HTTP status code 200, with the MembershipRequestID for the request.
Sample Response #1
The following shows the response to the API request shown in Sample Request #1.
Sample response headers
HTTP/1.1 200 OK Content-Type: application/json Date: Fri, 14 Jun 2013 16:28:56 GMT
Sample response body
{ "MembershipResponses": [ { "UserName": "mrusso", "DomainName": "LDAP", "ResponseMessage": "Success" } ] }
Sample Response #2
Valid in Version: 2022.1.3 and later
The following shows the response to the API request shown in Sample Request #2.
Sample response headers
HTTP/1.1 200 OK Content-Type: application/json Date: Fri, 14 Jun 2013 16:28:56 GMT
Sample response body
{ "MembershipResponses": [ { "GroupName": "BusinessAdministrators", "DomainName": "LDAP", "ResponseMessage": "Success" }, { "GroupName": "BusinessAdministrators", "DomainName": "SAML", "ResponseMessage": "Success" }, { "UserName": "business-admin-direct-ldap-user", "DomainName": "LDAP", "ResponseMessage": "Success" }, { "UserName": "business-admin-direct-ldap-user-01", "DomainName": "SAML", "ResponseMessage": "Success" } ] }
Response Headers
For general information on response header values, refer to HTTP Response Headers.
Header | Description |
---|---|
Content-Type | application/vnd.akana.v2023+json |
Response Body
Name | Type | Description |
---|---|---|
Membership[ ] | Membership | Contains information about a user or group membership for a group. |
Error Codes/Messages
If the call is unsuccessful an error code/message is returned. One or more examples of possible errors for this operation are shown below.
Item | Value |
---|---|
400 |
Bad request: Returned if the client sends a malformed request; for example, invalid parameters or body content. In this operation, you'd get a 400 response if you sent an invalid parameter in the request, such as a placeholder value. |
401 | Unauthorized. For example, you would get this response if you didn't include the custom X-Csrf-Token_{fedmemberID} header in the request, when it was required by the platform settings; or if you included an invalid or expired value for this header. You would also get this response for any operation that requires login (almost all) if the login cookie was missing. |
404 | The resource could not be found. For example, you might get this if you had the wrong HTTP verb, if there is a typo in the URL, or if you provide an invalid path parameter. |
405 | Method Not Allowed. You might get this if there is an error in the URL, or if you used the wrong HTTP verb. |
500 | An error occurred processing the call. |
More information about Akana API Platform API error messages.