# Create trigger source Create a new trigger source (QR code, NFC tag, webhook, geofence, etc.) for a campaign Endpoint: POST /trigger-sources Version: 2.0.10 Security: tenantAdminJWT ## Request fields (application/json): - `type` (string, required) Type of the trigger source Enum: "QR_CODE", "API_WEBHOOK" - `name` (string, required) Human-readable name for the trigger source Example: "Main Entrance QR Code" - `description` (object,null) Optional description explaining this trigger source Example: "QR code located at the main entrance for visitor check-in" - `metadata` (object) Type-specific configuration and settings Example: {"tokenConfig":{"tokenId":"1"}} - `businessId` (object,null) Reference to the business that owns this trigger source. Optional - can be tenant-wide trigger sources Example: "business-uuid-123" ## Response 201 fields (application/json): - `type` (string, required) Type of the trigger source Enum: "QR_CODE", "API_WEBHOOK" - `name` (string, required) Human-readable name for the trigger source Example: "Main Entrance QR Code" - `description` (object,null) Optional description explaining this trigger source Example: "QR code located at the main entrance for visitor check-in" - `metadata` (object) Type-specific configuration and settings Example: {"tokenConfig":{"tokenId":"1"}} - `businessId` (object,null) Reference to the business that owns this trigger source. Optional - can be tenant-wide trigger sources Example: "business-uuid-123" - `id` (string, required) Unique identifier for the trigger source Example: "source-12345" - `isActive` (boolean, required) Whether this trigger source is currently active. Inactive sources won't trigger any flows Example: true - `analytics` (object,null) Usage analytics and statistics for this trigger source - `analytics.totalEngagements` (number) Total number of uses/interactions Example: 42 - `analytics.uniqueUsers` (number) Number of unique users who have used this feature Example: 28 - `analytics.lastEngagedAt` (object,null) Timestamp of the most recent usage Example: "2024-01-15T12:00:00.000Z" - `analytics.firstEngagedAt` (object,null) Timestamp of the first usage Example: "2024-01-01T08:30:00.000Z" - `analytics.averageEngagementsPerDay` (number) Average number of uses per day over the last 30 days Example: 2.1 - `createdAt` (object, required) Timestamp when the trigger source was created Example: "2024-01-01T12:00:00.000Z" - `updatedAt` (object, required) Timestamp when the trigger source was last updated Example: "2024-01-10T12:00:00.000Z" ## Response 400 fields ## Response 409 fields