Management API

https://intelpush-mgmt-api.jmm70.workers.dev

Cloudflare Worker. CRUD operations on MongoDB collections for the administration dashboard. Manages cardholders, notifications, stats, prompts, charts and logos.

GET /cardholders List cardholders with search and pagination
GET /notifications Notifications for a cardholder filtered by date range
GET /stats/transactions KPIs and daily series for transactions
GET /stats/notifications KPIs and daily series for notifications
GET /prompts List prompts from the AI library
GET /prompts/:code Get prompt detail by code
POST /prompts Create a new prompt
PUT /prompts/:code Edit insight_type, category or template
PATCH /prompts/:code/status Enable or disable a prompt
GET /charts List charts from the visual library
GET /charts/:code Get chart detail by code
POST /charts Create a new chart
PUT /charts/:code Edit chart fields
PATCH /charts/:code/status Enable or disable a chart
GET /logos List corporate logos
GET /logos/:code Get logo detail by code
POST /logos Create logo entry — metadata only (step 1 of 2)
POST /logos/:code/upload Upload image file to R2 (step 2 of 2)
PATCH /logos/:code/status Activate a logo (deactivates all others)
PUT /logos/:code Edit name or description

Categories

https://intelpush-mgmt-api.jmm70.workers.dev

Spend categories derived from credit card transactions. Used as segmentation conditions in insight campaigns. Each category has multilingual labels (en / ca / es).

GET /categories List all categories
GET /categories/:code Get category detail
POST /categories Create category
PUT /categories/:code Update category labels
PATCH /categories/:code/status Activate / deactivate
DELETE /categories/:code Delete category permanently

Insights

https://intelpush-mgmt-api.jmm70.workers.dev

Notification campaign configuration. Default campaigns apply to all users when no specific campaign matches. Specific campaigns apply conditions on category, gender and age range.

GET /insights/default List default campaigns
POST /insights/default Create a default campaign
PUT /insights/default/:code Edit a default campaign
PATCH /insights/default/:code/status Activate or deactivate (exclusive)
GET /insights/campaigns List specific campaigns
POST /insights/campaigns Create a specific campaign
PUT /insights/campaigns/:code Edit a specific campaign
PATCH /insights/campaigns/:code/status Activate or deactivate

AI Worker

https://intelpush-worker.jmm70.workers.dev

Cloudflare Worker. Receives transaction data, queries the last 3 months of history from MongoDB and generates a personalised insight via Mistral AI.

POST / Generate notification insight

Image Worker

https://intelpush-image-worker.jmm70.workers.dev

Cloudflare Worker. Generates PNG charts (600×300 px) from MongoDB data and stores them in R2. Titles are resolved from the charts collection.

POST /chart Generate a chart by code (main endpoint)
GET /images/:key Serve a generated image from R2
GET /library/:key Serve a static chart preview

Client API — Demo

https://intelpush-pwa.vercel.app/api

Demo endpoints that simulate a client (neobank backend) triggering a notification after a payment event. Each call orchestrates the full pipeline: selects the active insight config, calls the AI Worker for the body text, calls the Image Worker for the chart, sends via Firebase FCM to all registered devices, and saves the result to notifications_history.

POST /api/notify Send smart notification (Android + PWA)
POST /api/notify-v2 Send smart notification — web-optimised body

PWA (Vercel)

https://intelpush-pwa.vercel.app/api

Next.js app deployed on Vercel. Manages push tokens, sends notifications via Firebase, and exposes merchant and cardholder data for the user interface.

GET /api/register-token Check if a cardholder has a registered push token
POST /api/register-token Register or update an FCM token
POST /api/send-notification Send push notification via Firebase
GET /api/merchants List merchants (with optional category filter)
GET /api/merchant-categories List merchant categories
POST /api/notification-feedback Save feedback for a notification
GET /api/users List all cardholders