{
  "openapi": "3.0.3",
  "info": {
    "title": "Hyperledger Cactus Plugin - Connector Iroha",
    "description": "Can perform basic tasks on a Iroha ledger",
    "version": "0.0.1",
    "license": {
      "name": "Apache 2.0",
      "url": "https://www.apache.org/licenses/LICENSE-2.0.html"
    }
  },
  "components": {
    "schemas": {
      "IrohaCommand": {
        "type": "string",
        "enum": [
          "createAccount",
          "setAccountDetail",
          "setAccountQuorum",
          "compareAndSetAccountDetail",
          "createAsset",
          "addAssetQuantity",
          "subtractAssetQuantity",
          "transferAsset",
          "createDomain",
          "createRole",
          "detachRole",
          "appendRole",
          "addSignatory",
          "removeSignatory",
          "grantPermission",
          "revokePermission",
          "addPeer",
          "removePeer",
          "setSettingValue",
          "callEngine"
        ],
        "x-enum-descriptions": [
          "Make entity in the system, capable of sending transactions or queries, storing signatories, personal data and identifiers.",
          "Set key-value information for a given account.",
          "Set the number of signatories required to confirm the identity of a user, who creates the transaction.",
          "Set key-value information for a given account if the old value matches the value passed.",
          "Create a new type of asset, unique in a domain. An asset is a countable representation of a commodity.",
          "Increase the quantity of an asset on account of transaction creator.",
          "Decrease the number of assets on account of transaction creator.",
          "Share assets within the account in peer network: in the way that source account transfers assets to the target account.",
          "Make new domain in Iroha network, which is a group of accounts.",
          "Create a new role in the system from the set of permissions.",
          "Detach a role from the set of roles of an account.",
          "Promote an account to some created role in the system, where a role is a set of permissions account has to perform an action (command or query).",
          "Add an identifier to the account. Such identifier is a public key of another device or a public key of another user.",
          "Remove a public key, associated with an identity, from an account",
          "Give another account rights to perform actions on the account of transaction sender (give someone right to do something with my account).",
          "Revoke or dismiss given granted permission from another account in the network.",
          "Write into ledger the fact of peer addition into the peer network.",
          "Write into ledger the fact of peer removal from the network.",
          "This command is not available for use, it was added for backward compatibility with Iroha.",
          "This command is not availalbe for use because it is related to smart contract."
        ],
        "x-enum-varnames": [
          "CreateAccount",
          "SetAccountDetail",
          "SetAccountQuorum",
          "CompareAndSetAccountDetail",
          "CreateAsset",
          "AddAssetQuantity",
          "SubtractAssetQuantity",
          "TransferAsset",
          "CreateDomain",
          "CreateRole",
          "DetachRole",
          "AppendRole",
          "AddSignatory",
          "RemoveSignatory",
          "GrantPermission",
          "RevokePermission",
          "AddPeer",
          "RemovePeer",
          "SetSettingValue",
          "CallEngine"
        ]
      },
      "IrohaQuery": {
        "type": "string",
        "enum": [
          "getAccount",
          "getAccountDetail",
          "getAssetInfo",
          "getAccountAssets",
          "getTransactions",
          "getPendingTransactions",
          "getAccountTransactions",
          "getAccountAssetTransactions",
          "getRoles",
          "getSignatories",
          "getRolePermissions",
          "getBlock",
          "getEngineReceipts",
          "fetchCommits",
          "getPeers"
        ],
        "x-enum-descriptions": [
          "To get the state of an account",
          "To get details of the account.",
          "To get information on the given asset (as for now - its precision).",
          "To get the state of all assets in an account (a balance).",
          "To retrieve information about transactions, based on their hashes.",
          "To retrieve a list of pending (not fully signed) multisignature transactions or batches of transactions issued by account of query creator.",
          "To retrieve a list of transactions per account.",
          "To retrieve all transactions associated with given account and asset.",
          "To get existing roles in the system.",
          "To get signatories, which act as an identity of the account.",
          "To get available permissions per role in the system.",
          "To get a specific block, using its height as an identifier.",
          "To retrieve a receipt of a CallEngine command. Allows to access the event log created during computations inside the EVM.",
          "To get new blocks as soon as they are committed, a user can invoke FetchCommits RPC call to Iroha network.",
          "A query that returns a list of peers in Iroha network."
        ],
        "x-enum-varnames": [
          "GetAccount",
          "GetAccountDetail",
          "GetAssetInfo",
          "GetAccountAssets",
          "GetTransactions",
          "GetPendingTransactions",
          "GetAccountTransactions",
          "GetAccountAssetTransactions",
          "GetRoles",
          "GetSignatories",
          "GetRolePermissions",
          "GetBlock",
          "GetEngineReceipts",
          "FetchCommits",
          "GetPeers"
        ]
      },
      "KeyPair": {
        "type": "object",
        "required": [
          "publicKey",
          "privateKey"
        ],
        "properties": {
          "publicKey": {
            "description": "SHA-3 ed25519 public keys of length 64 are recommended.",
            "example": "313a07e6384776ed95447710d15e59148473ccfc052a681317a72a69f2a49910",
            "type": "string",
            "nullable": false
          },
          "privateKey": {
            "description": "SHA-3 ed25519 private keys of length 64 are recommended.",
            "example": "f101537e319568c765b2cc89698325604991dca57b9716b58016b253506cab70",
            "type": "string",
            "nullable": false
          }
        }
      },
      "RunTransactionRequestV1": {
        "type": "object",
        "required": [
          "commandName",
          "baseConfig",
          "params"
        ],
        "additionalProperties": false,
        "properties": {
          "commandName": {
            "type": "string",
            "nullable": false
          },
          "baseConfig": {
            "$ref": "#/components/schemas/IrohaBaseConfig",
            "nullable": false
          },
          "params": {
            "oneOf": [
              {
                "type": "array",
                "items": {}
              },
              {
                "$ref": "#/components/schemas/AddAssetQuantityRequestParameters"
              },
              {
                "$ref": "#/components/schemas/AddPeerRequestParameters"
              },
              {
                "$ref": "#/components/schemas/AddSignatoryRequestParameters"
              },
              {
                "$ref": "#/components/schemas/AppendRoleRequestParameters"
              },
              {
                "$ref": "#/components/schemas/CallEngineRequestParameters"
              },
              {
                "$ref": "#/components/schemas/CreateAccountRequestParameters"
              },
              {
                "$ref": "#/components/schemas/CreateAssetRequestParameters"
              },
              {
                "$ref": "#/components/schemas/CreateDomainRequestParameters"
              },
              {
                "$ref": "#/components/schemas/CreateRoleRequestParameters"
              },
              {
                "$ref": "#/components/schemas/DetachRoleRequestParameters"
              },
              {
                "$ref": "#/components/schemas/GrantPermissionRequestParameters"
              },
              {
                "$ref": "#/components/schemas/RemovePeerRequestParameters"
              },
              {
                "$ref": "#/components/schemas/RemoveSignatoryRequestParameters"
              },
              {
                "$ref": "#/components/schemas/RevokePermissionRequestParameters"
              },
              {
                "$ref": "#/components/schemas/SetAccountDetailRequestParameters"
              },
              {
                "$ref": "#/components/schemas/SetAccountQuorumRequestParameters"
              },
              {
                "$ref": "#/components/schemas/SubtractAssetQuantityRequestParameters"
              },
              {
                "$ref": "#/components/schemas/TransferAssetRequestParameters"
              },
              {
                "$ref": "#/components/schemas/CompareAndSetAccountDetailRequestParameters"
              },
              {
                "$ref": "#/components/schemas/GetAccountRequestParameters"
              },
              {
                "$ref": "#/components/schemas/GetBlockRequestParameters"
              },
              {
                "$ref": "#/components/schemas/GetSignatoriesRequestParameters"
              },
              {
                "$ref": "#/components/schemas/GetTransactionsRequestParameters"
              },
              {
                "$ref": "#/components/schemas/GetPendingTransactionsRequestParameters"
              },
              {
                "$ref": "#/components/schemas/GetAccountTransactionsRequestParameters"
              },
              {
                "$ref": "#/components/schemas/GetAccountAssetTransactionsRequestParameters"
              },
              {
                "$ref": "#/components/schemas/GetAccountAssetsRequestParameters"
              },
              {
                "$ref": "#/components/schemas/GetAccountDetailRequestParameters"
              },
              {
                "$ref": "#/components/schemas/GetAssetInfoRequestParameters"
              },
              {
                "$ref": "#/components/schemas/GetRolePermissionsRequestParameters"
              },
              {
                "$ref": "#/components/schemas/GetEngineReceiptsRequestParameters"
              }
            ]
          }
        }
      },
      "AddAssetQuantityRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Add Asset Quantity.",
        "type": "object",
        "required": [
          "assetId",
          "amount"
        ],
        "properties": {
          "assetId": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          }
        }
      },
      "AddPeerRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Add Peer.",
        "type": "object",
        "required": [
          "address",
          "peerKey"
        ],
        "properties": {
          "address": {
            "type": "string"
          },
          "peerKey":{
            "type": "string"
          },
          "tlsCertificate":{
            "type": "string"
          },
          "syncingPeer": {
            "type": "boolean"
          }
        }
      },
      "AddSignatoryRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Add Signatory.",
        "type": "object",
        "required": [
          "accountId",
          "publicKey"
        ],
        "properties": {
          "accountId": {
            "type": "string"
          },
          "publicKey": {
            "type": "string"
          }
        }
      },
      "AppendRoleRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Append Role.",
        "type": "object",
        "required": [
          "accountId",
          "roleName"
        ],
        "properties": {
          "accountId": {
            "type": "string"
          },
          "roleName": {
            "type": "string"
          }
        }
      },
      "CallEngineRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Call Engine.",
        "type": "object",
        "required": [
          "caller",
          "callee",
          "input"
        ],
        "properties": {
          "caller": {
            "type": "string"
          },
          "callee": {
            "type": "string"
          },
          "input": {
            "type": "string"
          }
        }
      },
      "CreateAccountRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Create Account.",
        "type": "object",
        "required": [
          "accountName",
          "domainId",
          "publicKey"
        ],
        "properties": {
          "accountName": {
            "type": "string"
          },
          "domainId": {
            "type": "string"
          },
          "publicKey": {
            "type": "string"
          }
        }
      },
      "CreateAssetRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Create Asset.",
        "type": "object",
        "required": [
          "assetName",
          "domainId",
          "precision"
        ],
        "properties": {
          "assetName": {
            "type": "string"
          },
          "domainId": {
            "type": "string"
          },
          "precision": {
            "type": "integer"
          }
        }
      },
      "CreateDomainRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Create Domain.",
        "type": "object",
        "required": [
          "domainId",
          "defaultRole"
        ],
        "properties": {
          "domainId": {
            "type": "string"
          },
          "defaultRole": {
            "type": "string"
          }
        }
      },
      "CreateRoleRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Create Role.",
        "type": "object",
        "required": [
          "roleName",
          "permissionsList"
        ],
        "properties": {
          "roleName": {
            "type": "string"
          },
          "permissionsList": {
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        }
      },
      "DetachRoleRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Detach Role.",
        "type": "object",
        "required": [
          "accountId",
          "roleName"
        ],
        "properties": {
          "accountId": {
            "type": "string"
          },
          "roleName": {
            "type": "string"
          }
        }
      },
      "GrantPermissionRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Grant Permission.",
        "type": "object",
        "required": [
          "accountId",
          "permission"
        ],
        "properties": {
          "accountId": {
            "type": "string"
          },
          "permission": {
            "type": "string"
          }
        }
      },
      "RemovePeerRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Remove Peer.",
        "type": "object",
        "required": [
          "publicKey"
        ],
        "properties": {
          "publicKey": {
            "type": "string"
          }
        }
      },
      "RemoveSignatoryRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Remove Signatory.",
        "type": "object",
        "required": [
          "accountId",
          "publicKey"
        ],
        "properties": {
          "accountId": {
            "type": "string"
          },
          "publicKey": {
            "type": "string"
          }
        }
      },
      "RevokePermissionRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Revoke Permission.",
        "type": "object",
        "required": [
          "accountId",
          "permission"
        ],
        "properties": {
          "accountId": {
            "type": "string"
          },
          "permission": {
            "type": "number"
          }
        }
      },
      "SetAccountDetailRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Set Account Detail.",
        "type": "object",
        "required": [
          "accountId",
          "key",
          "value"
        ],
        "properties": {
          "accountId": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        }
      },
      "SetAccountQuorumRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Set Account Quorum.",
        "type": "object",
        "required": [
          "accountId",
          "quorum"
        ],
        "properties": {
          "accountId": {
            "type": "string"
          },
          "quorum": {
            "type": "integer"
          }
        }
      },
      "SubtractAssetQuantityRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Subtract Asset Quantity.",
        "type": "object",
        "required": [
          "assetId",
          "amount"
        ],
        "properties": {
          "assetId": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          }
        }
      },
      "TransferAssetRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Transfer Asset.",
        "type": "object",
        "required": [
          "srcAccountId",
          "destAccountId",
          "assetId",
          "description",
          "amount"
        ],
        "properties": {
          "srcAccountId": {
            "type": "string"
          },
          "destAccountId": {
            "type": "string"
          },
          "assetId": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          }
        }
      },
      "CompareAndSetAccountDetailRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Compare And Set Account Detail.",
        "type": "object",
        "required": [
          "accountId",
          "key",
          "value",
          "check_empty"
        ],
        "properties": {
          "accountId": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "oldValue": {
            "type": "string"
          },
          "check_empty": {
            "type": "boolean"
          }
        }
      },
      "GetAccountRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Get Account.",
        "type": "object",
        "required": [
          "accountId"
        ],
        "properties": {
          "accountId": {
            "type": "string"
          }
        }
      },
      "GetBlockRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Get Block.",
        "type": "object",
        "required": [
          "height"
        ],
        "properties": {
          "height": {
            "type": "integer"
          }
        }
      },
      "GetSignatoriesRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Get Signatories.",
        "type": "object",
        "required": [
          "accountId"
        ],
        "properties": {
          "accountId": {
            "type": "string"
          }
        }
      },
      "GetTransactionsRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Get Transactions.",
        "type": "object",
        "required": [
          "txHashesList"
        ],
        "properties": {
          "txHashesList": {
            "type": "array",
            "items":{
              "type": "string"
            }
          }
        }
      },
      "GetPendingTransactionsRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Get Pending Transactions.",
        "type": "object",
        "required": [
          "pageSize"
        ],
        "properties": {
          "pageSize": {
            "type": "integer"
          },
          "firstTxHash": {
            "type": "string"
          },
          "firstTxTime": {
            "type": "object"
          },
          "lastTxTime": {
            "type": "object"
          }
        }
      },
      "GetAccountTransactionsRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Get Account Transactions.",
        "type": "object",
        "required": [
          "accountId",
          "pageSize",
          "firstTxHash"
        ],
        "properties": {
          "accountId": {
            "type": "string"
          },
          "pageSize": {
            "type": "integer"
          },
          "firstTxHash": {
            "type": "string"
          },
          "firstTxTime": {
            "type": "object"
          },
          "lastTxTime": {
            "type": "object"
          },
          "firstTxHeight": {
            "type": "integer"
          },
          "lastTxHeight": {
            "type": "integer"
          }
        }
      },
      "GetAccountAssetTransactionsRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Get Account Asset Transactions.",
        "type": "object",
        "required": [
          "accountId",
          "assetId",
          "pageSize",
          "firstTxHash"
        ],
        "properties": {
          "accountId": {
            "type": "string"
          },
          "assetId": {
            "type": "string"
          },
          "pageSize": {
            "type": "integer"
          },
          "firstTxHash": {
            "type": "string"
          }
        }
      },
      "GetAccountAssetsRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Get Account Assets.",
        "type": "object",
        "required": [
          "accountId",
          "pageSize"
        ],
        "properties": {
          "accountId": {
            "type": "string"
          },
          "pageSize": {
            "type": "number"
          },
          "firstAssetId": {
            "type": "string"
          }
        }
      },
      "GetAccountDetailRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Get Account Detail.",
        "type": "object",
        "required": [
          "pageSize",
          "paginationKey",
          "paginationWriter"
        ],
        "properties": {
          "accountId": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "writer": {
            "type": "string"
          },
          "pageSize": {
            "type": "integer"
          },
          "paginationKey": {
            "type": "string"
          },
          "paginationWriter": {
            "type": "string"
          }
        }
      },
      "GetAssetInfoRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Get Asset Info.",
        "type": "object",
        "required": [
          "assetId"
        ],
        "properties": {
          "assetId": {
            "type": "string"
          }
        }
      },
      "GetRolePermissionsRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Get Role Permissions.",
        "type": "object",
        "required": [
          "roleId"
        ],
        "properties": {
          "roleId": {
            "type": "string"
          }
        }
      },
      "GetEngineReceiptsRequestParameters": {
        "description": "The list of arguments to pass in to the transaction request to Get Engine Receipts.",
        "type": "object",
        "required": [
          "txHash"
        ],
        "properties": {
          "txHash":{
            "type": "string"
          }
        }
      },
      "RunTransactionSignedRequestV1": {
        "type": "object",
        "required": [
          "signedTransaction"
        ],
        "properties": {
          "signedTransaction": {
            "description": "Signed transaction binary data received from generate-transaction endpoint.",
            "type": "string",
            "format": "binary"
          },
          "baseConfig": {
            "$ref": "#/components/schemas/IrohaBaseConfig",
            "nullable": false
          }
        }
      },
      "GenerateTransactionRequestV1": {
        "type": "object",
        "required": [
          "commandName",
          "commandParams",
          "creatorAccountId"
        ],
        "additionalProperties": false,
        "properties": {
          "commandName": {
            "description": "Iroha command name.",
            "type": "IrohaCommand",
            "nullable": false
          },
          "commandParams": {
            "description": "Parameters for iroha command specified in commandName",
            "type": "object"
          },
          "creatorAccountId": {
            "description": "Sender account id",
            "type": "string",
            "nullable": false
          },
          "quorum": {
            "description": "Requested transaction quorum",
            "type": "number",
            "nullable": false,
            "default": 1
          }
        }
      },
      "IrohaBaseConfig": {
        "type": "object",
        "additionalProperties": true,
        "properties": {
          "irohaHost": {
            "type": "string",
            "nullable": false
          },
          "irohaPort": {
            "type": "number",
            "nullable": false
          },
          "creatorAccountId": {
            "type": "string",
            "nullable": false
          },
          "privKey": {
            "type": "array",
            "items": {},
            "default": [],
            "nullable": false
          },
          "quorum": {
            "type": "number",
            "nullable": false
          },
          "timeoutLimit": {
            "type": "number",
            "nullable": false
          },
          "tls": {
            "type": "boolean",
            "nullable": false,
            "description": "Can only be set to false for an insecure grpc connection."
          },
          "monitorMode": {
            "type": "boolean",
            "nullable": true,
            "description": "Flag used for monitoring. It changes default beahviour of transaction wrapper so it return error to caller instead of throwing RuntimeError straight away."
          }
        }
      },
      "RunTransactionResponse": {
        "type": "object",
        "required": [
          "transactionReceipt"
        ],
        "properties": {
          "transactionReceipt": {}
        }
      },
      "PrometheusExporterMetricsResponse": {
        "type": "string",
        "nullable": false
      },
      "ErrorExceptionJsonResponseV1": {
        "type": "object",
        "required": [
          "message"
        ],
        "properties": {
          "message": {
            "type": "string",
            "nullable": false
          },
          "name": {
            "type": "string",
            "nullable": false
          },
          "error": {
            "type": "string",
            "nullable": false
          },
          "stack": {
            "type": "string",
            "nullable": false
          },
          "cause": {
            "type": "string",
            "nullable": false
          }
        }
      },
      "ErrorExceptionResponseV1": {
        "type": "object",
        "required": [
          "message",
          "error"
        ],
        "properties": {
          "message": {
            "type": "string",
            "nullable": false
          },
          "error": {
            "type": "string",
            "nullable": false
          }
        }
      },
      "WatchBlocksV1": {
        "type": "string",
        "enum": [
            "org.hyperledger.cactus.api.async.iroha.WatchBlocksV1.Subscribe",
            "org.hyperledger.cactus.api.async.iroha.WatchBlocksV1.Next",
            "org.hyperledger.cactus.api.async.iroha.WatchBlocksV1.Unsubscribe",
            "org.hyperledger.cactus.api.async.iroha.WatchBlocksV1.Error",
            "org.hyperledger.cactus.api.async.iroha.WatchBlocksV1.Complete"
        ],
        "x-enum-varnames": [
            "Subscribe",
            "Next",
            "Unsubscribe",
            "Error",
            "Complete",
            "SendAsyncRequest",
            "SendSyncRequest"
        ]
      },
      "IrohaSocketIOTransactV1": {
        "type": "string",
        "enum": [
            "org.hyperledger.cactus.api.async.iroha.IrohaSocketIOTransactV1.SendAsyncRequest",
            "org.hyperledger.cactus.api.async.iroha.IrohaSocketIOTransactV1.SendSyncRequest"
        ],
        "x-enum-varnames": [
            "SendAsyncRequest",
            "SendSyncRequest"
        ]
      },
      "IrohaBlockResponse": {
        "type": "object",
        "required": [
           "payload",
           "signaturesList"
        ],
        "properties": {
          "payload": {
            "type": "object",
            "required": [
              "txNumber",
              "transactionsList",
              "height",
              "prevBlockHash",
              "createdTime",
              "rejectedTransactionsHashesList"
            ],
            "properties": {
              "transactionsList": {
                "type": "array",
                "items": {}
              },
              "txNumber": {
                "type": "number"
              },
              "height": {
                "type": "number"
              },
              "prevBlockHash": {
                "type": "string"
              },
              "createdTime": {
                "type": "number"
              },
              "rejectedTransactionsHashesList": {
                "type": "array",
                "items": {}
              }
            }
          },
          "signaturesList":{
            "type": "array",
            "items": {}
          }
        }
      },
      "IrohaBlockProgress": {
        "type": "object",
        "required": ["transactionReceipt"],
        "properties": {
            "transactionReceipt": {
                "$ref": "#/components/schemas/IrohaBlockResponse"
            }
        }
      }
    }
  },
  "paths": {
    "/api/v1/plugins/@hyperledger/cactus-plugin-ledger-connector-iroha/run-transaction": {
      "post": {
        "x-hyperledger-cactus": {
          "http": {
            "verbLowerCase": "post",
            "path": "/api/v1/plugins/@hyperledger/cactus-plugin-ledger-connector-iroha/run-transaction"
          }
        },
        "operationId": "runTransactionV1",
        "summary": "Executes a transaction on a Iroha ledger",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/RunTransactionRequestV1"
                  },
                  {
                    "$ref": "#/components/schemas/RunTransactionSignedRequestV1"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunTransactionResponse"
                }
              }
            }
          },
          "405": {
            "description": "Method Not Allowed error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorExceptionJsonResponseV1"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorExceptionJsonResponseV1"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorExceptionJsonResponseV1"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/plugins/@hyperledger/cactus-plugin-ledger-connector-iroha/generate-transaction": {
      "post": {
        "x-hyperledger-cactus": {
          "http": {
            "verbLowerCase": "post",
            "path": "/api/v1/plugins/@hyperledger/cactus-plugin-ledger-connector-iroha/generate-transaction"
          }
        },
        "operationId": "generateTransactionV1",
        "summary": "Generate transaction that can be signed locally.",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateTransactionRequestV1"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorExceptionResponseV1"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorExceptionResponseV1"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/plugins/@hyperledger/cactus-plugin-ledger-connector-iroha/get-prometheus-exporter-metrics": {
      "get": {
        "x-hyperledger-cactus": {
          "http": {
            "verbLowerCase": "get",
            "path": "/api/v1/plugins/@hyperledger/cactus-plugin-ledger-connector-iroha/get-prometheus-exporter-metrics"
          }
        },
        "operationId": "getPrometheusMetricsV1",
        "summary": "Get the Prometheus Metrics",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PrometheusExporterMetricsResponse"
                }
              }
            }
          }
        }
      }
    }
  }
}
