Module
Manual operator workspace
Default hub entry: Guided import. Tabs stay pinned while you work.
Workflow
Manual console for ingestion runs, mapping jobs, staging, and connectors. New to the hub? Start at Guided import on the home page. P2 ships async mapping analysis jobs, staging preview, and persisted batches. Access is org-scoped via org.apihub view/edit.
Default hub entry
Guided import (assistant)
Purpose-first upload, keyword check, mapping review, and optional chat — the default experience at /apihub.
Open guided import homeStep 1 / 5
Intent
Pick scenario and target (for example, new shipments from a partner file or API shape).
Scoping
Step 2 / 5
Uploads + optional docs
Bring sample files, example API JSON, and optional reference documents — not as a secret channel.
Inputs
Step 3 / 5
AI analysis job
Async job proposes structured mappings under guardrails; operators stay in control.
P2 — async job
Step 4 / 5
Mapping editor
Confirm source paths or columns → canonical fields, transforms, and required vs optional rules.
Templates + diff
Step 5 / 5
Validate + real UI preview
Dry-run against staging and open real app surfaces (read-only or flagged preview) where possible.
Preview + export
Operator completion path
Connector → run → mapping job → preview → staging apply; triage via alerts and apply conflicts. Limits and runbooks: product-completion-v1.md.
Investor demo
Simulated end-to-end run showing how API Hub ingests partner data, maps fields, validates records, and emits a measurable business outcome with audit-ready traceability.
Execution timeline
1. Queued
Connector run requested and reserved for execution.
2. Pulling
Fetching source payload from partner feed stub.
3. Transforming
Applying mapping rules and normalization.
4. Validating
Checking required fields, types, and business guardrails.
5. Posted
Writing accepted records and emitting audit events.
Ready to run investor demo sync.
Payload preview
Sample payload for the walkthrough — open Advanced only if you need the full JSON.
Illustrative structure only; not a live API response.
{
"sourceSystem": "Storefront-Demo",
"batchId": "BATCH-INVESTOR-0420",
"submittedAt": "2026-04-20T11:00:00.000Z",
"orders": [
{
"externalOrderId": "SO-1182",
"warehouseCode": "WH-DEMO-DC1",
"buyerName": "Greenfield Retail GmbH",
"items": [
{
"sku": "CAB-USB-C-2M",
"quantity": 120,
"unitPrice": 4.9
},
{
"sku": "HDMI-2.1-1M",
"quantity": 80,
"unitPrice": 6.25
}
]
}
]
}Created POs
-
Updated SKUs
-
Warnings
-
Runtime
-
Not started.
Operator triage
Snapshot from the ops summary API plus quick status filters on the ingestion jobs list. Use Refresh after pipeline or connector changes. Open View on a run for timing, retries, apply fields, and automatic stale-reclaim notes; raw JSON stays under Advanced. Failed runs: with org.apihub → edit, use Retry run in the expanded detail.
As of Apr 25, 2026, 12:13 PM (tenant totals + 24h windows).
In flight
0
Queued + running
Total runs
0
All lifecycle rows
Last 24h (new runs)
0 failed · 0 succeeded · 0 running · 0 queued
Window is by run `createdAt`, not finish time.
Queued
0
same as prior 24h
Running
0
same as prior 24h
Succeeded
0
same as prior 24h
Failed
0
same as prior 24h
Quick filters
| Run id | Connector | Status | Error code | Attempt | Trigger | Updated | Detail | |
|---|---|---|---|---|---|---|---|---|
| No runs match this filter. | ||||||||
Operator triage
Snapshot from GET /api/apihub/ingestion-alerts-summary (recent apply/retry client errors in audit). Use Refresh after triage. View expands a summary plus Advanced JSON for each alert. Open the Apply conflicts table for the full conflict list.
Generated Apr 25, 2026, 12:13 PM · scanned up to 12 audit rows
Errors
0
Warnings
0
Info
0
No alert rows in this window.
Workflow
Client-error outcomes from POST apply (409/400-class), sourced from audit metadata. Use Refresh after reproducing issues. View on a row shows a field summary; expand Advanced for the raw list DTO.
| When | Result | HTTP | Run | Connector | Flags | Actions | Detail |
|---|---|---|---|---|---|---|---|
| No apply conflicts recorded yet. Failed apply attempts (4xx) will appear here. | |||||||
P2 — Analysis
Queue a structured mapping proposal from sample records. Jobs run asynchronously after submit: deterministic heuristic plus optional OpenAI JSON assist when APIHUB_OPENAI_API_KEY or OPENAI_API_KEY is set server-side. Use Process now if the status stays queued locally. Stuck processing rows are requeued by the scheduled ApiHub cron after APIHUB_MAPPING_ANALYSIS_STALE_PROCESSING_MS (default 15m). Use Materialize staging after success to persist capped rows for APIs.
Draft check (client)
2 elements in the array.
Recent jobs
Persistence
Materialized rows from a succeeded mapping analysis job (capped server-side). Apply open batches to sales orders, purchase orders, or Control Tower audit when mapped fields match the contract (see API docs). Use POST …/staging-batches/[id]/apply.
No staging batches yet. Run analysis, then use “Materialize staging” on a succeeded job.
Workflow
Step — Mapping templates
Save reusable field-mapping rule sets for ingestion. Rules are validated on the server; use JSON that matches the mapping preview contract (sourcePath, targetField, optional transform, required).
No templates yet
Create one with “New template” to reuse rules across runs.
Baseline is the saved template; compare is your draft JSON. The delta shows what would change if you adopt the draft (fields keyed by targetField).
Operations
Download mapping preview issues as JSON (full payload) or CSV (one row per issue) for tickets and reviews. Uses the same validation as POST …/mapping-preview. On failure, expand Advanced for the raw error body.
Phase 1
Registry rows for partner or internal sources. This build stores metadata + lifecycle events — no secrets, OAuth, or background sync worker yet. Use Detail → View for readiness fields and the full connector DTO; failed API calls include Advanced error bodies when JSON is returned.
| Name | Kind | Status | Readiness | Last sync | Health | Actions | Audit | Updated | Detail |
|---|---|---|---|---|---|---|---|---|---|
| Stub connector | stub | draft | attention | Never synced | Not connected — stub row (Phase 1) Stored summary on the registry row (integrations still stubbed). | No events yet | Apr 20, 2026, 9:26 AM |
API: GET /api/apihub/connectors, POST /api/apihub/connectors (demo tenant + demo actor required), PATCH /api/apihub/connectors/:id for status + sync timestamp updates with audit rows, GET /api/apihub/connectors/:id/audit for paginated audit history, GET /api/apihub/connectors/:id/health for a lightweight readiness probe (no secrets).