Skip to main content

TIR API Reference

The TIR API (isbe-identity-tir-api) is the service that exposes the operations of the ISBE Trusted Issuers Registry. It provides two types of endpoints:

  • JSON-RPC (POST /trusted-issuers-registry/v1/jsonrpc) — blockchain write operations. Requires API Key authentication.
  • REST (GET /trusted-issuers-registry/v1/issuers/{did}/attributes/{attributeId}) — read accreditations. No authentication required.

Base URLs

EnvironmentBase URL
Productionhttps://tir.portal.redisbe.com/trusted-issuers-registry
Pre-productionhttps://tir.pre.portal.redisbe.com/trusted-issuers-registry

Interactive OpenAPI documentation: GET <base-url>/api-docs

Authentication

The JSON-RPC endpoint requires an API Key in the HTTP header:

x-api-key: <YOUR_API_KEY>

The API Key is validated against the ISBE API Key management service. Contact the ISBE team to obtain one.

The REST read endpoint does not require authentication.

JSON-RPC protocol

The API follows the JSON-RPC 2.0 specification. All requests go to POST /trusted-issuers-registry/v1/jsonrpc with Content-Type application/json:

{
"jsonrpc": "2.0",
"method": "<method_name>",
"params": [{ ... }],
"id": <numeric_or_string_identifier>
}

Successful responses have the form:

{
"jsonrpc": "2.0",
"id": <same_id_as_request>,
"result": { ... }
}

Errors have the form:

{
"jsonrpc": "2.0",
"id": <same_id_as_request>,
"error": {
"code": <numeric_code>,
"message": "<description>"
}
}

Standard JSON-RPC error codes

CodeMeaning
-32700Parse error — invalid JSON
-32600Invalid Request — invalid or unauthorized request
-32601Method not found — unknown method
-32602Invalid params — incorrect or missing parameters
-32603Internal error — internal server error

Accreditation publication flow

Publishing an accreditation in the TIR requires four steps. The first three are API calls; the fourth is verification:

Verify the receipt before continuing

sendSignedTransaction returns the transaction hash, but the transaction may not yet be included in a block. Before considering the publication complete, query the receipt with eth_getTransactionReceipt and verify that status = 0x1. If status = 0x0, the transaction failed: check the revertReason field.

Available methods

MethodDescription
setAttributeMetadataBuilds an unsigned transaction to register the role metadata of an issuer.
setAttributeDataBuilds an unsigned transaction to register the accreditation JWT.
sendSignedTransactionSends a signed transaction to the blockchain.

REST read endpoint

MethodPathDescription
GET/v1/issuers/{did}/attributes/{attributeId}Returns the accreditation JSON for a given DID and attributeId.
GET/healthService health status.
GET/metricsMetrics in Prometheus format.