API layer (JSON RPC)
The Clarify API is using JSON RPC 2.0 as the communication protocol and HTTP as the transport layer. RPC stands for Remote Procedure Calls, and works very much like how you would call a function within a programming language: you call a named function with a set of input parameters, and may expect the return of a result. In JSON RPC though, we call them methods and not functions.
To call an RPC method in Clarify, you simply make a HTTP POST request with a JSON formatted body containing a single RPC Request. All requests are made against the exact same URL endpoint
https://api.clarify.io/v1/rpc. For how to authenticate against the API see Authentication.
In addition to absolute requirements, we align with most of the recommendations from the specification that could make writing a client easier. This includes allowing both named and positional parameters as well as sticking with recommendations for error formatting. We also allow the client to decide on the type to use for the id field.
However, we have chosen not to support JSON RPC batch requests for the time being. This is because we don't think there is a need for it with our current API design.