Multi-tenant Form Engine Management

Add New Client
Format: CLT001, CLT002, etc.
Existing Clients
Client Number Client Name Domain Status Created Actions
CLT001 Acme Corporation acme.com Active Jul 8, 2025 Submissions
CLT003 Global Services Ltd globalservices.com Active Jul 8, 2025 Submissions
CLT002 Tech Solutions Inc techsolutions.com Active Jul 8, 2025 Submissions
Add CRM Instance
Format: INST001, INST002, etc.
CRM Instances
Client Instance Name CRM Type API URL Status
Acme Corporation
CLT001
INST001 Acme Main CRM Vtiger https://acme.vtiger.com/api Active
Acme Corporation
CLT001
INST002 Acme Support CRM Vtiger https://support.acme.vtiger.com/api Active
Global Services Ltd
CLT003
INST001 Global Main Vtiger https://global.vtiger.com/api Active
Tech Solutions Inc
CLT002
INST001 TechSol Primary Vtiger https://techsol.vtiger.com/api Active
Assign Form to Client
Leave empty to assign to all client instances
Form Assignments
Form Client CRM Instance Access URL Status
IMM008e Acme Corporation
CLT001
All instances
Active
IMM008e Acme Corporation
CLT001
All instances
Active
IMM008e Global Services Ltd
CLT003
Global Main
Active
Generate API Key
API Keys
Client API Key Permissions Last Used Status Created
REST API Documentation
Base URL
https://forms.immcase.com/api/
Authentication

Include client credentials in every request:

  • client_number - Required in query string
  • instance_number - Optional, for specific CRM instance
  • api_key - Optional, in header X-API-Key or query string
Endpoints

URL: /api/forms/{form_id}/submissions

Parameters:

  • client_number - Required
  • instance_number - Optional
  • limit - Max 100, default 50
  • offset - For pagination
  • status - draft|submitted|processed
  • from_date - YYYY-MM-DD format
  • to_date - YYYY-MM-DD format

Example:

GET /api/forms/1/submissions?client_number=CLT001&instance_number=INST001&limit=10

URL: /api/forms/{form_id}/submit

Parameters:

  • client_number - Required in query string
  • instance_number - Optional in query string

Body (JSON):

{
  "data": {
    "question_1": "Answer 1",
    "question_2": ["Option A", "Option B"]
  },
  "status": "submitted", // or "draft"
  "session_token": "optional_session_token",
  "user_identifier": "user@example.com",
  "current_step": 0,
  "total_steps": 1
}

URL: /api/forms/{form_id}/session

Body (JSON):

{
  "user_identifier": "user@example.com",
  "expires_hours": 24
}

Response:

{
  "success": true,
  "data": {
    "session_token": "abc123...",
    "expires_at": "2025-07-09 13:25:00",
    "form_url": "/forms/render_form.php?id=1&session=abc123..."
  }
}

URL: /api/sessions/{session_token}

Parameters:

  • client_number - Required in query string
Response Format

All responses follow this JSON structure:

{
  "success": true|false,
  "data": {...}, // On success
  "error": "Error message", // On failure  
  "timestamp": "2025-07-08T13:25:00Z"
}