Profile Groups

Organize profiles intro addressable groups

Profile Groups is an API-first service that enables products to group profiles into named sets, allowing you to easily address groups of profiles inside of an integration. As a product developer using the Profile Groups API, you will be able to:

  • Group members into flexible, dynamic sets
  • Manage and query the groups a profile belongs to
  • Access and list all available profile groups
  • Retrieve and manage group members efficiently

Profile Groups Basics

A Profile Group can be thought of as a named set of profiles. When a profile group is first created it has no member profiles.

  • The Name and Description help you organize your groups inside of the CMS, and can be used as labels inside of your integration.
  • The Members field is the set of profiles that are part of this group.
  • The ID is the LiveLike-assigned unique identifier of the group. It's one of the main ways to reference the group in your integration code.
  • The Custom ID is optional but can also be used to reference the group in your integration code. A group's custom ID must be unique in your application.
  • The Attributes are an array of key-value pairs that can be used to organize and query groups inside of the integration. Groups are indexed by their attributes, and groups can be looked up by their attribute values.

📘

Custom IDs and attributes make data-level integrations easier

Check out Data Integration Patterns for more ideas on using custom IDs and attributes to organize your profile groups.

Working with Profile Groups

Listing profile groups in an app

Retrieving all the Groups for a given client's id is done via the REST API interface

GET /api/v1/applications/{client-id}/profile-groups/ HTTP/1.1

Authorization: Bearer {access-token}

Listing groups a profile is a member of

Retrieving all groups for a given Profile's UUID where that profile belongs is done via the REST API interface

GET /api/v1/applications/{client-id}/profiles/{profile-id}/profile-groups/ HTTP/1.1

Authorization: Bearer {access-token}

Listing profile group members

Retrieving all Profile members for a given Group's UUID done via the REST API interface

GET /api/v1/applications/{client-id}/profile-groups/{group-id}/members/ HTTP/1.1

Authorization: Bearer {access-token}

Creating a new profile group

Creating a group is done via the REST API interface

POST /api/v1/applications/{client_id}/profile-groups/{group-id}/ HTTP/1.1

Authorization: Bearer {access-token}
Content-Type: application/json

{"name":"Group created","is_active":true,"description":"A new group has been created","attributes":[{"key":"key1","value":"val1"}]}

Deleting a profile group

DELETE /api/v1/applications/{client_id}/profile-groups/{group-id} HTTP/1.1

Authorization: Bearer {access-token}
Content-Type: application/json

Updating a profile group's details

PUT /api/v1/applications/{client_id}/profile-groups/{group-id}/ HTTP/1.1

Authorization: Bearer {access-token}
Content-Type: application/json
{"name":"Group - edited","is_active":true,"description":"A new group has been created","attributes":[{"key":"key1","value":"val1"}]}

Note: Changing is_active to false will make the group unavailable through the API and cause 404 on consecutive calls.

Listing profile group members

GET /api/v1/applications/{client-id}/profile-groups/{group-id}/members/ HTTP/1.1

Authorization: Bearer {access-token}

Adding members to a profile group

Adding a member to a group is done via the REST API interface

POST /api/v1/applications/{client-id}/profile-groups/{group-id}/members/ HTTP/1.1

Authorization: Bearer {access-token}

{"profile_ids":["174cc6dd-c1da-42d2-886e-c48b2bf803a8"]}

Note: Or alternatively, we can use custom_id list, but not both on the same time.

Bulk adding a member to a group is done via the REST API interface

POST /api/v1/applications/{client-id}/profile-groups/{group-id}/members/ HTTP/1.1

Authorization: Bearer {access-token}

{"profile_ids":["174cc6dd-c1da-42d2-886e-c48b2bf803a8", "d4b24ed2-f242-4a5a-9ae1-d9b7834f5a98"]}

Note: Or alternatively, we can use custom_id list, but not both on the same time.

Removing members from a profile group

Removing a member from a group is done via the REST API interface

DELETE /api/v1/applications/{client-id}/profile-groups/{group-id}/members/ HTTP/1.1

Authorization: Bearer {access-token}

{"profile_ids":["174cc6dd-c1da-42d2-886e-c48b2bf803a8", "d4b24ed2-f242-4a5a-9ae1-d9b7834f5a98"]}

Note: Or alternatively, we can use custom_id list, but not both on the same time.