Skip to content

POST /tms/transloads/export-schedule/ai-extract

TMS > tms.transload

What it does

/tms/transloads/export-schedule/ai-extract accepts POST and is declared in app/systems/TMS/transload/api_routes.php:217 as a path.

The route handler delegates to ctcAiApiExtract(). That function is the owner of this behaviour; the route entry is only dispatch.

Call chain:

  1. → ctcAiApiExtract() — app/shared/api/ai_extraction_helper.php:257
  2. ↳ ctcAiExtract() — app/shared/api/ai_extraction_helper.php:104
  3. ↳ ctcAiNormalizeTaskName() — app/shared/api/ai_extraction_helper.php:9

Who calls it

Called from:

  • app/platform/api_catalog.php
  • public/assets/js/modules/shared/popup.core.js
  • public/assets/js/modules/tms/export-transload-create-modal.js

A caller is the strongest available evidence of the intended use.

Input

No named input key is visible in the handler or its owner function. The endpoint either takes no parameters or reads them through a shared helper in app/shared/api/.

Output

The response is produced by a shared helper, so the key set is not visible at the route. Read the owner function to confirm the shape before writing a client.

Data

No table reference is visible in the owner function body.

Access

  • module-gated on tms.transload, so tenant module access applies

Validation and failure messages

  • Injected AI transport is limited to the offline schedule extraction fixtures.
  • file is required
  • image_url is required
  • TASK is required

These strings come from the owner function and are the messages a client can receive. They are also the cheapest way to tell a rejected request from a broken one.