Locating the OpenAPI specification

Use this guide to locate your node’s OpenAPI specification.

As part of the Corda 5 Developer Preview, a dynamic OpenAPI specification (formerly known as the Swagger specification) is generated which details your node’s RPC functionality, which is exposed via a secure HTTP API. It describes:

  • Endpoints, including operations and operation parameters (input and output).
  • Authentication methods.

Your node’s OpenAPI JSON is available on a URL. If your node’s HTTP-RPC address is mynode:8888, you would find it on http[s]://mynode:8888/api/v1/swagger.json.

Here is an excerpt of a node’s OpenAPI JSON:

{
  "openapi" : "3.0.1",
  "info" : {
    "title" : "HTTP RPC demo",
    "description" : "Exposing RPCOps interfaces as webservices",
    "version" : "1"
  },
  "servers" : [ {
    "url" : "/api/v1"
  } ],
  "security" : [ {
    "basicAuth" : [ ]
  } ],
  "tags" : [
    { "name" : "FlowManagerRPCOps", "description" : ""},
    { "name" : "FlowStarterRPCOps", "description" : "FlowStarterRPCOps"},
    { "name" : "VaultQueryRPCOps", "description" : "Various operations to retrieve content of the Vault" },
    { "name" : "NodeIdentityRPCOps", "description" : "Various operations related to the identity of the Corda Node in the network"},
    { "name" : "NodeLifecycleRPCOps", "description" : "Various operations related which apply to the lifecycle of the node"}
  ],
  "paths" : {
    "/flowmanagerrpcops/dumpcheckpoints" : {
      "get" : {
        "tags" : [ "FlowManagerRPCOps" ],
        "description" : "",
        "operationId" : "get_flowmanagerrpcops_dumpcheckpoints",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "Success."
          },
          "401" : {
            "description" : "Unauthorized."
          },
          "403" : {
            "description" : "Forbidden."
          }
        }
      }
    },
...

    "/flowstarter/registeredflows" : {
      "get" : {
        "tags" : [ "FlowStarterRPCOps" ],
        "description" : "",
        "operationId" : "get_flowstarter_registeredflows",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "uniqueItems" : false,
                  "type" : "array",
                  "nullable" : false,
                  "items" : {
                    "type" : "string",
                    "nullable" : false,
                    "example" : "string"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized."
          },
          "403" : {
            "description" : "Forbidden."
          }
        }
      }
    },
...
  },
...
}

Was this page helpful?

Thanks for your feedback!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.

We're sorry this page wasn't helpful. Let us know how we can make it better!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Create an issue

Create a new GitHub issue in this repository - submit technical feedback, draw attention to a potential documentation bug, or share ideas for improvement and general feedback.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.