Request Types
Types for create and update operations.
Pass Template Requests
typescript
type CreatePassTemplateRequest = {
name: string;
workspace_id: string;
project_id: string;
apple_pass_type_identifier: string;
description?: string;
background_color?: string;
label_color?: string;
value_color?: string;
logo_text?: string;
barcode_type?: BarcodeType;
barcode_id?: string;
barcode_label?: string;
top_field_label?: string;
top_field_value?: string;
front_fields?: PassField[];
secondary_fields?: PassField[];
back_fields?: PassField[];
locations?: Location[];
location_message?: string;
tier_id?: string;
tier_label?: string;
};
type UpdatePassTemplateRequest = Partial<CreatePassTemplateRequest>;Pass Requests
typescript
type CreatePassRequest = {
pass_template_id: string;
project_id: string;
workspace_id: string;
full_name?: string;
email?: string;
notification?: string;
custom_fields?: Record<string, any>;
};
type UpdatePassRequest = Partial<{
pass_template_id: string;
full_name: string;
email: string;
notification: string;
custom_fields: Record<string, any>;
}>;Segment Requests
typescript
type CreateSegmentRequest = {
workspace_id: string;
name: string;
description?: string;
filters?: SegmentFilter[];
};
type UpdateSegmentRequest = {
name?: string;
description?: string;
filters?: SegmentFilter[];
};Campaign Requests
typescript
type CreateCampaignRequest = {
workspace_id: string;
name: string;
description?: string;
scheduled_at?: string;
segment_id?: string;
};
type UpdateCampaignRequest = Partial<{
name: string;
description: string;
segment_id: string;
scheduled_at: string;
}>;
interface CreateCampaignActionRequest {
action_type: CampaignActionType;
action_config: ActionConfig;
}
type ActionConfig =
| PushNotificationConfig
| TemplateSwitchConfig
| CustomFieldUpdateConfig;
interface PushNotificationConfig {
notification_message: string;
}
interface TemplateSwitchConfig {
target_template_id: string;
preserve_custom_fields?: boolean;
}
interface CustomFieldUpdateConfig {
custom_field_updates: Record<string, any>;
}Event Requests
typescript
interface CreateFieldChangeEventRequest {
pass_id: string;
event_type?: FieldChangeEventType;
field_name: string;
old_value?: string | null;
new_value?: string | null;
event_timestamp?: string;
external_id?: string;
source?: string;
metadata?: Record<string, unknown>;
}
interface CreateTransactionEventRequest {
pass_id: string;
event_type: TransactionEventType;
amount: number;
currency: string;
event_timestamp?: string;
external_id?: string;
source?: string;
metadata?: Record<string, unknown>;
}
interface CreateActivityEventRequest {
pass_id: string;
event_type: ActivityEventType;
event_timestamp?: string;
external_id?: string;
source?: string;
metadata?: Record<string, unknown>;
}Distribution Requests
typescript
type CreateDistributionRequest = {
workspace_id: string;
project_id: string;
pass_template_id: string;
status?: DistributionStatus;
page_address?: string;
landing_html?: string;
landing_html_success?: string;
email_html?: string;
email_topic?: string;
email_reply_to?: string;
css?: string;
form_fields_config?: FormFieldsConfig;
};
type UpdateDistributionRequest = Partial<CreateDistributionRequest>;Data Model Requests
typescript
type CreateDataModelFieldRequest = {
field_name: string;
field_label: string;
field_type: DataModelFieldType;
default_value?: string | null;
allowed_values?: string[] | null;
is_required?: boolean;
sort_order?: number;
};
type UpdateDataModelFieldRequest = Partial<CreateDataModelFieldRequest>;