Demo environment. DemoCorp Manufacturing is fictional, every invoice is synthetic, and the ERP is a mock.
BridgeOpsSource produces. Policy decides. Humans authorize. Verification confirms.

How it works

BridgeOps moves supplier invoices from whatever produces them into a legacy ERP, and nothing reaches the ERP unless policy allows it. AI can be one of the sources, but it never holds authority.

All data here is mock-up data. DemoCorp Manufacturing, its suppliers, purchase orders, invoices, users and the ERP are synthetic. No real company or money is involved.

  1. 1
    Source produces data

    REST API, signed webhook, CSV upload, manual form or an AI extractor. Each source has its own credential.

  2. 2
    Adapter normalizes

    Every source becomes the same event shape. The tenant comes from the credential, never from the payload.

  3. 3
    Schema validates

    Required fields, types and money as exact decimals. AI output is untrusted input and must pass the same schema.

  4. 4
    Policy decides

    Deterministic rules: thresholds per currency, PO match, supplier status. Missing data or no policy means BLOCK.

  5. 5
    Humans authorize

    Above-threshold work waits for an APPROVER. The approval is bound to the payload hash, and the submitter can't approve.

  6. 6
    Connector executes

    Idempotent writes to the (mock) legacy ERP, with retries, a circuit breaker and reconcile-before-retry.

  7. 7
    Verifier confirms

    BridgeOps reads the record back from the ERP before calling the workflow complete.

  8. 8
    Audit records everything

    Every step is appended to a hash-chained audit log that anyone with the auditor role can verify.

Run it live

Each button sends a fresh synthetic invoice through the real engine on this server, signed in as the demo operator. The result below is read back from the API.

Public API (synthetic data)

Base URL https://bridgeops.enthernetservice.com/api. Send a demo token or API key as Authorization: Bearer …. Rate-limited.

MethodPathWhat it doesCredential
GET/v1/demo/usersList demo usersnone
POST/v1/demo/loginBody {"user_id":"u_ops"} returns that user's tokennone
GET/v1/meWho you areuser token
GET/v1/dashboardCounters, connector health, circuit stateuser token
GET/v1/workflowsWorkflows, filter with ?status=user token
GET/v1/workflows/{id}Payload, policy decision, approvals, ERP writes, audituser token
GET/v1/audit/verifyRecompute the audit hash chainauditor, owner
POST/v1/demo/scenarios/{A|B|C|D}Run a demo scenariooperator, owner
POST/v1/workflows/{id}/approve · rejectDecide an approval (body {"reason":"…"})approver, owner
POST/v1/workflows/{id}/correct · requeue · reverify · cancelHuman recovery actionsoperator, owner
POST/v1/eventsSubmit {"workflow_type":"invoice","payload":{…}}REST API key
POST/v1/csvUpload a CSV of invoicesCSV API key or user
POST/v1/ai/eventsRaw AI extractor output (treated as untrusted)AI API key
POST/v1/webhooks/supplier-portalSigned webhook intakeHMAC signature

Try it

curl -X POST -H "Authorization: Bearer demo-token-u_ops" \
  https://bridgeops.enthernetservice.com/api/v1/demo/scenarios/A
curl -H "Authorization: Bearer demo-token-u_view" \
  https://bridgeops.enthernetservice.com/api/v1/workflows
curl -X POST -H "Authorization: Bearer demo-key-rest" -H "Content-Type: application/json" \
  -H "Idempotency-Key: my-test-1" \
  -d '{"workflow_type":"invoice","payload":{"supplier_id":"SUP-1001","invoice_id":"INV-T1","amount":"1200.00","currency":"USD","purchase_order":"PO-5001"}}' \
  https://bridgeops.enthernetservice.com/api/v1/events

Webhooks: X-BridgeOps-Timestamp (unix seconds), X-BridgeOps-Signature: v1=hex(HMAC-SHA256(secret, "<timestamp>." + raw_body)) and a unique X-BridgeOps-Delivery. Stale timestamps and replayed signatures are rejected.

Demo access

Demo credentials for synthetic data only. The app refuses to start with them outside demo mode.

UserRoleBearer token
owner@democorp.exampleOWNERdemo-token-u_owner
ops@democorp.exampleOPERATORdemo-token-u_ops
finance.manager@democorp.exampleAPPROVERdemo-token-u_finance
auditor@democorp.exampleAUDITORdemo-token-u_audit
viewer@democorp.exampleVIEWERdemo-token-u_view
REST API key
demo-key-rest
AI extractor key
demo-key-ai
CSV key
demo-key-csv
Webhook source
supplier-portal
Webhook secret
whsec_demo_synthetic

In the dashboard you don't need any of these: pick a role on the sign-in screen.