DELETE /bms/scale-tickets/(?P\d+)¶
What it does¶
#^/bms/scale-tickets/(?P<id>\d+)$# accepts DELETE and is declared in app/systems/BMS/scale-ticket/api_routes.php:115 as a regex pattern.
The route handler delegates to bmsScaleTicketWrite(). That function is the owner of
this behaviour; the route entry is only dispatch.
Call chain:
- →
bmsScaleTicketWrite()—app/systems/BMS/scale-ticket/api_routes.php:9 - ↳
bmsScaleTicketHandleWrite()—app/systems/BMS/scale-ticket/lifecycle_helper.php:4 - ↳
bmsScaleTicketCreate()—app/systems/BMS/scale-ticket/lifecycle_helper.php:35
Who calls it¶
No literal caller path was found in frontend/, public/ or new-system/.
The endpoint may be called through a constructed path, a helper wrapper, or only by
an external client. Treat the route table and owner function as the authority.
Input¶
| Where | Key |
|---|---|
path |
id |
Request bodies must not use TYPE, ACTION or USERNAME as contract fields.
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.
SQL executed¶
SELECT TICKET_NUMBER FROM T_SCALE_TICKET WHERE CLIENT_ID = ? AND TICKET_NUMBER LIKE ? ORDER BY TICKET_NUMBER DESC LIMIT 1
Data¶
No table reference is visible in the owner function body.
Access¶
- module-gated on
bms.scale-ticket, so tenant module access applies
Validation and failure messages¶
- Daily Scale ticket sequence is exhausted.
- Unable to allocate a unique Scale ticket number.
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.