canonical: https://jentic.com/apis/mxdev.mobile/mxdev

# Mxdev Mobile Mx.Web.WebAPIs

The Mx.Web.WebAPIs API accepts inventory event payloads into a Macromatix back-of-house instance, here the production host labelled Pret's Production. Its External Inventory webhook takes events for production bill-of-materials makes, stock transfers between stores, and waste, each keyed by store number and item code with quantities, units, and timestamps. A second QuBeyond webhook takes back-of-house events such as inventory counts, purchase orders, transfers, waste, credit memos, and BOM makes. Both endpoints use HTTP basic authentication and return a status, a message type, and the index of any record that failed validation, such as an unknown store number or item code.

## For AI agents

Post inventory events into a Macromatix back-of-house instance: production BOM makes, store-to-store transfers, and waste through the External Inventory webhook, and counts, purchase orders, and credit memos through the QuBeyond webhook.

## Scope

Does not read inventory levels, list items, or manage suppliers, and it exposes no query endpoints. Use for posting inventory events into a Macromatix back-of-house instance only.

## Capabilities

- Record a production BOM make, with BOMMakeDetail lines of ItemCode, Quantity, UOM, and TransactionTime, against a StoreNumber through POST `/External/Inventory/Webhook`/
- Send a stock transfer between stores with FromStoreNumber, ToStoreNumber, a TransferType of Sent or Request, and Items with BoxQty and InnerQty
- Log waste with WasteDetail lines carrying a WasteType of InventoryWaste or FinishedWaste, a WasteReason, and a ProductionBOMWasteMethod
- Post back-of-house inventory counts, purchase orders, transfers, waste, credit memos, or BOM makes through POST `/External/QuBeyond/WebhookAnonymous`
- Find which records were rejected from the response's InvalidRecordIndex and Messages, for example an item code Macromatix cannot find

## Use cases

### Kitchen systems feeding Macromatix through Jentic

An agent that sits between kitchen production tools and the Macromatix back office can push each batch as it happens. Through Jentic it finds the External Inventory webhook by intent and posts a production BOM event with the StoreNumber and BOMMakeDetail lines of ItemCode, Quantity, UOM, and TransactionTime. When the response lists entries in InvalidRecordIndex, the agent reports the failing lines and their Messages instead of silently dropping them.

Example prompt: Call POST `/External/Inventory/Webhook`/ with type 'pret.kitchen.ProductionBOMMake.published' and Data containing StoreNumber '251' and one BOMMakeDetail line with ItemCode 'PBMSANDWICH01', Quantity 20, UOM 'Each', and TransactionTime '2026-11-09T09:00:00Z', then report any InvalidRecordIndex entries

### Store-to-store stock transfers

Hub-and-spoke kitchens move stock between sites during the day. The Transfer event carries an ExternalReference, a TransferType of Sent or Request, FromStoreNumber and ToStoreNumber, a TransferDate, optional fresh and frozen temperatures at the sending store, a Comment, and Items with BoxQty and InnerQty per ItemCode, so each movement lands in Macromatix with the detail needed to reconcile both stores.

Example prompt: Call POST `/External/Inventory/Webhook`/ with a Transfer event whose ExternalReference is 'TRF-20261109-001', TransferType 'Sent', FromStoreNumber 'HUB001', ToStoreNumber 'SPOKE015', and Items with ItemCode 'BREAD-001' and BoxQty 2

### Waste logging with reasons

Waste data is only useful when the reason and method are recorded. Each WasteDetail line takes an ItemCode, Quantity, UOM, and TransactionTime, a WasteType of InventoryWaste or FinishedWaste, a free-text WasteReason, and a ProductionBOMWasteMethod of MakeAndWaste, WasteAsIngredients, or WasteOnly, which tells Macromatix how to treat the item's ingredients.

Example prompt: Call POST `/External/Inventory/Webhook`/ with a Waste event for StoreNumber '251' containing one WasteDetail line with ItemCode 'PBMSANDWICH01', Quantity 4, UOM 'Each', WasteType 'FinishedWaste', WasteReason 'End of day', and ProductionBOMWasteMethod 'MakeAndWaste'

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/External/Inventory/Webhook/` | Post a production BOM, transfer, or waste event |
| POST | `/External/QuBeyond/WebhookAnonymous` | Post a QuBeyond back-of-house inventory event |

## Key resources

- **External Inventory events** — Production BOM makes, store-to-store transfers, and waste, keyed by store number and item code
- **QuBeyond events** — Back-of-house inventory counts, purchase orders, transfers, waste, credit memos, and BOM makes
- **Webhook response** — StatusCode, MsgType, Messages, and InvalidRecordIndex for each posted event

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 0 / 100
- **Maturity:** Non-Ready
- **Dimensions:**
  - Foundational Compliance: 62 / 100
  - Developer Experience & Jentic Compatibility: 53 / 100
  - AI-Readiness & Agent Experience: 5 / 100
  - Agent Usability: 94 / 100
  - Security: 10 / 100
  - AI Discoverability: 0 / 100
- **View full report:** https://jentic.com/apis/mxdev.mobile/mxdev/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring these Macromatix webhooks by hand means managing basic-auth credentials, building the event envelope with type, id, source, and timestamp around each payload, and parsing InvalidRecordIndex to find failed lines. Through Jentic you install once, import the API from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** Both webhooks carry the store number inside the request body, so rules bound which operations your agent may call, not which store it posts for. You choose the operations it may call, so the QuBeyond webhook is not included unless you add it.
- **Credential handling:** Your Macromatix basic-auth credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'log waste in Macromatix' or 'send a stock transfer between stores', and Jentic returns the matching webhook operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Katana API** — Manufacturing and inventory management with products, variants, and locations
- **SOS Inventory API** — Inventory and order management for small businesses
- **Lightspeed Restaurant K-Series API** — Restaurant point of sale with menus, orders, and sales reporting
- **7shifts API** — Restaurant staff scheduling and time punches

## FAQ

### Is there a Macromatix MCP server?

You don't need an MCP server to give your agent these Macromatix webhooks. Jentic connects them directly from the API Directory: import the API, store your basic-auth credentials once, and your agent calls it. Operations are discovered on demand, so no extra tool definitions sit in the agent's context.

### What authentication does the Mx.Web.WebAPIs API use?

Per its OpenAPI spec, both webhooks use HTTP basic authentication with a username and password in the Authorization header, and invalid credentials return 401. Through Jentic, the credentials are stored encrypted by your own Jentic One instance and injected at call time, so they never enter the agent's context.

### Can I limit what my agent is allowed to do with the Mx.Web.WebAPIs API?

Yes. Write a rule that allows only POST `/External/Inventory/Webhook/.` Your agent can then post production, transfer, and waste events, but it cannot post to the QuBeyond webhook, and every call it makes is logged.

### How do I post a waste event to Macromatix through Jentic?

Search Jentic for 'log waste in Macromatix', load the External Inventory webhook operation, and call POST `/External/Inventory/Webhook`/ with an event whose Data holds a StoreNumber and WasteDetail lines. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Why did Macromatix reject part of my event?

The webhook returns 400 for incorrect input such as a store number that is not found. The response's Messages array explains what failed, for example an item code with no matching BOM make item, and InvalidRecordIndex lists the positions of the rejected records so you can fix and resend only those.
