Shared types defined in pidgr/v1/common.proto that are referenced by multiple services.
Canonical message type used across rendering, inbox, and delivery. Represents fully rendered content.
| Field | Type | Description |
|---|
content_id | string | SHA-256 hash of the rendered content (content-addressable ID). |
campaign_id | string | Parent campaign ID. |
sender_name | string | Sender display name. Max 200 characters. |
title | string | Message title. Max 200 characters. |
summary | string | One-line summary for notification banners. Max 500 characters. |
preview | string | Preview text for inbox list views. Max 500 characters. |
body | string | Full message body. Max 100,000 characters. |
critical | bool | Whether immediate attention is required. |
actions | MessageAction[] | Available recipient actions. |
created_at | Timestamp | Creation timestamp. |
An action button attached to a message.
| Field | Type | Description |
|---|
id | string | Unique action identifier. |
type | ActionType | Action type (ACK). |
label | string | Display label (e.g., “Got it”). Max 50 characters. |
Cursor-based pagination parameters for list requests.
| Field | Type | Description |
|---|
page_size | int32 | Maximum items per page. |
page_token | string | Opaque token for the next page. |
Pagination metadata in list responses.
| Field | Type | Description |
|---|
next_page_token | string | Token for the next page. Empty if no more pages. |
total_count | int32 | Total items matching the query. |
A named role with permissions within an organization.
| Field | Type | Description |
|---|
id | string | Unique identifier. |
slug | string | URL-safe slug. |
name | string | Display name. |
is_default | bool | System-seeded role. |
is_system | bool | Immutable system role. |
permissions | Permission[] | Granted permissions. |
A data-driven DAG that defines campaign workflow steps.
| Field | Type | Description |
|---|
steps | WorkflowStep[] | Ordered list of workflow steps. |
entry_step_id | string | ID of the first step to execute. |
A single step in a workflow DAG.
| Field | Type | Description |
|---|
id | string | Unique step identifier. |
type | StepType | Step type. |
send_notification_config | SendNotificationConfig | Config for SEND_NOTIFICATION steps. |
send_reminder_config | SendReminderConfig | Config for SEND_REMINDER steps. |
deadline_check_config | DeadlineCheckConfig | Config for DEADLINE_CHECK steps. |
call_webhook_config | CallWebhookConfig | Config for CALL_WEBHOOK steps. |
transitions | map<string, string> | Next step ID by outcome key. |
| Field | Type | Description |
|---|
id | string | Unique identifier. |
email | string | Email address. |
role | Role | Assigned role. |
status | UserStatus | Account status. |
profile | UserProfile | User profile data. |
created_at | Timestamp | Creation timestamp. |
| Field | Type | Description |
|---|
display_name | string | Display name. |
avatar_url | string | Avatar URL. |
custom_attributes | map<string, string> | Custom profile attributes. |
| Field | Type | Description |
|---|
notifications_enabled | bool | Push notifications enabled. |
theme_preference | ThemePreference | Preferred theme. |
| Value | Number | Description |
|---|
ACTION_TYPE_UNSPECIFIED | 0 | Unspecified |
ACTION_TYPE_ACK | 1 | Acknowledge — user confirms receipt |
| Value | Number | Description |
|---|
CAMPAIGN_STATUS_UNSPECIFIED | 0 | Unspecified |
CAMPAIGN_STATUS_CREATED | 1 | Draft — not yet started |
CAMPAIGN_STATUS_ACTIVE | 2 | Running |
CAMPAIGN_STATUS_COMPLETED | 3 | All deliveries resolved |
CAMPAIGN_STATUS_CANCELLED | 4 | Manually cancelled |
| Value | Number | Description |
|---|
DELIVERY_STATUS_UNSPECIFIED | 0 | Unspecified |
DELIVERY_STATUS_PENDING | 1 | Queued |
DELIVERY_STATUS_SENT | 2 | Notification delivered |
DELIVERY_STATUS_READ | 3 | User opened the message |
DELIVERY_STATUS_ACKNOWLEDGED | 4 | User acknowledged |
DELIVERY_STATUS_MISSED | 5 | Deadline passed |
DELIVERY_STATUS_FAILED | 6 | Delivery failed |
| Value | Number | Description |
|---|
PERMISSION_UNSPECIFIED | 0 | Unspecified |
MANAGE_CAMPAIGNS | 1 | Create, start, cancel campaigns |
VIEW_CAMPAIGNS | 2 | View campaigns and deliveries |
MANAGE_TEMPLATES | 3 | Create and edit templates |
VIEW_TEMPLATES | 4 | View templates |
MANAGE_MEMBERS | 5 | Invite, deactivate, change roles |
VIEW_MEMBERS | 6 | View member list |
MANAGE_TEAMS | 7 | Create, edit, delete teams |
VIEW_TEAMS | 8 | View teams |
MANAGE_GROUPS | 9 | Create, edit, delete groups |
VIEW_GROUPS | 10 | View groups |
MANAGE_ROLES | 11 | Create, edit, delete custom roles |
VIEW_ROLES | 12 | View roles |
MANAGE_ORGANIZATION | 13 | Update organization settings |
MANAGE_SSO | 14 | Configure SSO providers |
| Value | Number | Description |
|---|
PLATFORM_UNSPECIFIED | 0 | Unspecified |
PLATFORM_IOS | 1 | iOS |
PLATFORM_ANDROID | 2 | Android |
| Value | Number | Description |
|---|
STEP_TYPE_UNSPECIFIED | 0 | Unspecified |
STEP_TYPE_SEND_NOTIFICATION | 1 | Send push notification |
STEP_TYPE_DEADLINE_CHECK | 2 | Timer step |
STEP_TYPE_SEND_REMINDER | 3 | Re-send to unacknowledged |
STEP_TYPE_CALL_WEBHOOK | 4 | POST to webhook URL |
STEP_TYPE_MARK_MISSED | 5 | Mark unacknowledged as missed |
| Value | Number | Description |
|---|
THEME_PREFERENCE_UNSPECIFIED | 0 | Unspecified |
THEME_PREFERENCE_SYSTEM | 1 | Follow system theme |
THEME_PREFERENCE_LIGHT | 2 | Light theme |
THEME_PREFERENCE_DARK | 3 | Dark theme |
| Value | Number | Description |
|---|
USER_STATUS_UNSPECIFIED | 0 | Unspecified |
USER_STATUS_ACTIVE | 1 | Active user |
USER_STATUS_INVITED | 2 | Invited but not yet signed in |
USER_STATUS_DEACTIVATED | 3 | Deactivated |