Let a caller learn what a product commits to, and by when

Orderdetail now carries requireddate and order_status, denormalised from the
order the line belongs to — filtering by product and status already answers
the question this used to need a second call per order for.

list_orders also gained a status filter, matching the backend capability that
list_order_details already exposes.

Regenerated with generate-mcp-tools.py.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Stéphane Tailland
2026-08-31 15:42:36 +02:00
parent 011e31295f
commit a2bf84eb22
2 changed files with 83 additions and 2 deletions
+65 -1
View File
@@ -21,10 +21,18 @@ config:
idempotent_hint: true idempotent_hint: true
destructive_hint: false destructive_hint: false
open_world_hint: false open_world_hint: false
description: Retrieve a paginated list of all customer orders with their status and details. description: Retrieve a paginated list of all customer orders with their status and details. Filter
by status to find open commitments, e.g. In Process or On Hold.
method: GET method: GET
name: list-orders name: list-orders
parameters: parameters:
- description: Only orders with this status, e.g. In Process, On Hold, Shipped, Cancelled, Disputed,
Resolved.
in: query
name: status
required: false
schema:
type: string
- description: A page number within the paginated result set. - description: A page number within the paginated result set.
in: query in: query
name: page name: page
@@ -243,6 +251,18 @@ config:
id: id:
type: integer type: integer
readOnly: true readOnly: true
requireddate:
type: string
format: date
readOnly: true
description: The order's required date. Denormalised from the order this line
belongs to, so a caller filtering by product does not need a second call to
learn what it commits to and by when.
order_status:
type: string
readOnly: true
description: The order's status, e.g. In Process, On Hold, Shipped, Cancelled,
Disputed, Resolved.
quantityordered: quantityordered:
type: integer type: integer
maximum: 2147483647 maximum: 2147483647
@@ -263,11 +283,13 @@ config:
type: string type: string
required: required:
- id - id
- order_status
- orderlinenumber - orderlinenumber
- ordernumber - ordernumber
- priceeach - priceeach
- productcode - productcode
- quantityordered - quantityordered
- requireddate
- annotations: - annotations:
title: Create a new order title: Create a new order
read_only_hint: false read_only_hint: false
@@ -436,6 +458,18 @@ config:
id: id:
type: integer type: integer
readOnly: true readOnly: true
requireddate:
type: string
format: date
readOnly: true
description: The order's required date. Denormalised from the order this line
belongs to, so a caller filtering by product does not need a second call to
learn what it commits to and by when.
order_status:
type: string
readOnly: true
description: The order's status, e.g. In Process, On Hold, Shipped, Cancelled,
Disputed, Resolved.
quantityordered: quantityordered:
type: integer type: integer
maximum: 2147483647 maximum: 2147483647
@@ -456,11 +490,13 @@ config:
type: string type: string
required: required:
- id - id
- order_status
- orderlinenumber - orderlinenumber
- ordernumber - ordernumber
- priceeach - priceeach
- productcode - productcode
- quantityordered - quantityordered
- requireddate
- annotations: - annotations:
title: Get a specific order detail title: Get a specific order detail
read_only_hint: true read_only_hint: true
@@ -504,6 +540,18 @@ config:
id: id:
type: integer type: integer
readOnly: true readOnly: true
requireddate:
type: string
format: date
readOnly: true
description: The order's required date. Denormalised from the order this line belongs
to, so a caller filtering by product does not need a second call to learn what it
commits to and by when.
order_status:
type: string
readOnly: true
description: The order's status, e.g. In Process, On Hold, Shipped, Cancelled, Disputed,
Resolved.
quantityordered: quantityordered:
type: integer type: integer
maximum: 2147483647 maximum: 2147483647
@@ -524,11 +572,13 @@ config:
type: string type: string
required: required:
- id - id
- order_status
- orderlinenumber - orderlinenumber
- ordernumber - ordernumber
- priceeach - priceeach
- productcode - productcode
- quantityordered - quantityordered
- requireddate
- annotations: - annotations:
title: Create a new order detail title: Create a new order detail
read_only_hint: false read_only_hint: false
@@ -580,6 +630,18 @@ config:
id: id:
type: integer type: integer
readOnly: true readOnly: true
requireddate:
type: string
format: date
readOnly: true
description: The order's required date. Denormalised from the order this line belongs
to, so a caller filtering by product does not need a second call to learn what it
commits to and by when.
order_status:
type: string
readOnly: true
description: The order's status, e.g. In Process, On Hold, Shipped, Cancelled, Disputed,
Resolved.
quantityordered: quantityordered:
type: integer type: integer
maximum: 2147483647 maximum: 2147483647
@@ -600,8 +662,10 @@ config:
type: string type: string
required: required:
- id - id
- order_status
- orderlinenumber - orderlinenumber
- ordernumber - ordernumber
- priceeach - priceeach
- productcode - productcode
- quantityordered - quantityordered
- requireddate
+18 -1
View File
@@ -219,9 +219,15 @@ paths:
/sales/v1/orders/: /sales/v1/orders/:
get: get:
operationId: list_orders operationId: list_orders
description: Retrieve a paginated list of all customer orders with their status and details. description: Retrieve a paginated list of all customer orders with their status and details. Filter by status to find open commitments, e.g. In Process or On Hold.
summary: List all orders summary: List all orders
parameters: parameters:
- name: status
required: false
in: query
description: 'Only orders with this status, e.g. In Process, On Hold, Shipped, Cancelled, Disputed, Resolved.'
schema:
type: string
- name: page - name: page
required: false required: false
in: query in: query
@@ -508,6 +514,15 @@ components:
id: id:
type: integer type: integer
readOnly: true readOnly: true
requireddate:
type: string
format: date
readOnly: true
description: The order's required date. Denormalised from the order this line belongs to, so a caller filtering by product does not need a second call to learn what it commits to and by when.
order_status:
type: string
readOnly: true
description: 'The order''s status, e.g. In Process, On Hold, Shipped, Cancelled, Disputed, Resolved.'
quantityordered: quantityordered:
type: integer type: integer
maximum: 2147483647 maximum: 2147483647
@@ -528,11 +543,13 @@ components:
type: string type: string
required: required:
- id - id
- order_status
- orderlinenumber - orderlinenumber
- ordernumber - ordernumber
- priceeach - priceeach
- productcode - productcode
- quantityordered - quantityordered
- requireddate
OrderdetailRequest: OrderdetailRequest:
type: object type: object
description: Order line items with product details description: Order line items with product details