From REST APIs to Operation-Oriented APIs
REST APIs became popular because they provide a simple way to expose resources over HTTP. A REST design usually starts with nouns: customers, orders, products, invoices, and shipments. HTTP verbs then describe what happens to those resources: GET, POST, PUT, PATCH, and DELETE.
The HTTP verb carries part of the meaning. The URL identifies the resource or resource collection. For example:
GET /shipments/TRK-123
POST /accounts/A-100/deposits
This approach works well for many public web APIs when the system is inherently resource-oriented. However, it becomes less natural when the system is primarily action-oriented: request approval, cost calculation, request submission, deposit, shipment search, transition verification, or business process step completion. In such systems, business operations often need to be adapted to resource-based models which don't always align with the natural business mindset.
RPC APIs are action-oriented, not resource-oriented. An RPC request explicitly specifies the requested operation by providing the method name and adding parameters in a structured format. This is well suited for systems that rely heavily on workflows. For example:
{
"jsonrpc": "2.0",
"method": "Bank.MakeDeposit",
"params": {
"accountNumber": "A-100",
"amount": 250.00
},
"id": "1"
}
Modern AI integration standards are increasingly moving toward operation-oriented APIs where business actions are represented explicitly by names such as Bank.MakeDeposit. This approach maps naturally to AI-driven tool discovery and invocation.
Table of Content Operation-Oriented APIs and AI Tools Next: JSON-RPC 2.0 Fundamentals
Business Process Programming in .Net
© 2004–2026 Laskarzhevsky Software Inc.
Unless otherwise noted, the content of this website is licensed under the
Creative Commons Attribution 4.0 International License (CC BY 4.0).
Code examples are provided under the MIT License.
You are free to share and adapt the material provided that appropriate
credit is given and any modifications are clearly indicated.
The information provided on this website is for educational purposes only.
The author and publisher make no warranties regarding the completeness
or suitability of the information and are not responsible for any damages
resulting from its use.