Groups Overview
The Groups API allows you to create, manage, and retrieve groups (collections) in the IndexSDK system. Groups serve as containers for organizing documents, plans, and other resources within a tenant domain.
Architecture
Groups are domain-scoped entities that organize and manage collections of resources. Each group is associated with:
- A
domain(group_name) that identifies the tenant - A
group_idthat uniquely identifies the group - A
group_namethat provides a human-readable name - A
group_descriptionthat describes the group's purpose - Various settings and configurations for the group
Authentication Flow
Before managing groups, you must authenticate using the Client Credentials API to obtain an access token. This token is then used to authenticate requests to group endpoints.
Key Concepts
Group Creation
When you create a group using sync-group:
- A new group is created with a unique
group_id - The
group_nameis required and must be unique within the domain - Optional
group_descriptioncan be provided - The group is associated with the authenticated user's domain
Group Management
Groups can be managed through the sync-group endpoint:
- Create: Provide
group_name(and optionallygroup_description) withoutgroup_id - Update: Provide
group_idalong with fields to update - Delete: Set
is_delete: truealong withgroup_id
Group Retrieval
Groups can be retrieved using the fetch-groups endpoint:
- Returns all groups the authenticated user has access to
- Access is determined by:
- User role (admin users see all groups)
- Direct user-group access mappings
- Organization-level access
Access Control
Group access is managed through:
- Admin users: Have access to all groups in the system
- Regular users: Have access only to groups explicitly granted to them or groups within their organization
Plans
Plans are associated with collections (groups) and allow you to organize documents and supplemental benefits. Plans can be:
- Created, updated, or deleted using the
sync-planendpoint - Retrieved individually by
plan_idor as a list filtered bycollection_id - Associated with multiple documents and supplemental benefits
Plan Management
Plans can be managed through the sync-plan endpoint:
- Create: Provide
plan_name,description,collection_id, andcolorwithoutplan_id - Update: Provide
plan_idalong with fields to update - Delete: Set
is_delete: truealong withplan_id
Plan Retrieval
Plans can be retrieved using:
get-plans- Returns all plans or plans filtered bycollection_idget-plan-details- Returns a specific plan byplan_idwith associated documents and benefits
Use Cases
Groups are used to:
- Organize documents and resources by category or purpose
- Manage access control for collections of content
- Separate different types of content within a tenant
- Support multi-tenant architectures with domain isolation
Plans are used to:
- Organize documents within a collection
- Associate documents with supplemental benefits
- Create structured document groupings for specific purposes
Next Steps
- Sync Group API - Complete API reference for creating, updating, and deleting groups
- Fetch Groups API - Retrieve list of groups
- Sync Plan API - Create, update, or delete plans
- Get Plan Details API - Retrieve plan by ID
- Get Plans API - Retrieve list of plans
- Authentication Overview - Learn about authentication requirements