QELLVIS
← Back to Navigator

CORS & System Compatibility

QELLVIS Connect fetches your external API directly from the browser. This requires proper CORS configuration and a compatible system structure. This page defines both requirements clearly and officially.

CORS REQUIREMENTS

QELLVIS Connect performs a direct browser request to your API. Your API must explicitly allow cross‑origin requests.

  • • must allow POST and OPTIONS
  • • must return Access-Control-Allow-Origin: * or your domain
  • • must allow Authorization header if used
  • • must return valid JSON

Minimal CORS implementation (Node.js / Express):

app.use((req, res, next) => {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Methods", "POST, OPTIONS");
  res.header("Access-Control-Allow-Headers", "Content-Type, Authorization");
  if (req.method === "OPTIONS") return res.sendStatus(200);
  next();
});

Minimal CORS implementation (Next.js Route Handler):

export async function OPTIONS() {
  return new Response(null, {
    status: 200,
    headers: {
      "Access-Control-Allow-Origin": "*",
      "Access-Control-Allow-Methods": "POST, OPTIONS",
      "Access-Control-Allow-Headers": "Content-Type, Authorization",
    },
  });
}
SYSTEM COMPATIBILITY

QELLVIS interprets structure — not business logic. Any system that can output nodes and dependencies is compatible.

Compatible system types include:

  • • Microservice architectures
  • • Event‑driven systems
  • • Data pipelines
  • • ETL / ELT flows
  • • Task dependency graphs
  • • Workflow engines
  • • Supply chain structures
  • • Manufacturing process chains
  • • CI/CD pipelines
  • • Kubernetes dependency graphs
  • • CRM / ERP process flows
  • • Graph‑based systems
  • • Any system with nodes + directional dependencies

If your system can output a list of nodes and a list of dependencies, QELLVIS can analyze it — regardless of domain or technology.

REQUIRED STRUCTURE

Your API must return a structure compatible with the QELLVIS adapter:

{
  "nodes": [
    { "id": "A", "load": 10, "status": "optional" }
  ],
  "dependencies": [
    { "from": "A", "to": "B" }
  ]
}

Alternative keys supported: payload, system, record, data, graph.