AR
SCMP
ExecTowerCRMSRMWMSPurchaseSalesAIInboxReportsTwinRiskAPISettings

Module

API hub

Guided importWorkspace|Demo syncIngestion runsAlertsApply conflictsMapping templatesPreview exportConnectorsDemo session
Privacy Policy·Terms of Use·Cookie Notice

Manual operator workspace

Default hub entry: Guided import. Tabs stay pinned while you work.

Workflow

Operator workspace

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.

View docs on GitHubOpen full spec (markdown)

Default hub entry

Guided import (assistant)

Purpose-first upload, keyword check, mapping review, and optional chat — the default experience at /apihub.

Open guided import home

Step 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

Health: GET /api/apihub/health returns ok, service, and phase (no auth, no secrets). Try it.

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

Live example: connector sync run

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.

Advanced — payload 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

Ingestion runs

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:14 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 idConnectorStatusError codeAttemptTriggerUpdatedDetail
No runs match this filter.

Operator triage

Apply and retry alerts

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:14 PM · scanned up to 12 audit rows

All clear: no recent apply or retry client errors in the audited window.

Errors

0

Warnings

0

Info

0

No alert rows in this window.

Workflow

Apply conflicts

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.

WhenResultHTTPRunConnectorFlagsActionsDetail
No apply conflicts recorded yet. Failed apply attempts (4xx) will appear here.

P2 — Analysis

Mapping analysis jobs

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

  • No jobs yet.

Persistence

Staging batches

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

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.

Select a template from the list, or create a new one.

Compare draft to template

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

Mapping preview issue export

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

Connectors

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.

NameKindStatusReadinessLast syncHealthActionsAuditUpdatedDetail
Stub connectorstubdraftattentionNever 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).