From 7b6830daa563d2500bc78510f9460dd2384f18cf Mon Sep 17 00:00:00 2001 From: Matthew Meszaros Date: Tue, 1 Sep 2026 01:32:56 -0700 Subject: [PATCH] feat: say segments out loud in the API scope catalog: the READ_CONTACTS and WRITE_CONTACTS descriptions served to the API key dialog (and the docs permission table) now name segments, since segment CRUD, previews, member overrides and enrolment ride on the contact scopes and the picker never said so --- docs/content/docs/api/permissions.mdx | 4 ++-- internal/models/api_permission.go | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/content/docs/api/permissions.mdx b/docs/content/docs/api/permissions.mdx index 0409992c..f0ca6bbc 100644 --- a/docs/content/docs/api/permissions.mdx +++ b/docs/content/docs/api/permissions.mdx @@ -13,12 +13,12 @@ These same permissions are the [OAuth](/api/oauth/) scopes, lowercased: `READ_EM |------------|-----|-------|----------|-------------| | `READ_EMAILS` | 0 | 1 | read | View email accounts and settings | | `READ_CAMPAIGNS` | 1 | 2 | read | View campaigns and sequences | -| `READ_CONTACTS` | 2 | 4 | read | View contact lists, notes, and activities | +| `READ_CONTACTS` | 2 | 4 | read | View contact lists, segments, notes, and activities | | `READ_UNIBOX` | 3 | 8 | read | Access unified inbox | | `READ_ANALYTICS` | 4 | 16 | read | View analytics and statistics | | `WRITE_EMAILS` | 5 | 32 | write | Modify email account settings | | `WRITE_CAMPAIGNS` | 6 | 64 | write | Create and modify campaigns and sequences | -| `WRITE_CONTACTS` | 7 | 128 | write | Create and modify contacts, notes, activities | +| `WRITE_CONTACTS` | 7 | 128 | write | Create and modify contacts, segments, notes, activities | | `WRITE_UNIBOX` | 8 | 256 | write | Mark emails as read/unread and send replies | | `BULK_CONTACTS` | 9 | 512 | bulk | Bulk import/export/delete contacts | | `BULK_CAMPAIGNS` | 10 | 1024 | bulk | Bulk campaign operations | diff --git a/internal/models/api_permission.go b/internal/models/api_permission.go index 04730b9e..f0f54fb6 100644 --- a/internal/models/api_permission.go +++ b/internal/models/api_permission.go @@ -8,14 +8,14 @@ const ( // Read permissions APIPermReadEmails uint64 = 1 << iota // Read email accounts APIPermReadCampaigns // Read campaigns + sequences - APIPermReadContacts // Read contacts, notes, activities + APIPermReadContacts // Read contacts, segments, notes, activities APIPermReadUnibox // Read unified inbox APIPermReadAnalytics // Read analytics + statistics // Write permissions APIPermWriteEmails // Modify email accounts APIPermWriteCampaigns // Create/modify campaigns + sequences - APIPermWriteContacts // Create/modify contacts, notes, activities + APIPermWriteContacts // Create/modify contacts, segments, notes, activities APIPermWriteUnibox // Mark as seen, reply, etc. // Bulk operations (separate so a key can read+write without bulk power) @@ -98,7 +98,7 @@ type APIPermission struct { var AllAPIPermissions = []APIPermission{ {"READ_EMAILS", APIPermReadEmails, "View email accounts and settings", "read"}, {"READ_CAMPAIGNS", APIPermReadCampaigns, "View campaigns and sequences", "read"}, - {"READ_CONTACTS", APIPermReadContacts, "View contact lists, notes, and activities", "read"}, + {"READ_CONTACTS", APIPermReadContacts, "View contact lists, segments, notes, and activities", "read"}, {"READ_UNIBOX", APIPermReadUnibox, "Access unified inbox", "read"}, {"READ_ANALYTICS", APIPermReadAnalytics, "View analytics and statistics", "read"}, {"READ_TEMPLATES", APIPermReadTemplates, "View reply templates", "read"}, @@ -106,7 +106,7 @@ var AllAPIPermissions = []APIPermission{ {"READ_AUDIT_LOGS", APIPermReadAuditLogs, "View organization audit logs", "read"}, {"WRITE_EMAILS", APIPermWriteEmails, "Modify email account settings", "write"}, {"WRITE_CAMPAIGNS", APIPermWriteCampaigns, "Create and modify campaigns and sequences", "write"}, - {"WRITE_CONTACTS", APIPermWriteContacts, "Create and modify contacts, notes, and activities", "write"}, + {"WRITE_CONTACTS", APIPermWriteContacts, "Create and modify contacts, segments, notes, and activities", "write"}, {"WRITE_UNIBOX", APIPermWriteUnibox, "Mark emails as read/unread and send replies", "write"}, {"WRITE_TEMPLATES", APIPermWriteTemplates, "Create and modify reply templates", "write"}, {"WRITE_CRM", APIPermWriteCRM, "Create and modify pipelines, deals, and CRM tasks", "write"},