Overview
Retrieve all tags configured for your organization. This endpoint returns tag IDs, names, types, and visual properties that you can use for contact tagging, filtering, and organization. This is an essential endpoint for building tag selection interfaces and getting the tag IDs needed for the tag update endpoints.Use Cases
- Tag Selection UI: Populate dropdowns or multi-select components with available tags
- Get Tag IDs: Find tag IDs for use with update/assignment endpoints
- Tag Management: Display all tags in admin interfaces
- Filtering Options: Build dynamic filters for contacts based on available tags
- Integration Sync: Sync tag definitions with external systems
- Tag Validation: Verify tag IDs before attempting to assign them
Authentication
This endpoint requires authentication using an API key. Include your API key in the request header:Response Structure
Returns an array of tag objects:Field | Type | Description |
---|---|---|
id | number | Unique numeric identifier for the tag |
value | string | Tag name/label (e.g., “vip-customer”) |
variant | string | Color variant for UI display |
entity_type | string | Tag type: “CONTACT” or “TICKET” |
created_at | string (ISO) | Timestamp when the tag was created |
client_id | string (UUID) | Your organization ID |
integration_token_id | string | null | CRM integration token ID (if synced) |
integration_provider | string | null | CRM provider name (if synced) |
integration_external_id | string | null | External CRM tag ID (if synced) |
Example Request
Example Response
Common Use Cases
1. Build Tag Selection Dropdown
2. Get Tag ID by Name
3. Group Tags by Type
4. Get Tags by Color Variant
5. Build Tag Filter Interface
6. Sync Tags to External System
7. Cache Tags for Performance
Tag Entity Types
Entity Type | Description | Use With |
---|---|---|
CONTACT | Tags that apply to contacts permanently | Contact-level labeling |
TICKET | Tags that apply to tickets/conversations only | Ticket categorization |
Color Variants
Tags have color variants for visual organization in your UI:Variant | Typical Use | Example Tags |
---|---|---|
red | Urgent, high priority, issues | ”urgent”, “high-priority” |
amber | Warning, attention needed | ”needs-followup”, “pending” |
yellow | Caution, review needed | ”review-required”, “on-hold” |
green | Success, completed, positive | ”qualified”, “completed” |
blue | Informational, categories | ”lead”, “customer” |
purple | Special categories | ”vip”, “partner” |
gray | Neutral, archived | ”archived”, “inactive” |
Integration Tags
Tags can be synced from external CRM systems. These have:integration_token_id
: The CRM integration tokenintegration_provider
: CRM name (e.g., “salesforce”, “hubspot”, “pipedrive”)integration_external_id
: The tag ID in the external system
Error Responses
Status Code | Description |
---|---|
401 | Unauthorized - Invalid or missing API key |
500 | Internal Server Error - Something went wrong |
Important Notes
- Tag IDs are Numeric: Unlike most other IDs in the API (UUIDs), tag IDs are integers
- Organization Scoped: Returns only tags from your organization
- Includes Integration Tags: Shows both manually created and CRM-synced tags
- No Pagination: Returns all tags (typically not a large dataset)
- Cache-Friendly: Tags don’t change frequently, safe to cache
Response Characteristics
- All Tags: Returns all tags regardless of type
- No Filtering: Currently no query parameters to filter tags
- Alphabetical: Not sorted - consider sorting client-side if needed
- Complete List: Includes both active and CRM-integrated tags
Using Tag IDs
After getting tag IDs from this endpoint, use them with: Update Contact Tags (Replace all):Complete Workflow Example
Tag Display Component Example
Best Practices
1. Cache Tag List
2. Create Tag Lookup Map
3. Filter Tags by Type for UI
Related Endpoints
- PATCH /api/public/contact/tags/ - Update contact tags using tag IDs
- POST /api/public/channels///tags - Create and assign tags by name
- GET /api/public/contact//info - Get contact info including assigned tags
Performance Tips
- Cache the Response: Tags change infrequently - cache for 5-10 minutes
- Client-side Operations: Sort, filter, and search tags on the client side
- Load Once: Fetch tags once when your app loads, reuse throughout session
- Update on Change: Refresh cache when users create/edit tags in your UI
Notes
- No Pagination: All tags are returned in a single response
- Small Dataset: Most organizations have < 100 tags
- Unique Names: Tag values must be unique per organization and entity type
- Case Sensitive: Tag names are case-sensitive
- ID Format: Tag IDs are integers (not UUIDs like other resources)
Headers
API key needed to authorize the request
Response
Tags retrieved successfully.