Operator RPC API#

Operator RPCs are exposed under /node and do not require authentication.

GET /node/api#

Example request:

GET /node/api HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {}
    

GET /node/api/metrics#

Example request:

GET /node/api/metrics HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "metrics": [
            {
                "calls": 1,
                "errors": 1,
                "failures": 1,
                "method": "string",
                "path": "string",
                "retries": 1
            }
        ]
    }
    

GET /node/code#

Example request:

GET /node/code HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "versions": [
            {
                "digest": "string",
                "status": "AllowedToJoin"
            }
        ]
    }
    

GET /node/commit#

Example request:

GET /node/commit HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "transaction_id": "string"
    }
    

GET /node/config#

Example request:

GET /node/config HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {}
    

GET /node/consensus#

Example request:

GET /node/consensus HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "details": {
            "acks": {},
            "configs": [
                {
                    "bft_offset": 1,
                    "idx": 1,
                    "nodes": {},
                    "rid": 1
                }
            ],
            "current_view": 1,
            "leadership_state": "Leader",
            "learners": {},
            "membership_state": "Learner",
            "primary_id": "string",
            "reconfiguration_type": "OneTransaction",
            "retirement_phase": "Committed",
            "ticking": true
        }
    }
    

GET /node/js_metrics#

Example request:

GET /node/js_metrics HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "bytecode_size": 1,
        "bytecode_used": true
    }
    

GET /node/jwt_metrics#

Example request:

GET /node/jwt_metrics HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "attempts": 1,
        "successes": 1
    }
    

GET /node/local_tx#
Query Parameters
  • transaction_id (string) – (Required)

Example request:

GET /node/local_tx?transaction_id=string HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "status": "Unknown",
        "transaction_id": "string"
    }
    

GET /node/memory#

Example request:

GET /node/memory HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "current_allocated_heap_size": 1,
        "max_total_heap_size": 1,
        "peak_allocated_heap_size": 1
    }
    

GET /node/metrics#

Example request:

GET /node/metrics HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "sessions": {
            "active": 1,
            "interfaces": {},
            "peak": 1
        }
    }
    

GET /node/network#

Example request:

GET /node/network HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "current_service_create_txid": "string",
        "current_view": 1,
        "primary_id": "string",
        "recovery_count": 1,
        "service_certificate": "string",
        "service_data": {},
        "service_status": "Opening"
    }
    

GET /node/network/nodes#
Query Parameters
  • host (string) –

  • port (string) –

  • status (string) –

Example request:

GET /node/network/nodes HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "nodes": [
            {
                "last_written": 1,
                "node_data": {},
                "node_id": "string",
                "primary": true,
                "rpc_interfaces": {},
                "status": "Pending"
            }
        ]
    }
    

GET /node/network/nodes/primary#

Example request:

GET /node/network/nodes/primary HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Default response description

GET /node/network/nodes/self#

Example request:

GET /node/network/nodes/self HTTP/1.1
Host: example.com
Status Codes
  • 200 OK – Default response description

DELETE /node/network/nodes/{node_id}#
Parameters
  • node_id (string) –

Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    true
    

GET /node/network/nodes/{node_id}#
Parameters
  • node_id (string) –

Example request:

GET /node/network/nodes/{node_id} HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "last_written": 1,
        "node_data": {},
        "node_id": "string",
        "primary": true,
        "rpc_interfaces": {},
        "status": "Pending"
    }
    

GET /node/network/removable_nodes#

Example request:

GET /node/network/removable_nodes HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "nodes": [
            {
                "last_written": 1,
                "node_data": {},
                "node_id": "string",
                "primary": true,
                "rpc_interfaces": {},
                "status": "Pending"
            }
        ]
    }
    

HEAD /node/primary#
Status Codes
  • 200 OK – Default response description

GET /node/quotes#

Example request:

GET /node/quotes HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "quotes": [
            {
                "endorsements": "string",
                "format": "OE_SGX_v1",
                "mrenclave": "string",
                "node_id": "string",
                "raw": "string"
            }
        ]
    }
    

GET /node/quotes/self#

Example request:

GET /node/quotes/self HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "endorsements": "string",
        "format": "OE_SGX_v1",
        "mrenclave": "string",
        "node_id": "string",
        "raw": "string"
    }
    

GET /node/receipt#
Query Parameters
  • transaction_id (string) – (Required)

Example request:

GET /node/receipt?transaction_id=string HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {}
    

GET /node/self_signed_certificate#

Example request:

GET /node/self_signed_certificate HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "self_signed_certificate": "string"
    }
    

GET /node/service/configuration#

Example request:

GET /node/service/configuration HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "consensus": "CFT",
        "maximum_node_certificate_validity_days": 1,
        "maximum_service_certificate_validity_days": 1,
        "reconfiguration_type": "OneTransaction",
        "recovery_threshold": 1
    }
    

GET /node/service/previous_identity#

Example request:

GET /node/service/previous_identity HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "previous_service_identity": "string"
    }
    

GET /node/state#

Example request:

GET /node/state HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "last_recovered_seqno": 1,
        "last_signed_seqno": 1,
        "node_id": "string",
        "recovery_target_seqno": 1,
        "startup_seqno": 1,
        "state": "Uninitialized"
    }
    

GET /node/tx#
Query Parameters
  • transaction_id (string) – (Required)

Example request:

GET /node/tx?transaction_id=string HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "status": "Unknown",
        "transaction_id": "string"
    }
    

GET /node/version#

Example request:

GET /node/version HTTP/1.1
Host: example.com
Status Codes
  • 200 OK

    Default response description

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "ccf_version": "string",
        "quickjs_version": "string",
        "unsafe": true
    }