Response format
type: object
Properties
Name | Type | Presence | Description |
---|---|---|---|
jsonrpc | string("2.0" ) | Always | Will always be "2.0" . |
id | any | Always | The client-side ID used for the request. |
result | Result | On success | The 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. |
error | Error | On failure | The 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
Name | Type | Require | Description |
---|---|---|---|
code | integer | Yes | A code describing the error type. |
message | string | Yes | A textual description of the error. |
data | Error Data | No | An 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
Name | Type | Presence | Description |
---|---|---|---|
trace | string | Always | A unique ID that can be supplied to the Clarify Support team to help us debug what happened for a particular failed request. |
params | map of string => array of string | Optional | Present when the error code and message can be traced back to specified parameters. |
Error codes
Below is a list of the possible values for the code
field. Codes written with a bold font are specific to Clarify, while the other codes are defined by the JSON RPC 2.0 specification.
Code | Name | Description |
---|---|---|
-32700 | ErrParseInvalidJSON | Indicates invalid JSON is received by the server. |
-32600 | ErrInvalidRequest | Indicates the sent JSON is not a valid Request object. |
-32601 | ErrMethodNotFound | Indicates the method does not exist / is not available. |
-32602 | ErrInvalidParams | Indicates invalid method parameter(s). |
-32603 | ErrInternal | Indicates an internal JSON-RPC error. |
-32000 | ErrServer | Indicates a generic server error. |
-32001 | ErrProduceInvalidResources | Produce invalid resource(s) in Clarify. |
-32002 | ErrFoundInvalidResource | Found invalid resource(s) or code issue in Clarify. |
-32003 | ErrForbidden | Indicates that the 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. |
-32009 | ErrConflict | Indicates a conflicts with current state of Clarify resource(s). |
-32015 | TryAgain | Indicates that the response should be called again later. Maybe returned in the case of temporal errors or rate limited requests. |