Skip to content

API Reference

HTTP endpoint reference for kylejang1/ctc. Every endpoint page carries the declaration site, the handler and its call chain, the screens that call it, input and output keys, the SQL it runs, the tables it reaches, the access policy and the validation messages.

For the operator side see Start Here and Daily Work Overview. This page is for developers.

This reference has two axes. Which one to use depends on what you know first.

What you know Path to follow
Which route file it is in (you are reading code) System -> Module -> Endpoint
What you are trying to do (you are discussing the work) By Topic

The module tree follows the code structure exactly (app/systems/<SYSTEM>/<module>/api_routes.php). So when one topic is split across two modules, the module tree alone cannot show all of it. The topic pages exist for that case.

By Topic

Topic Endpoints Spread across Page
Carrier 5 2 modules Open
Scale 17 3 modules Open
Telegram notification 3 2 modules Open
Equipment load 10 4 modules Open
AI item extraction 8 7 modules Open
Delivery order import 6 2 modules Open
Rate 6 3 modules Open
Menu 7 2 modules Open

Each topic page opens with why the topic is split. The scale, for instance, is three modules: the measurement (yms.scale), the ticket and the close (bms.scale-ticket), and attaching a ticket to a transload (tms.transload).

System -> Module

ADDON - Add-ons (3 modules, 12 endpoints)

Module Endpoints Topics shared with other modules
addon.reports 8 AI item extraction
addon.quickbooks 3 —
addon.telegram 1 Telegram notification

BMS - Billing and Settlement (4 modules, 52 endpoints)

Module Endpoints Topics shared with other modules
bms.transaction 41 Rate
bms.scale-ticket 8 Scale
bms.invoice 2 —
bms.rate 1 Rate

OMS - Orders (5 modules, 53 endpoints)

Module Endpoints Topics shared with other modules
oms.inbound-order 20 AI item extraction
oms.outbound-order 18 AI item extraction
oms.commercial-order 7 —
oms.allocation 4 —
oms.trade-summary 4 —

PLATFORM - Platform (2 modules, 71 endpoints)

Module Endpoints Topics shared with other modules
platform.platform 66 Menu
platform.menu 5 Menu

SHARED - Shared (1 modules, 7 endpoints)

Module Endpoints Topics shared with other modules
shared.files 7 —

TMS - Transport (4 modules, 157 endpoints)

Module Endpoints Topics shared with other modules
tms.transload 90 Scale, Telegram notification, Equipment load, AI item extraction
tms.delivery 35 Carrier, Equipment load, Delivery order import
tms.booking 28 Equipment load, AI item extraction, Rate
tms.carrier 4 Carrier

WMS - Inventory (2 modules, 48 endpoints)

Module Endpoints Topics shared with other modules
wms.inventory 42 —
wms.inbound 6 AI item extraction, Delivery order import

YMS - Yard (5 modules, 58 endpoints)

Module Endpoints Topics shared with other modules
yms.container-tracking 32 Equipment load, AI item extraction
yms.yard-move 11 —
yms.scale 8 Scale
yms.dock-scheduling 4 —
yms.yard-map 3 —

What this reference contains

Endpoints 458
Modules 26
Topic pages 8
Handler confirmed 440
SQL confirmed 126

Nothing is guessed where a value is not visible. An endpoint that goes through a shared helper does not reveal the key in the route, so it says so and points at the owner function to read.


Generated by tools/api/extract-endpoint-facts.mjs -> build-module-descriptions.mjs -> render-module-pages.mjs / render-topic-pages.mjs. It can be rebuilt; the original evidence is on each endpoint page.