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.

REST Thinking

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 Thinking

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"
}

Why This Matters for AI

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.