Virto Commerce Order Management API

Document based flexible order management system.

Business capability
Order Fulfilment Management BC-520.40

Operations 35

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /api/order/customerOrders/search Search customer orders · Search customer orders by given criteria #
Ask an LLM
“How do I find all orders placed by one customer?”
“Can I filter orders by status and a date range?”
Tell an agent
Search orders placed by customer {customerId}.
Find orders with status {status} created between {startDate} and {endDate}.
GET /api/order/customerOrders/number/{number} Get an order by its order number · Find customer order by number #
Ask an LLM
“Can I look up an order using the order number the customer gave me?”
“What comes back when fetching an order by its human-readable number?”
Tell an agent
Get order number {number}.
Look up the customer order with number {number}.
GET /api/order/customerOrders/{id} Get an order by ID · Find customer order by id #
Ask an LLM
“How do I load a customer order with all its shipments and payments by internal ID?”
“Does fetching an order by ID return null when it doesn't exist?”
Tell an agent
Get customer order {id}.
Load order {id} with response group {respGroup}.
PATCH /api/order/customerOrders/{id} Partially update an order · Partial update for the specified Orde by id #
Ask an LLM
“Can I change a single field on an order without resending the whole document?”
“What is the way to JSON-patch a customer order?”
Tell an agent
Patch order {id} with only the changed fields.
Apply a partial update to customer order {id}.
GET /api/order/customerOrders/outer/{outerId} Get an order by external ID · Find customer order by outer id #
Ask an LLM
“Can I find an order using the ID from my ERP or external system?”
“Which lookup works when I only have an order's outer ID?”
Tell an agent
Get the order with external ID {outerId}.
Find the customer order whose outer ID is {outerId}.
PUT /api/order/customerOrders/recalculate Recalculate order totals · Calculate order totals after changes #
Ask an LLM
“How do I get updated totals after editing items on an order?”
“Can I preview recalculated order totals before saving?”
Tell an agent
Recalculate totals for order {number}.
Return this order with its totals recalculated.
POST /api/order/customerOrders/{orderId}/processPayment/{paymentId} Process an order payment with the gateway · Register customer order payment in external payment system #
Ask an LLM
“How do I push an order's payment through the external payment system?”
“Can I pass bank card details when registering an order payment at checkout?”
Tell an agent
Process payment {paymentId} for order {orderId}.
Charge payment {paymentId} on order {orderId} using the card held by {cardholderName}.
POST /api/order/customerOrders/{cartId} Turn a shopping cart into an order · Create new customer order based on shopping cart #
Ask an LLM
“How do I convert a customer's cart into a placed order?”
“Can I check out a cart by its ID to create the order?”
Tell an agent
Create an order from cart {cartId}.
Check out shopping cart {cartId} into a customer order.
POST /api/order/customerOrders Create an order directly · Add new customer order to system #
Ask an LLM
“Can I create an order from scratch without a shopping cart?”
“What is needed to enter a manual order for a customer in a store?”
Tell an agent
Create a new order for customer {customerId} in store {storeId}.
Enter a manual order in {currency} for customer {customerName}.
PUT /api/order/customerOrders Update an existing order · Update a existing customer order #
Ask an LLM
“How do I change the status of an order that already exists?”
“Can I add a purchase order number to an existing order?”
Tell an agent
Set the status of existing order {number} to {status}.
Add purchase order number {purchaseOrderNumber} to existing order {number}.
DELETE /api/order/customerOrders Delete customer orders · Delete a whole customer orders #
Ask an LLM
“How do I permanently delete orders?”
“Can several customer orders be deleted at once?”
Tell an agent destructive · confirm first
Delete orders {ids}.
Remove the customer orders with IDs {ids} entirely.
GET /api/order/customerOrders/{id}/shipments/new Get a prefilled new shipment for an order · Get new shipment for specified customer order #
Ask an LLM
“Is there a template shipment with required fields filled for a given order?”
“How do I start a new shipment document for an order?”
Tell an agent
Get a new shipment template for order {id}.
Prepare a blank shipment for customer order {id}.
GET /api/order/customerOrders/{id}/payments/new Get a prefilled new payment for an order · Get new payment for specified customer order #
Ask an LLM
“Is there a template payment with required fields filled in for an order?”
“How do I start a new payment document on an order?”
Tell an agent
Get a new payment template for order {id}.
Prepare a blank payment for customer order {id}.
GET /api/order/dashboardStatistics/settings Get order dashboard statistics settings · Get dashboard statistics settings #
Ask an LLM
“What settings drive the order statistics dashboard?”
“Where can I see how the Commerce Manager dashboard stats are configured?”
Tell an agent
Get the order dashboard statistics settings.
Show the configuration for order dashboard stats.
GET /api/order/dashboardStatistics Get order statistics for a period · Get a some order statistic information for Commerce manager dashboard #
Ask an LLM
“What were my order totals and statistics for last month?”
“Can I pull order dashboard figures for a custom date range?”
Tell an agent
Get order statistics from {start} to {end}.
Show the Commerce Manager order dashboard numbers.
POST /api/paymentcallback Receive a payment callback as key-value parameters · Payment callback operation used by external payment services to inform post… #
Ask an LLM
“Where does a payment provider post its callback parameters as JSON key-value pairs?”
“Which callback endpoint accepts a parameters array after a payment?”
Tell an agent
Post these payment callback parameters {parameters} to finish processing.
Send the gateway's key-value callback to post-process the payment.
POST /api/paymentcallback-raw Receive a raw-body payment callback · Payment callback operation used by external payment services to inform post… #
Ask an LLM
“Which callback URL takes the payment provider's raw request body unchanged?”
“Can a gateway notify the store with an unparsed raw payload?”
Tell an agent
Forward this raw gateway payload to the raw payment callback.
Post-process the payment using the raw callback body.
POST /api/paymentcallback-form Receive a form-encoded payment callback · Payment callback operation used by external payment services to inform post… #
Ask an LLM
“Which callback endpoint handles a form-posted payment notification?”
“Can a gateway that submits HTML form data report payment results?”
Tell an agent
Submit this form-encoded payment notification to the form callback.
Post-process the payment from the gateway's form post.
GET /api/order/customerOrders/invoice/{orderNumber} Download an order invoice PDF · Order module get invoice pdf #
Ask an LLM
“How do I get a PDF invoice for an order?”
“Can I download an invoice using just the order number?”
Tell an agent
Download the invoice PDF for order {orderNumber}.
Get the invoice for order number {orderNumber}.
GET /api/order/customerOrders/{id}/changes Get the change history of an order · Order module get order changes #
Ask an LLM
“What changes have been made to a specific order over time?”
“Who edited this order and when?”
Tell an agent
Show the change history of order {id}.
List every change logged on customer order {id}.
POST /api/order/customerOrders/searchChanges Search order change logs · Order module search order changes #
Ask an LLM
“Can I search order changes across a date range?”
“Which order edits of a certain operation type happened last week?”
Tell an agent
Search order changes between {startDate} and {endDate}.
Find changes of type {operationTypes} on order {orderId}.
GET /api/order/customerOrders/indexed/searchEnabled Check if indexed order search is enabled · Order module get order full text search enabled #
Ask an LLM
“Is full-text indexed search turned on for orders?”
“Can I tell whether the order search index is available before using it?”
Tell an agent
Check whether indexed order search is enabled.
Tell me if full-text search is on for customer orders.
POST /api/order/customerOrders/indexed/search Full-text search orders with facets · Order module search customer order indexed #
Ask an LLM
“Can I run a full-text order search that returns facets?”
“What is the fastest way to search orders through the search index by keyword?”
Tell an agent
Full-text search the order index for {keyword}.
Search indexed orders by {keyword} with facet {facet}.
POST /api/order/payments/search Search order payments · Search order payments by given criteria #
Ask an LLM
“Which payments were captured in a given date range?”
“Can I list all payments for one order number?”
Tell an agent
List payments for order number {orderNumber}.
Find payments captured between {capturedStartDate} and {capturedEndDate}.
GET /api/order/payments/{id} Get an order payment by ID · Find order payment by id #
Ask an LLM
“What does one order payment record look like, including its transactions?”
“Where do I read a single payment by its internal ID?”
Tell an agent
Get order payment {id}.
Show payment {id} with response group {respGroup}.
PATCH /api/order/payments/{id} Partially update an order payment · Partial update for the specified Payment by id #
Ask an LLM
“Can I change one field of a payment without sending the full record?”
“What is the way to JSON-patch an order payment?”
Tell an agent
Patch payment {id} with only the changed fields.
Apply a partial update to order payment {id}.
GET /api/order/payments/outer/{outerId} Get a payment by external ID · Get order payment by outer id #
Ask an LLM
“Can I find a payment using the gateway's or external system's ID?”
“Which lookup works when I only have a payment's outer ID?”
Tell an agent
Get the payment with external ID {outerId}.
Find the order payment whose outer ID is {outerId}.
POST /api/order/payments Add a payment to an order · Create or update order payment #
Ask an LLM
“How do I record a new payment against an order?”
“Can I choose the payment gateway when adding a payment to an order?”
Tell an agent
Add a payment of {sum} to order {orderId}.
Record a new payment on order {orderId} through gateway {gatewayCode}.
PUT /api/order/payments Update an existing order payment · Order module payments update payment #
Ask an LLM
“How do I change the status of an existing payment?”
“Can I switch the payment method on a payment that's already recorded?”
Tell an agent
Set existing payment {id} status to {paymentStatus}.
Change the payment method of existing payment {id} to {paymentMethod}.
DELETE /api/order/payments Delete order payments · Delete an order payment #
Ask an LLM
“How do I remove payment records from orders?”
“Can several order payments be deleted in one call?”
Tell an agent destructive · confirm first
Delete order payments {ids}.
Remove the payment records {ids}.
POST /api/order/payments/payment/capture Capture an authorized payment · Order module payments capture payment #
Ask an LLM
“How do I capture funds that were only authorized on an order?”
“Can I capture a partial amount and close the transaction?”
Tell an agent
Capture payment {paymentId} on order {orderId}.
Capture {amount} of payment {paymentId} and close the transaction.
POST /api/order/payments/payment/refund Refund an order payment · Order module payments refund payment #
Ask an LLM
“How do I refund money back to a customer for an order?”
“Can I refund only part of a payment and record a reason?”
Tell an agent destructive · confirm first
Refund payment {paymentId} on order {orderId}.
Refund {amount} of payment {paymentId} with reason {reasonMessage}.
POST /api/order/shipments Save an order shipment · Order module shipments update shipment #
Ask an LLM
“How do I add tracking information to an order's shipment?”
“Can I set the fulfillment center and shipping method for a shipment?”
Tell an agent
Save shipment for order {customerOrderId} with tracking number {trackingNumber}.
Ship order {customerOrderId} from fulfillment center {fulfillmentCenterId} via {shipmentMethodCode}.
POST /api/order/shipments/search Search order shipments · Search shipments by given criteria #
Ask an LLM
“Which shipments are still pending for my fulfillment center?”
“Can I list the shipments for one order number?”
Tell an agent
List shipments for order number {orderNumber}.
Find shipments from fulfillment center {fulfillmentCenterId} with status {status}.
PATCH /api/order/shipments/{id} Partially update a shipment · Partial update for the specified Shipment by id #
Ask an LLM
“Can I change one field of a shipment without sending the whole shipment?”
“What is the way to JSON-patch an order shipment?”
Tell an agent
Patch shipment {id} with only the changed fields.
Apply a partial update to order shipment {id}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/virto-commerce:virto-commerce-order-management-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

virto-commerce-order-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: VirtoCommerce.Orders Order Management API
  version: v1
  description: Document based flexible order management system.
tags:


# --- truncated at 32 KB (116 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/virto-commerce/refs/heads/main/openapi/virto-commerce-order-management-api-openapi.yml