Client Requirements for the JSON Protocol

A client for the JSON protocol of the API needs a mid-level capability to build HTTP request messages, send the requests over the network, and manage server responses. Many languages have libraries to abstract the TCP/IP layers while also providing access to URLs, headers, and bodies.

For example, some popular libraries include:
Python 3
urllib.request module
Java
java.net.HttpUrlConnection or java.net.HTTP module (for Java 11 and later)
Go
net/http package
Rust
http module
Perl
LWP module
Swift
URL, URLRequest, URLSession, and URLSessonDataTask interfaces
C++
libcurl or curlpp
Command line and graphical tools for passing HTTP messages include:
  • curl
  • wget
  • Postman
  • Insomnia
  • Hoppscotch

To use the JSON protocol, you will build URLs that embed the names of managed objects, properties, and methods. You will build request bodies that specify the parameters for method calls. You will read response bodies and response headers, and you will include a session identifier in your request headers.