Groups
Groups are where communities live in VEO — they are a collection of contacts you're talking about video. On this page, we'll dive into the different group endpoints you can use to manage groups programmatically. We'll look at how to query, create, update, and delete groups.
Group types
Id | Type | Description |
---|---|---|
1 | Group | The most common type of group - used for collaboration between users. |
2 | Video bank | Used to store a collection of videos |
3 | Community | More of a focus on timelines and files. |
4 | Cohort | Based around groups within a school |
The group model
The group model contains all the information about your groups, it may differ slightly between endpoints depending on the use case but the following indicates a good starting point for reference:
Properties
- Name
Id
- Type
- long
- Description
Unique identifier for the group.
- Name
Name
- Type
- string
- Description
The name for the group.
- Name
Description
- Type
- string
- Description
The description for the group.
- Name
TypeId
- Type
- int
- Description
The type of community.
- Name
AdministratorIds
- Type
- int[]
- Description
An array of user IDs who are administrators of the group.
List all groups
This endpoint allows you to retrieve a paginated list of all your groups.
The query string parameters which can be passed include:
- Name
name
- Type
- string
- Description
A string to match the groups name
- Name
OrganisationId
- Type
- string
- Description
The identity of the organisation you're searching. This must be an organisation that you belong to. If you don't know your organisation ID you can get this from the /me endpoint
- Name
createdByMe
- Type
- bool
- Description
Set to true if you only want to show groups created by your user id.
Request
curl --location 'https://api.veo.co.uk/api/communities' \
--header 'Authorization: Bearer {token}' \
Create a group
This endpoint allows you to create a new group.
- Name
Name
- Type
- string
- Description
The group name.
- Name
Description
- Type
- string
- Description
The group description.
- Name
TypeId
- Type
- int
- Description
Your chosen group type ID.
- Name
PrivacyLevelId
- Type
- int
- Description
Must be 1
- Name
VisibilityId
- Type
- int
- Description
Must be 3
- Name
InviteTypeId
- Type
- int
- Description
Must be 2
- Name
PostingPermissionTypeId
- Type
- int
- Description
Must be 1
- Name
CommentPostsType
- Type
- bool
- Description
Must be true.
The response from the endpoint will be your new group ID.
Request
curl --location 'https://api.veo.co.uk/api/communities' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"Name":"Group Name",
"Description":"Group Description",
"TypeId":1,
"PrivacyLevelId":1,
"VisibilityId":3,
"InviteTypeId":2,
"PostingPermissionTypeId":1,
"CommentPostsType":true
}'
Retrieve a group
This endpoint allows you to retrieve a group by providing the group id.
Request
curl --location 'https://api.veo.co.uk/api/communities/{GroupId}' \
--header 'Authorization: Bearer {token}' \
Update a group
This endpoint allows you to perform an update on a group. The model is similar to that of the create endpoint.
Request
curl --location --request PUT 'https://api.veo.co.uk/api/communities/{groupId}' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"Name": "Test",
"Description": "",
"PrivacyLevelId": 1,
"VisibilityId": 3,
"InviteTypeId": 2,
"CommentPostsType": true,
"PostingPermissionTypeId": 1,
"FeatureActivity": true,
"FeatureTimeline": true,
"FeatureVideo": true,
"FeatureFile": true,
"ProfileBackgroundColor": "#AE2A35",
"DefaultLandingPage": null
}'
Delete a group
This endpoint allows you to delete groups. The response should be a 204 - No content
.
Request
curl --location --request DELETE 'https://api.veo.co.uk/api/communities/1646' \
--header 'Authorization: Bearer {token}' \
Add a member to a group
This endpoint allows you to add member to the group. It's a post request without an empty payload.
The user to add and the group to add them are contained within the url. An optional ?admin= querystring determines if you wish to add the user as an admin of the group.
The response will be a 200
and the payload will be the user ID you just added.
Request
curl --location --request POST 'https://api.veo.co.uk/api/community/{groupId}/members/addmember/{userId}?admin=false' \
--header 'Authorization: Bearer {token}' \
Get group membners
This endpoint allows you to retieve the members of the group.
Request
curl --location --request GET 'https://api.veo.co.uk/api/community/members/members/{{GroupId}}' \
--header 'Authorization: Bearer {token}' \
Other endpoints
For other endpoints please visit the swagger documentation.