Skip to main content
Version: 1.0

Response format

type: object

Properties

NameTypePresenceDescription
jsonrpcstring("2.0")AlwaysWill always be "2.0".
idanyAlwaysThe client-side ID used for the request.
resultResultOn successThe result of a successful method call. In Clarify, the return type is always an object. The exact structure of the object depend on the method that was called.
errorErrorOn failureThe result of a failed RPC method. In Clarify, we define our own structure for the error data field.
response body example
{
"jsonrpc": "2.0",
"id": 1,
"result": {...}
}
response body example (error)
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32602,
"message": "Invalid params",
"data": {
"trace": "00000000000000000000",
"params": {
"integration": ["required"]
}
}
}
}

Result

type: object

In Clarify, the result of an RPC request is always an object. The exact keys that are present depend on the method that was called and the parameters that where provided. If a result is present, it means the call succeeded.

Error

Error describe the standardized JSON RPC 2.0 error format, as well as a clarify specific data field and error codes. When an error is present, the result portion will be empty.

type: object

Parameters

NameTypeRequireDescription
codeintegerYesA code describing the error type.
messagestringYesA textual description of the error.
dataError DataNoAn object describing more details related to the error. The structure of the ErrorData object is Clarify specific.

Error Data

Error Data is a Clarify specific format for embedding useful error information.

type: object

NameTypePresenceDescription
tracestringAlwaysA unique ID that can be supplied to the Clarify Support team to help us debug what happened for a particular failed request.
paramsmap of string => array of stringOptionalPresent when the error code and message can be traced back to specified parameters.

Error codes

JSON RPC standard error codes:

CodeNameDescription
-32700Parse errorInvalid JSON was received by the server.
-32600Invalid requestThe JSON sent is not a valid Request object.
-32601Method not foundMethod does not exist / is not available.
-32602Invalid paramsInvalid method parameter(s).
-32603Internal errorInternal JSON-RPC error.
-32000 - -32099Server errorReserved for implementation-defined server-errors.

Clarify specific error codes:

CodeNameDescription
-32000Server errorFallback error code when the server is not able to set a more specific code.
-32001Produce invalid resourcesProduce invalid resource(s) in Clarify.
-32002Found invalid resourcesFound invalid resource(s) in Clarify.
-32003ForbiddenThe requested operation is not permitted by your current access token, or that the input parameters are referencing a resource that isn't accessible / doesn't exist.
-32009ConflictThe operation is not allowed because it causes a conflict with existing resource(s) in Clarify. Could be caused by unique field constraints on resources or concurrent write operations.
-32011Too many requestsAccess to a specific RPC method has been blocked due to rate-limit constraints; reduce the call-rate of the client to stay within the documented rate-limit. Consider sequential instead of concurrent requests.
-32015Try againIndicates an availability issue; the client should consider to try the request again after a delay.
-32021Partial failureReturned when an operation could only partially be performed.