API Endpoints
Complete reference for all REST API endpoints across PROIGN modules.
Base URLs
All modules use path-based routing through the gateway. Replace [tenant] with your tenant slug:
| Module | Base URL |
|---|---|
| QR Codes | https://app.proign.com/[tenant]/qr/api |
| Fulfillment | https://app.proign.com/[tenant]/fulfillment/api |
| Rewards | https://app.proign.com/[tenant]/rewards/api |
| Sign | https://app.proign.com/[tenant]/sign/api |
| Support & Helpdesk | https://app.proign.com/[tenant]/support/api |
| Inventory | https://app.proign.com/[tenant]/inventory/api |
| Campaign | https://app.proign.com/[tenant]/campaign/api |
| Analytics | https://app.proign.com/[tenant]/analytics/api |
| Events | https://app.proign.com/[tenant]/events/api |
| Tax | https://app.proign.com/[tenant]/tax/api |
| Upgrade | https://app.proign.com/[tenant]/upgrade/api |
| Aftersale | https://app.proign.com/[tenant]/aftersale/api |
| SDS | https://app.proign.com/[tenant]/sds/api |
| Catalog | https://app.proign.com/[tenant]/catalog/api |
| MES | https://app.proign.com/[tenant]/mes/api |
| Documentation | https://app.proign.com/[tenant]/docs/api |
QR Codes Module
QR Code Management
GET /api/[tenant]/qr # List QR codes
POST /api/[tenant]/qr # Create QR code
GET /api/[tenant]/qr/[id] # Get QR details
PATCH /api/[tenant]/qr/[id] # Update QR code
DELETE /api/[tenant]/qr/[id] # Delete QR code
PATCH /api/[tenant]/qr/[id]/destination # Update destination URL
GET /api/[tenant]/qr/[id]/download # Download as PNG/SVG/PDF
POST /api/[tenant]/qr/preview # Preview without saving
QR Analytics
GET /api/[tenant]/qr/[id]/analytics # Single QR analytics
GET /api/[tenant]/analytics # Dashboard overview
GET /api/[tenant]/analytics/realtime # Real-time scan data
GET /api/[tenant]/analytics/export # Export as CSV/JSON
Templates, Folders & Barcodes
# Templates
GET /api/[tenant]/templates # List templates
POST /api/[tenant]/templates # Create template
PATCH /api/[tenant]/templates/[id] # Update template
DELETE /api/[tenant]/templates/[id] # Delete template
# Folders
GET /api/[tenant]/folders # List folders
POST /api/[tenant]/folders # Create folder
PATCH /api/[tenant]/folders/[id] # Update folder
DELETE /api/[tenant]/folders/[id] # Delete folder
# Barcodes
GET /api/[tenant]/barcode # List barcodes
POST /api/[tenant]/barcode # Create barcode
GET /api/[tenant]/barcode/[id] # Get barcode
DELETE /api/[tenant]/barcode/[id] # Delete barcode
QR Public API (v1)
# Requires: Authorization: Bearer prgn_xxxxx
GET /api/v1/qr # List QR codes
POST /api/v1/qr # Create QR code
GET /api/v1/qr/[id] # Get QR details
PATCH /api/v1/qr/[id] # Update QR code
DELETE /api/v1/qr/[id] # Delete QR code
GET /api/v1/qr/[id]/analytics # Get analytics
Fulfillment Module
Authentication
POST /api/[tenant]/auth/login # Device login
POST /api/[tenant]/auth/logout # Device logout
Orders
GET /api/[tenant]/orders # List orders with filters
GET /api/[tenant]/orders/[id] # Get order details
POST /api/[tenant]/orders/[id]/operations # Unified operation endpoint
Labels & Settings
GET /api/[tenant]/labels/[id] # Download shipping label
GET /api/[tenant]/settings/device # Get device settings
PUT /api/[tenant]/settings/device # Update device settings
Webhooks
POST /api/[tenant]/webhooks/shipstation # ShipStation webhooks
POST /api/[tenant]/webhooks/shopify # Shopify order webhooks
Rewards Module
Authentication
POST /api/[tenant]/auth/login # Dealer login
POST /api/[tenant]/auth/logout # Logout
Profile & Points
GET /api/[tenant]/profile # Get dealer profile
PUT /api/[tenant]/profile # Update profile
GET /api/[tenant]/points # Get points balance
Receipts & Products
GET /api/[tenant]/receipts # List submitted receipts
POST /api/[tenant]/receipts # Submit receipt for points
GET /api/[tenant]/products # List redemption catalog
GET /api/[tenant]/products/[id] # Get product details
Cart & Orders
GET /api/[tenant]/cart # Get shopping cart
POST /api/[tenant]/cart # Add item to cart
PUT /api/[tenant]/cart # Update cart item
DELETE /api/[tenant]/cart # Remove from cart
POST /api/[tenant]/cart/checkout # Place redemption order
GET /api/[tenant]/orders # List redemption orders
Registration & Files
GET /api/[tenant]/register-request # Check registration status
POST /api/[tenant]/register-request # Submit registration
POST /api/[tenant]/files/upload # Upload receipt image
GET /api/[tenant]/files/[id] # Download file
GET /api/[tenant]/tax/w9 # Get W-9 status
POST /api/[tenant]/tax/w9 # Submit W-9 form
Sign Module
Documents
GET /api/[tenant]/documents # List documents
POST /api/[tenant]/documents # Create document
GET /api/[tenant]/documents/[id] # Get document details
DELETE /api/[tenant]/documents/[id] # Delete document
POST /api/[tenant]/documents/[id]/send # Send for signature
GET /api/[tenant]/documents/[id]/download # Download signed PDF
Signers & Fields
GET /api/[tenant]/documents/[id]/signers # List signers
POST /api/[tenant]/documents/[id]/signers # Add signer
DELETE /api/[tenant]/documents/[id]/signers/[sid] # Remove signer
GET /api/[tenant]/documents/[id]/fields # List fields
POST /api/[tenant]/documents/[id]/fields # Add field
DELETE /api/[tenant]/documents/[id]/fields/[fid] # Remove field
Templates
GET /api/[tenant]/templates # List templates
POST /api/[tenant]/templates # Create template
PUT /api/[tenant]/templates/[id] # Update template
DELETE /api/[tenant]/templates/[id] # Delete template
Public Signing (Token-based)
# These endpoints use signing token, not tenant auth
GET /api/sign/[token] # Get document for signing
POST /api/sign/[token] # Submit signature
GET /api/sign/[token]/download # Download signed PDF
GET /api/sign/[token]/audit # Get audit trail
Support & Helpdesk Module
The Support and Helpdesk modules are unified. Public endpoints are for customer-facing portals, authenticated endpoints are for agent helpdesk operations.
Public Endpoints (No Auth)
POST /api/tenants/[tenant]/support/public/tickets # Create ticket
POST /api/tenants/[tenant]/support/public/tickets/lookup # Lookup by number+token
GET /api/tenants/[tenant]/support/public/tickets/[num]/messages # Get messages
POST /api/tenants/[tenant]/support/public/tickets/[num]/messages # Reply
POST /api/tenants/[tenant]/support/public/attachments # Upload attachment
GET /api/tenants/[tenant]/support/public/categories # List categories
Authenticated (Agent/Admin)
# Tickets
GET /api/tenants/[tenant]/support/tickets # List tickets
GET /api/tenants/[tenant]/support/tickets/[id] # Get ticket
PATCH /api/tenants/[tenant]/support/tickets/[id] # Update ticket
GET /api/tenants/[tenant]/support/tickets/[id]/messages # List messages
POST /api/tenants/[tenant]/support/tickets/[id]/messages # Add message
# Categories
GET /api/tenants/[tenant]/support/categories # List categories
POST /api/tenants/[tenant]/support/categories # Create category
PATCH /api/tenants/[tenant]/support/categories/[id] # Update category
DELETE /api/tenants/[tenant]/support/categories/[id] # Delete category
# Attachments
POST /api/tenants/[tenant]/support/attachments # Upload
GET /api/tenants/[tenant]/support/attachments/[id] # Download
DELETE /api/tenants/[tenant]/support/attachments/[id] # Delete
Configuration & AI
# Helpdesk config
GET /api/tenants/[tenant]/support/helpdesk # Get config
PUT /api/tenants/[tenant]/support/helpdesk # Update config
# Email domain
GET /api/tenants/[tenant]/support/email-domain # Get status
POST /api/tenants/[tenant]/support/email-domain # Register
PUT /api/tenants/[tenant]/support/email-domain # Verify
DELETE /api/tenants/[tenant]/support/email-domain # Remove
# AI features
POST /api/tenants/[tenant]/support/ai/triage # AI triage
PUT /api/tenants/[tenant]/support/ai/triage # Suggest response
# Global
GET /api/support/my-tickets # User's tickets
Inventory Module
# Stock
GET /api/[tenant]/stock # List stock by location
POST /api/[tenant]/stock # Adjust stock quantity
# Locations
GET /api/[tenant]/locations # List locations
POST /api/[tenant]/locations # Create location (admin)
# Transfers
GET /api/[tenant]/transfers # List transfer orders
POST /api/[tenant]/transfers # Create transfer
PATCH /api/[tenant]/transfers # Update transfer status
# Movements & Alerts
GET /api/[tenant]/movements # Movement history
GET /api/[tenant]/alerts # List alerts
POST /api/[tenant]/alerts # Create alert
PATCH /api/[tenant]/alerts # Acknowledge/resolve alert
Campaign Module
Lists & Contacts
# Lists
GET /api/[tenant]/lists # List all lists
POST /api/[tenant]/lists # Create list
GET /api/[tenant]/lists/[id] # Get list details
PUT /api/[tenant]/lists/[id] # Update list
DELETE /api/[tenant]/lists/[id] # Delete list
# Contacts
GET /api/[tenant]/contacts # List contacts
POST /api/[tenant]/contacts # Create contact
PUT /api/[tenant]/contacts/[id] # Update contact
DELETE /api/[tenant]/contacts/[id] # Delete contact
POST /api/[tenant]/contacts/import # Bulk import
Segments & Campaigns
# Segments
GET /api/[tenant]/segments # List segments
POST /api/[tenant]/segments # Create segment
PUT /api/[tenant]/segments/[id] # Update segment
# Campaigns
GET /api/[tenant]/campaigns # List campaigns
POST /api/[tenant]/campaigns # Create campaign
GET /api/[tenant]/campaigns/[id] # Get campaign
POST /api/[tenant]/campaigns/[id]/send # Send campaign
Templates & Flows
# Templates (Email & SMS)
GET /api/[tenant]/templates/email # List email templates
POST /api/[tenant]/templates/email # Create email template
GET /api/[tenant]/templates/sms # List SMS templates
POST /api/[tenant]/templates/sms # Create SMS template
# Flows
GET /api/[tenant]/flows # List automation flows
POST /api/[tenant]/flows # Create flow
PUT /api/[tenant]/flows/[id] # Update flow
Surveys & Analytics
# Surveys
GET /api/[tenant]/surveys # List surveys
POST /api/[tenant]/surveys # Create survey
GET /api/[tenant]/surveys/[id]/responses # Get responses
# Analytics
GET /api/[tenant]/analytics # Dashboard analytics
GET /api/[tenant]/campaigns/[id]/stats # Campaign statistics
Events Module
GET /api/[tenant]/events # List events with filters
POST /api/[tenant]/events # Publish event (authenticated)
GET /api/[tenant]/subscriptions # List subscriptions
POST /api/[tenant]/subscriptions # Create subscription (admin)
POST /api/p/[tenant]/events # Publish event (public, rate-limited)
Analytics Module
# Dashboards
GET /api/[tenant]/dashboards # List dashboards
POST /api/[tenant]/dashboards # Create dashboard (admin)
# Metrics
GET /api/[tenant]/metrics # Get metrics with filters
POST /api/[tenant]/metrics # Record a metric
# Reports & Customers
GET /api/[tenant]/reports # List reports
POST /api/[tenant]/reports # Create/generate report
GET /api/[tenant]/customers # Get customer profiles
POST /api/[tenant]/customers # Upsert customer profile
Tax Module
# Dashboard & Liability
GET /api/[tenant]/dashboard # Dashboard summary
GET /api/[tenant]/liability # Tax liability by state
# Transactions
GET /api/[tenant]/transactions # List transactions
POST /api/[tenant]/transactions/sync # Sync to TaxJar
POST /api/[tenant]/transactions/[id]/refund # Create refund
PUT /api/[tenant]/transactions/[id]/amend # Amend transaction
# Filings
GET /api/[tenant]/filings # Tax filing history
# Connections
GET /api/[tenant]/connections/taxjar # TaxJar status
POST /api/[tenant]/connections/taxjar # Save TaxJar credentials
DELETE /api/[tenant]/connections/taxjar # Remove TaxJar
GET /api/[tenant]/connections/shopify # Shopify status
POST /api/[tenant]/connections/shopify # Save Shopify credentials
DELETE /api/[tenant]/connections/shopify # Remove Shopify
Upgrade Module
# Auth
POST /api/[tenant]/auth/register # Customer registration
POST /api/[tenant]/auth/login # Login
POST /api/[tenant]/auth/logout # Logout
GET /api/[tenant]/auth/me # Current user
# Submissions
GET /api/[tenant]/submissions # List submissions
POST /api/[tenant]/submissions # Create submission
GET /api/[tenant]/submissions/[id] # Get details
PUT /api/[tenant]/submissions/[id] # Update submission
POST /api/[tenant]/submissions/[id]/inspect # Inspection
POST /api/[tenant]/submissions/[id]/receive # Mark received
POST /api/[tenant]/submissions/[id]/ship # Ship kit
# Offers
POST /api/[tenant]/offers # Create offer (admin)
POST /api/[tenant]/offers/[id] # Accept/decline (customer)
# Photos & Profile
POST /api/[tenant]/photos # Upload photo
GET /api/[tenant]/photos/[id] # Get photo
GET /api/[tenant]/profile # Get profile
PUT /api/[tenant]/profile # Update profile
Aftersale Module
# Auth
POST /api/[tenant]/auth/login # Customer login
POST /api/[tenant]/auth/register # Customer registration
GET /api/[tenant]/auth/me # Current user
POST /api/[tenant]/auth/logout # Logout
# Warranties (public)
POST /api/p/[tenant]/warranties # Register warranty
SDS Module
# Formulas
GET /api/[tenant]/formulas # List formulas
POST /api/[tenant]/formulas # Create formula
GET /api/[tenant]/formulas/import # Get import template
POST /api/[tenant]/formulas/import # Bulk import
# Formula Actions
GET /api/[tenant]/formulas/[id]/detect-allergens # Get allergens
POST /api/[tenant]/formulas/[id]/detect-allergens # Run detection
GET /api/[tenant]/formulas/[id]/certificate # Get certificate
POST /api/[tenant]/formulas/[id]/certificate # Generate certificate
GET /api/[tenant]/formulas/[id]/sds # Get SDS
POST /api/[tenant]/formulas/[id]/sds # Generate SDS
# Ingredients
GET /api/[tenant]/ingredients # List ingredients
POST /api/[tenant]/ingredients # Create ingredient
GET /api/[tenant]/ingredients/search # Search PubChem
# Allergens
GET /api/[tenant]/allergens # List EU allergens
POST /api/[tenant]/allergens/detect # Detect in text
Catalog Module
# Products
GET /api/[tenant]/products # List products
POST /api/[tenant]/products # Create product
GET /api/[tenant]/products/[id] # Get product
PUT /api/[tenant]/products/[id] # Update product
DELETE /api/[tenant]/products/[id] # Delete product
# Categories
GET /api/[tenant]/categories # List categories
POST /api/[tenant]/categories # Create category
PUT /api/[tenant]/categories/[id] # Update category
# Catalog Generation
POST /api/[tenant]/catalogs/generate # Generate PDF catalog
GET /api/[tenant]/catalogs # List generated catalogs
GET /api/[tenant]/catalogs/[id]/download # Download catalog PDF
# Shopify Sync
POST /api/[tenant]/shopify/sync # Trigger product sync
GET /api/[tenant]/shopify/sync/status # Get sync status
# Languages
GET /api/[tenant]/languages # List languages
POST /api/[tenant]/products/[id]/translations # Add translation
MES Module
# Machines
GET /api/[tenant]/machines # List machines
POST /api/[tenant]/machines # Register machine
GET /api/[tenant]/machines/[id] # Get machine details
PUT /api/[tenant]/machines/[id] # Update machine
GET /api/[tenant]/machines/[id]/status # Get live status (MTConnect)
# Production
GET /api/[tenant]/production/runs # List production runs
POST /api/[tenant]/production/runs # Start production run
PUT /api/[tenant]/production/runs/[id] # Update run
GET /api/[tenant]/production/runs/[id]/parts # Get parts produced
# OEE Reporting
GET /api/[tenant]/oee # Get OEE metrics
GET /api/[tenant]/oee/by-machine # OEE per machine
GET /api/[tenant]/oee/by-shift # OEE per shift
# Alarms
GET /api/[tenant]/alarms # List alarms
GET /api/[tenant]/alarms/active # Get active alarms
PUT /api/[tenant]/alarms/[id]/acknowledge # Acknowledge alarm
# Shifts
GET /api/[tenant]/shifts # List shift configurations
POST /api/[tenant]/shifts # Create shift
GET /api/[tenant]/shifts/[id]/report # Get shift report
Documentation Module
# Documents
GET /api/[tenant]/documents # List documents
POST /api/[tenant]/documents # Create document
GET /api/[tenant]/documents/[id] # Get document
PUT /api/[tenant]/documents/[id] # Update document
DELETE /api/[tenant]/documents/[id] # Delete document
# Categories
GET /api/[tenant]/doc-categories # List categories
POST /api/[tenant]/doc-categories # Create category
# Search
GET /api/[tenant]/documents/search # Full-text search
# Media
POST /api/[tenant]/documents/[id]/media # Upload media
GET /api/[tenant]/documents/[id]/media # List media
Common Query Parameters
| Parameter | Description |
|---|---|
page | Page number (default: 1) |
limit | Items per page (default: 20, max: 100) |
sort | Sort field (e.g., created_at) |
order | Sort order: asc or desc |
search | Search query string |
Response Format
All responses follow a consistent JSON format:
// Success response
{
"data": { ... },
"meta": {
"page": 1,
"limit": 20,
"total": 150
}
}
// Error response
{
"error": "Error message",
"code": "ERROR_CODE",
"details": { ... }
}