OpenAPI reference¶
The WMS ingest API is published as a single OpenAPI 3.1 document. The OpenAPI is the authoritative source for endpoint paths, request/response schemas, and error catalogues. The pages on this site explain the model; the OpenAPI tells you the exact field types.
API portal¶
Three-pane Redoc rendering of the OpenAPI 3.1 contract — sticky navigation, per-operation deep links, auto-generated curl / JS / Python / Java request samples, collapsible nested schemas. Single self-contained HTML; works offline.
Raw sources¶
Artifact |
Location |
|---|---|
OpenAPI 3.1 source |
|
Pre-rendered Redoc HTML (single-file, offline-friendly) |
|
Fetch the raw OpenAPI document:
curl -L https://raw.githubusercontent.com/SiriusVoyager/wms/master/openapi/v1/wms-ingest.yaml \
> wms-ingest.yaml
The pre-rendered Redoc HTML ships alongside the source so a partner can clone the repo, double-click dist/wms-ingest-redoc.html, and have the full API portal in a browser without any build step or server.
Live spec¶
Each FG.AI WMS service publishes its OpenAPI document at the standard springdoc path /v3/api-docs:
Dev —
https://dev-api.flexgalaxy.com/wms-ingest/v3/api-docsProduction (international) —
https://api.flexgalaxy.ai/wms-ingest/v3/api-docsProduction (China) —
https://api.flexgalaxy.com/wms-ingest/v3/api-docs
Fetch the live spec:
curl -H "Authorization: Bearer ${TOKEN}" \
https://dev-api.flexgalaxy.com/wms-ingest/v3/api-docs \
> wms-ingest.openapi.json
The live spec is generated from the running service’s annotated controllers, so it is always in sync with the deployed binary. If a field appears in the live spec but not in older client SDKs, regenerate your client.
Endpoint summary¶
Base path: /wms-ingest/v1
Method |
Path |
Purpose |
|---|---|---|
|
|
Upsert UoMs |
|
|
Upsert SKUs |
|
|
Upsert BOMs |
|
|
Upsert warehouse / zone / bin |
|
|
Upsert addresses (parties + locations) |
|
|
Upsert lots |
|
|
Upsert serials |
|
|
Upsert POs |
|
|
Upsert SOs |
|
|
Upsert Receivers |
|
|
Upsert Shippers |
|
|
Upsert Work Orders |
|
|
Upsert Transfer Orders |
|
|
Cancel a document |
|
|
Submit full or partial snapshot |
|
|
Submit deltas during overlap |
|
|
Job status |
|
|
Page through job errors |
|
|
|
|
|
List quarantined items |
|
|
Operator override |
|
|
Liveness / readiness |
|
|
Feature and version negotiation |
Webhook payloads (FG.AI WMS → caller) are documented under the /webhooks/* paths in the OpenAPI; the caller hosts these endpoints.
Versioning¶
URL-segment versioning. The base path is /wms-ingest/v1. Future breaking changes ship as /wms-ingest/v2. Minor versions add optional fields; patch versions are bug-fixes and clarifications. Versions are stable: a v1 endpoint may add optional response fields but will not change existing field semantics.
Pin generated clients to a specific minor version snapshot of the service you target. Pin to latest only in ephemeral integration tests; do not pin to latest in production builds.
Generated clients¶
FG.AI publishes generated clients for the most common stacks:
Language |
Package |
Use for |
|---|---|---|
Java |
|
Spring Boot 4 services pushing data into FG.AI WMS. |
Python |
|
FastAPI services, scripts, FlexSync connectors. |
TypeScript |
|
Browser-side admin tooling reading FG.AI state. |
The Java client is the openapi-generator spring generator with useJakartaEe=true + useSpringBoot3=true. Python uses the python generator with library=urllib3.
Local generation¶
If you prefer to regenerate against a specific tag:
docker run --rm -v "${PWD}:/local" \
openapitools/openapi-generator-cli:v7.16.0 \
generate \
-i /local/wms-ingest.openapi.json \
-g spring \
-o /local/out \
--additional-properties=useJakartaEe=true,useSpringBoot3=true,openApiNullable=false
Swap -g spring for python, typescript-fetch, or another supported generator as needed.
Schema cross-reference¶
OpenAPI tag |
Pages on this site |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
Component schemas — IngestEnvelope, ItemResult, BulkJob, Quarantine, Mapping, WebhookPayload, DocumentRef, Location, Sku, Uom, Bom, Lot, Serial, Address, Inventory*, Movement, ProblemDetails — are shared across tags. Each is documented inline in the OpenAPI.