Skip to content

API custom parameters

Thomas Fossati edited this page Feb 28, 2025 · 3 revisions

Client API

The /ratsd/chares request is currently defined as:

{
  "nonce": "base64urlencoded"
}

This is the easiest possible query:

  • "nonce" is a mandatory parameter that is forwarded as-is to all ratsd plugins.
  • The ratsd core assembles and signs a CMW containing all the collected evidence blocs and returns it to the caller.

Not so simple

A request should also allow the client to select which plugins to query.

On top of that, we anticipate that any ratsd plugin may define its custom request parameters.

The syntax of these extra parameters should be communicated in a machine-readable format (e.g., as an OpenAPI document) by each plugin to the ratsd core to be published via the discovery API endpoint.

A more complex query could look like:

{
  "nonce": "base64urlencoded",

  "attester-selection": {
    "attester-id-1": {
      "param11name": "param11value",
      "param12name": "param12value"
    },
    "attester-id-2": {
      "param21name": "param21value"
    },
    "attester-id-3": null  
  }
}

Where the "attester-selection" object acts as RIM's attEnvIDs, selecting the "component" attesters that are to be queried.

Each key in the "attester-selection" object represents one selected component attester.

If the component attester's plugin accepts custom parameters, these are specified in the corresponding value. A special null value is used when the plugin does not accept extra parameters over the mandatory "nonce".

Clone this wiki locally