Cyphi.Groups (Cyphi v0.1.0)
Provides API endpoints related to groups
Summary
Functions
Add group admin
Add group admins
Remove group admin
Get group admin
List group admins
Add group assistant
Add group assistants
Remove group assistant
Get group assistant
List group assistants
Create group
Create groups
Delete group
Get group
List groups
Update group
Update groups
Add group leader
Add group leaders
Remove group leader
Get group leader
List group leaders
Add group member
Add group members
Remove group member
Get group member
List group members
Types
@type group_admin_crud_create_400_json_resp() :: %{message: String.t() | nil}
@type group_admin_crud_create_403_json_resp() :: %{message: String.t() | nil}
@type group_admin_crud_create_404_json_resp() :: %{message: String.t() | nil}
@type group_admin_crud_create_405_json_resp() :: %{message: String.t() | nil}
@type group_admin_crud_create_batch_202_json_resp() :: %{batch_id: integer() | nil}
@type group_admin_crud_create_batch_400_json_resp() :: %{message: String.t() | nil}
@type group_admin_crud_create_batch_403_json_resp() :: %{message: String.t() | nil}
@type group_admin_crud_create_batch_404_json_resp() :: %{message: String.t() | nil}
@type group_admin_crud_create_batch_405_json_resp() :: %{message: String.t() | nil}
@type group_admin_crud_delete_400_json_resp() :: %{message: String.t() | nil}
@type group_admin_crud_delete_403_json_resp() :: %{message: String.t() | nil}
@type group_admin_crud_delete_404_json_resp() :: %{message: String.t() | nil}
@type group_admin_crud_delete_405_json_resp() :: %{message: String.t() | nil}
@type group_admin_crud_get_400_json_resp() :: %{message: String.t() | nil}
@type group_admin_crud_get_403_json_resp() :: %{message: String.t() | nil}
@type group_admin_crud_get_404_json_resp() :: %{message: String.t() | nil}
@type group_admin_crud_get_405_json_resp() :: %{message: String.t() | nil}
@type group_admin_crud_list_400_json_resp() :: %{message: String.t() | nil}
@type group_admin_crud_list_403_json_resp() :: %{message: String.t() | nil}
@type group_admin_crud_list_404_json_resp() :: %{message: String.t() | nil}
@type group_admin_crud_list_405_json_resp() :: %{message: String.t() | nil}
@type group_assistant_crud_create_400_json_resp() :: %{message: String.t() | nil}
@type group_assistant_crud_create_403_json_resp() :: %{message: String.t() | nil}
@type group_assistant_crud_create_404_json_resp() :: %{message: String.t() | nil}
@type group_assistant_crud_create_405_json_resp() :: %{message: String.t() | nil}
@type group_assistant_crud_create_batch_202_json_resp() :: %{ batch_id: integer() | nil }
@type group_assistant_crud_create_batch_400_json_resp() :: %{ message: String.t() | nil }
@type group_assistant_crud_create_batch_403_json_resp() :: %{ message: String.t() | nil }
@type group_assistant_crud_create_batch_404_json_resp() :: %{ message: String.t() | nil }
@type group_assistant_crud_create_batch_405_json_resp() :: %{ message: String.t() | nil }
@type group_assistant_crud_delete_400_json_resp() :: %{message: String.t() | nil}
@type group_assistant_crud_delete_403_json_resp() :: %{message: String.t() | nil}
@type group_assistant_crud_delete_404_json_resp() :: %{message: String.t() | nil}
@type group_assistant_crud_delete_405_json_resp() :: %{message: String.t() | nil}
@type group_assistant_crud_get_400_json_resp() :: %{message: String.t() | nil}
@type group_assistant_crud_get_403_json_resp() :: %{message: String.t() | nil}
@type group_assistant_crud_get_404_json_resp() :: %{message: String.t() | nil}
@type group_assistant_crud_get_405_json_resp() :: %{message: String.t() | nil}
@type group_assistant_crud_list_400_json_resp() :: %{message: String.t() | nil}
@type group_assistant_crud_list_403_json_resp() :: %{message: String.t() | nil}
@type group_assistant_crud_list_404_json_resp() :: %{message: String.t() | nil}
@type group_assistant_crud_list_405_json_resp() :: %{message: String.t() | nil}
@type group_crud_create_400_json_resp() :: %{message: String.t() | nil}
@type group_crud_create_403_json_resp() :: %{message: String.t() | nil}
@type group_crud_create_404_json_resp() :: %{message: String.t() | nil}
@type group_crud_create_405_json_resp() :: %{message: String.t() | nil}
@type group_crud_create_batch_202_json_resp() :: %{batch_id: integer() | nil}
@type group_crud_create_batch_400_json_resp() :: %{message: String.t() | nil}
@type group_crud_create_batch_403_json_resp() :: %{message: String.t() | nil}
@type group_crud_create_batch_404_json_resp() :: %{message: String.t() | nil}
@type group_crud_create_batch_405_json_resp() :: %{message: String.t() | nil}
@type group_crud_delete_400_json_resp() :: %{message: String.t() | nil}
@type group_crud_delete_403_json_resp() :: %{message: String.t() | nil}
@type group_crud_delete_404_json_resp() :: %{message: String.t() | nil}
@type group_crud_delete_405_json_resp() :: %{message: String.t() | nil}
@type group_crud_get_400_json_resp() :: %{message: String.t() | nil}
@type group_crud_get_403_json_resp() :: %{message: String.t() | nil}
@type group_crud_get_404_json_resp() :: %{message: String.t() | nil}
@type group_crud_get_405_json_resp() :: %{message: String.t() | nil}
@type group_crud_list_400_json_resp() :: %{message: String.t() | nil}
@type group_crud_list_403_json_resp() :: %{message: String.t() | nil}
@type group_crud_list_404_json_resp() :: %{message: String.t() | nil}
@type group_crud_list_405_json_resp() :: %{message: String.t() | nil}
@type group_crud_update_400_json_resp() :: %{message: String.t() | nil}
@type group_crud_update_403_json_resp() :: %{message: String.t() | nil}
@type group_crud_update_404_json_resp() :: %{message: String.t() | nil}
@type group_crud_update_405_json_resp() :: %{message: String.t() | nil}
@type group_crud_update_batch_202_json_resp() :: %{batch_id: integer() | nil}
@type group_crud_update_batch_400_json_resp() :: %{message: String.t() | nil}
@type group_crud_update_batch_403_json_resp() :: %{message: String.t() | nil}
@type group_crud_update_batch_404_json_resp() :: %{message: String.t() | nil}
@type group_crud_update_batch_405_json_resp() :: %{message: String.t() | nil}
@type group_leader_crud_create_400_json_resp() :: %{message: String.t() | nil}
@type group_leader_crud_create_403_json_resp() :: %{message: String.t() | nil}
@type group_leader_crud_create_404_json_resp() :: %{message: String.t() | nil}
@type group_leader_crud_create_405_json_resp() :: %{message: String.t() | nil}
@type group_leader_crud_create_batch_202_json_resp() :: %{batch_id: integer() | nil}
@type group_leader_crud_create_batch_400_json_resp() :: %{message: String.t() | nil}
@type group_leader_crud_create_batch_403_json_resp() :: %{message: String.t() | nil}
@type group_leader_crud_create_batch_404_json_resp() :: %{message: String.t() | nil}
@type group_leader_crud_create_batch_405_json_resp() :: %{message: String.t() | nil}
@type group_leader_crud_delete_400_json_resp() :: %{message: String.t() | nil}
@type group_leader_crud_delete_403_json_resp() :: %{message: String.t() | nil}
@type group_leader_crud_delete_404_json_resp() :: %{message: String.t() | nil}
@type group_leader_crud_delete_405_json_resp() :: %{message: String.t() | nil}
@type group_leader_crud_get_400_json_resp() :: %{message: String.t() | nil}
@type group_leader_crud_get_403_json_resp() :: %{message: String.t() | nil}
@type group_leader_crud_get_404_json_resp() :: %{message: String.t() | nil}
@type group_leader_crud_get_405_json_resp() :: %{message: String.t() | nil}
@type group_leader_crud_list_400_json_resp() :: %{message: String.t() | nil}
@type group_leader_crud_list_403_json_resp() :: %{message: String.t() | nil}
@type group_leader_crud_list_404_json_resp() :: %{message: String.t() | nil}
@type group_leader_crud_list_405_json_resp() :: %{message: String.t() | nil}
@type group_member_crud_create_400_json_resp() :: %{message: String.t() | nil}
@type group_member_crud_create_403_json_resp() :: %{message: String.t() | nil}
@type group_member_crud_create_404_json_resp() :: %{message: String.t() | nil}
@type group_member_crud_create_405_json_resp() :: %{message: String.t() | nil}
@type group_member_crud_create_batch_202_json_resp() :: %{batch_id: integer() | nil}
@type group_member_crud_create_batch_400_json_resp() :: %{message: String.t() | nil}
@type group_member_crud_create_batch_403_json_resp() :: %{message: String.t() | nil}
@type group_member_crud_create_batch_404_json_resp() :: %{message: String.t() | nil}
@type group_member_crud_create_batch_405_json_resp() :: %{message: String.t() | nil}
@type group_member_crud_delete_400_json_resp() :: %{message: String.t() | nil}
@type group_member_crud_delete_403_json_resp() :: %{message: String.t() | nil}
@type group_member_crud_delete_404_json_resp() :: %{message: String.t() | nil}
@type group_member_crud_delete_405_json_resp() :: %{message: String.t() | nil}
@type group_member_crud_get_400_json_resp() :: %{message: String.t() | nil}
@type group_member_crud_get_403_json_resp() :: %{message: String.t() | nil}
@type group_member_crud_get_404_json_resp() :: %{message: String.t() | nil}
@type group_member_crud_get_405_json_resp() :: %{message: String.t() | nil}
@type group_member_crud_list_400_json_resp() :: %{message: String.t() | nil}
@type group_member_crud_list_403_json_resp() :: %{message: String.t() | nil}
@type group_member_crud_list_404_json_resp() :: %{message: String.t() | nil}
@type group_member_crud_list_405_json_resp() :: %{message: String.t() | nil}
Functions
@spec group_admin_crud_create(id :: integer(), body :: map(), opts :: keyword()) :: {:ok, Cyphi.GroupMembership.t()} | {:error, group_admin_crud_create_400_json_resp() | group_admin_crud_create_403_json_resp() | group_admin_crud_create_404_json_resp() | group_admin_crud_create_405_json_resp()}
Add group admin
Add a group admin.
Request Body
Content Types: application/json
Here is the format of a request.
@spec group_admin_crud_create_batch( id :: integer(), body :: [map()], opts :: keyword() ) :: {:ok, group_admin_crud_create_batch_202_json_resp()} | {:error, group_admin_crud_create_batch_400_json_resp() | group_admin_crud_create_batch_403_json_resp() | group_admin_crud_create_batch_404_json_resp() | group_admin_crud_create_batch_405_json_resp()}
Add group admins
Add up to 100 group admins using a batch job.
Request Body
Content Types: application/json
Here is the format of a request.
@spec group_admin_crud_delete( id :: integer(), user_id :: integer(), opts :: keyword() ) :: :ok | {:error, group_admin_crud_delete_400_json_resp() | group_admin_crud_delete_403_json_resp() | group_admin_crud_delete_404_json_resp() | group_admin_crud_delete_405_json_resp()}
Remove group admin
Remove the specified admin from the group.
@spec group_admin_crud_get(id :: integer(), user_id :: integer(), opts :: keyword()) :: {:ok, Cyphi.GroupMembership.t()} | {:error, group_admin_crud_get_400_json_resp() | group_admin_crud_get_403_json_resp() | group_admin_crud_get_404_json_resp() | group_admin_crud_get_405_json_resp()}
Get group admin
Return the admin with the specified ID.
Options
$include: Comma separated list of relationships to include in the results, taken from this list: user, group.
@spec group_admin_crud_list(id :: integer(), opts :: keyword()) :: {:ok, [Cyphi.GroupMembership.t()]} | {:error, group_admin_crud_list_400_json_resp() | group_admin_crud_list_403_json_resp() | group_admin_crud_list_404_json_resp() | group_admin_crud_list_405_json_resp()}
List group admins
Return a list of the group admins. Note that this does not return user objects, it returns their membership records that include the user_id. You can use $include=user if you want to get the user object as well. Membership records are not returned for users that are archived.
Options
$after: Used for fast paging by setting the value to the last object id. This cannot be used with the $order parameter.$count: If true, just return the number of list items in the form {'count' : number}.$filter: Filter using JSON structure, with attributes taken from this list: user_id, group_id, id.$include: Comma separated list of relationships to include in the results, taken from this list: user, group.$limit: Limit the number of returned objects. The default is 10, the maximum is 100.$offset: Used for paging through a small dataset, and it can be used with the $order parameter. This cannot be used with the $after parameter.
@spec group_assistant_crud_create(id :: integer(), body :: map(), opts :: keyword()) :: {:ok, Cyphi.GroupMembership.t()} | {:error, group_assistant_crud_create_400_json_resp() | group_assistant_crud_create_403_json_resp() | group_assistant_crud_create_404_json_resp() | group_assistant_crud_create_405_json_resp()}
Add group assistant
Add a group assistant.
Request Body
Content Types: application/json
Here is the format of a request.
@spec group_assistant_crud_create_batch( id :: integer(), body :: [map()], opts :: keyword() ) :: {:ok, group_assistant_crud_create_batch_202_json_resp()} | {:error, group_assistant_crud_create_batch_400_json_resp() | group_assistant_crud_create_batch_403_json_resp() | group_assistant_crud_create_batch_404_json_resp() | group_assistant_crud_create_batch_405_json_resp()}
Add group assistants
Add up to 100 group assistants using a batch job.
Request Body
Content Types: application/json
Here is the format of a request.
@spec group_assistant_crud_delete( id :: integer(), user_id :: integer(), opts :: keyword() ) :: :ok | {:error, group_assistant_crud_delete_400_json_resp() | group_assistant_crud_delete_403_json_resp() | group_assistant_crud_delete_404_json_resp() | group_assistant_crud_delete_405_json_resp()}
Remove group assistant
Remove the specified assistant from the group.
@spec group_assistant_crud_get( id :: integer(), user_id :: integer(), opts :: keyword() ) :: {:ok, Cyphi.GroupMembership.t()} | {:error, group_assistant_crud_get_400_json_resp() | group_assistant_crud_get_403_json_resp() | group_assistant_crud_get_404_json_resp() | group_assistant_crud_get_405_json_resp()}
Get group assistant
Return the assistant with the specified ID.
Options
$include: Comma separated list of relationships to include in the results, taken from this list: user, group.
@spec group_assistant_crud_list(id :: integer(), opts :: keyword()) :: {:ok, [Cyphi.GroupMembership.t()]} | {:error, group_assistant_crud_list_400_json_resp() | group_assistant_crud_list_403_json_resp() | group_assistant_crud_list_404_json_resp() | group_assistant_crud_list_405_json_resp()}
List group assistants
Return a list of the group assistants. Note that this does not return user objects, it returns their membership records that include the user_id. You can use $include=user if you want to get the user object as well. Membership records are not returned for users that are archived.
Options
$after: Used for fast paging by setting the value to the last object id. This cannot be used with the $order parameter.$count: If true, just return the number of list items in the form {'count' : number}.$filter: Filter using JSON structure, with attributes taken from this list: user_id, group_id, id.$include: Comma separated list of relationships to include in the results, taken from this list: user, group.$limit: Limit the number of returned objects. The default is 10, the maximum is 100.$offset: Used for paging through a small dataset, and it can be used with the $order parameter. This cannot be used with the $after parameter.
@spec group_crud_create(body :: map(), opts :: keyword()) :: {:ok, Cyphi.Group.t()} | {:error, group_crud_create_400_json_resp() | group_crud_create_403_json_resp() | group_crud_create_404_json_resp() | group_crud_create_405_json_resp()}
Create group
Create a group.
Request Body
Content Types: application/json
Here is the format of a request.
@spec group_crud_create_batch(body :: [map()], opts :: keyword()) :: {:ok, group_crud_create_batch_202_json_resp()} | {:error, group_crud_create_batch_400_json_resp() | group_crud_create_batch_403_json_resp() | group_crud_create_batch_404_json_resp() | group_crud_create_batch_405_json_resp()}
Create groups
Create up to 50 groups using a batch job.
Request Body
Content Types: application/json
Here is the format of a request.
@spec group_crud_delete(id :: integer(), opts :: keyword()) :: :ok | {:error, group_crud_delete_400_json_resp() | group_crud_delete_403_json_resp() | group_crud_delete_404_json_resp() | group_crud_delete_405_json_resp()}
Delete group
Delete the group with the specified ID.
@spec group_crud_get(id :: integer(), opts :: keyword()) :: {:ok, Cyphi.Group.t()} | {:error, group_crud_get_400_json_resp() | group_crud_get_403_json_resp() | group_crud_get_404_json_resp() | group_crud_get_405_json_resp()}
Get group
Return the group with the specified ID.
@spec group_crud_list(opts :: keyword()) :: {:ok, [Cyphi.Group.t()]} | {:error, group_crud_list_400_json_resp() | group_crud_list_403_json_resp() | group_crud_list_404_json_resp() | group_crud_list_405_json_resp()}
List groups
Return a list of groups. You can provide one or more optional filters. Currently this operation only returns groups that are are scoped to a school/business or to an organization; future versions may include a way to specify the specific scope to search within.
Options
$after: Used for fast paging by setting the value to the last object id. This cannot be used with the $order parameter.$count: If true, just return the number of list items in the form {'count' : number}.$filter: Filter using JSON structure, with attributes taken from this list: id, name, visibility, tags, container_type, metadata.creator_id, metadata.created_at, metadata.language.$limit: Limit the number of returned objects. The default is 10, the maximum is 100.$offset: Used for paging through a small dataset, and it can be used with the $order parameter. This cannot be used with the $after parameter.$order: Comma separated attribute names to sort by, taken from this list: id, name. Add :desc to the end of an attribute name for descending order. This cannot be used with the $after parameter.
@spec group_crud_update(id :: integer(), body :: map(), opts :: keyword()) :: {:ok, Cyphi.Group.t()} | {:error, group_crud_update_400_json_resp() | group_crud_update_403_json_resp() | group_crud_update_404_json_resp() | group_crud_update_405_json_resp()}
Update group
Update the group with the specified ID.
Request Body
Content Types: application/json
Here is the format of a request.
@spec group_crud_update_batch(body :: [map()], opts :: keyword()) :: {:ok, group_crud_update_batch_202_json_resp()} | {:error, group_crud_update_batch_400_json_resp() | group_crud_update_batch_403_json_resp() | group_crud_update_batch_404_json_resp() | group_crud_update_batch_405_json_resp()}
Update groups
Update up to 50 groups using a batch job.
Request Body
Content Types: application/json
Here is the format of a request.
@spec group_leader_crud_create(id :: integer(), body :: map(), opts :: keyword()) :: {:ok, Cyphi.GroupMembership.t()} | {:error, group_leader_crud_create_400_json_resp() | group_leader_crud_create_403_json_resp() | group_leader_crud_create_404_json_resp() | group_leader_crud_create_405_json_resp()}
Add group leader
Add a group leader.
Request Body
Content Types: application/json
Here is the format of a request.
@spec group_leader_crud_create_batch( id :: integer(), body :: [map()], opts :: keyword() ) :: {:ok, group_leader_crud_create_batch_202_json_resp()} | {:error, group_leader_crud_create_batch_400_json_resp() | group_leader_crud_create_batch_403_json_resp() | group_leader_crud_create_batch_404_json_resp() | group_leader_crud_create_batch_405_json_resp()}
Add group leaders
Add up to 100 group leaders using a batch job.
Request Body
Content Types: application/json
Here is the format of a request.
@spec group_leader_crud_delete( id :: integer(), user_id :: integer(), opts :: keyword() ) :: :ok | {:error, group_leader_crud_delete_400_json_resp() | group_leader_crud_delete_403_json_resp() | group_leader_crud_delete_404_json_resp() | group_leader_crud_delete_405_json_resp()}
Remove group leader
Remove the specified leader from the group.
@spec group_leader_crud_get(id :: integer(), user_id :: integer(), opts :: keyword()) :: {:ok, Cyphi.GroupMembership.t()} | {:error, group_leader_crud_get_400_json_resp() | group_leader_crud_get_403_json_resp() | group_leader_crud_get_404_json_resp() | group_leader_crud_get_405_json_resp()}
Get group leader
Return the leader with the specified ID.
Options
$include: Comma separated list of relationships to include in the results, taken from this list: user, group.
@spec group_leader_crud_list(id :: integer(), opts :: keyword()) :: {:ok, [Cyphi.GroupMembership.t()]} | {:error, group_leader_crud_list_400_json_resp() | group_leader_crud_list_403_json_resp() | group_leader_crud_list_404_json_resp() | group_leader_crud_list_405_json_resp()}
List group leaders
Return a list of the group leaders. Note that this does not return user objects, it returns their membership records that include the user_id. You can use $include=user if you want to get the user object as well. Membership records are not returned for users that are archived.
Options
$after: Used for fast paging by setting the value to the last object id. This cannot be used with the $order parameter.$count: If true, just return the number of list items in the form {'count' : number}.$filter: Filter using JSON structure, with attributes taken from this list: user_id, group_id, id.$include: Comma separated list of relationships to include in the results, taken from this list: user, group.$limit: Limit the number of returned objects. The default is 10, the maximum is 100.$offset: Used for paging through a small dataset, and it can be used with the $order parameter. This cannot be used with the $after parameter.
@spec group_member_crud_create(id :: integer(), body :: map(), opts :: keyword()) :: {:ok, Cyphi.GroupMembership.t()} | {:error, group_member_crud_create_400_json_resp() | group_member_crud_create_403_json_resp() | group_member_crud_create_404_json_resp() | group_member_crud_create_405_json_resp()}
Add group member
Add a group member.
Options
$options: Valid options are: send_notification
Request Body
Content Types: application/json
Here is the format of a request.
@spec group_member_crud_create_batch( id :: integer(), body :: [map()], opts :: keyword() ) :: {:ok, group_member_crud_create_batch_202_json_resp()} | {:error, group_member_crud_create_batch_400_json_resp() | group_member_crud_create_batch_403_json_resp() | group_member_crud_create_batch_404_json_resp() | group_member_crud_create_batch_405_json_resp()}
Add group members
Add up to 100 group members using a batch job.
Options
$options: Valid options are: send_notification
Request Body
Content Types: application/json
Here is the format of a request.
@spec group_member_crud_delete( id :: integer(), user_id :: integer(), opts :: keyword() ) :: :ok | {:error, group_member_crud_delete_400_json_resp() | group_member_crud_delete_403_json_resp() | group_member_crud_delete_404_json_resp() | group_member_crud_delete_405_json_resp()}
Remove group member
Remove the specified member from the group.
@spec group_member_crud_get(id :: integer(), user_id :: integer(), opts :: keyword()) :: {:ok, Cyphi.GroupMembership.t()} | {:error, group_member_crud_get_400_json_resp() | group_member_crud_get_403_json_resp() | group_member_crud_get_404_json_resp() | group_member_crud_get_405_json_resp()}
Get group member
Return the member with the specified ID.
Options
$include: Comma separated list of relationships to include in the results, taken from this list: user, group.
@spec group_member_crud_list(id :: integer(), opts :: keyword()) :: {:ok, [Cyphi.GroupMembership.t()]} | {:error, group_member_crud_list_400_json_resp() | group_member_crud_list_403_json_resp() | group_member_crud_list_404_json_resp() | group_member_crud_list_405_json_resp()}
List group members
Return a list of the group members. Note that this does not return user objects, it returns their membership records that include the user_id. You can use $include=user if you want to get the user object as well. Membership records are not returned for users that are archived.
Options
$after: Used for fast paging by setting the value to the last object id. This cannot be used with the $order parameter.$count: If true, just return the number of list items in the form {'count' : number}.$filter: Filter using JSON structure, with attributes taken from this list: user_id, group_id, id.$include: Comma separated list of relationships to include in the results, taken from this list: user, group.$limit: Limit the number of returned objects. The default is 10, the maximum is 100.$offset: Used for paging through a small dataset, and it can be used with the $order parameter. This cannot be used with the $after parameter.