New, Changed and Deprecated APIs

Review the following notice about the resource paths and endpoints that are new, changed or deprecated.

Which Resource Paths and Endpoints Were Added or Modified

These resource paths and endpoints were modified from earlier Oracle Blockchain Platform releases or may have slightly different functionality in this release.

Endpoints Resource Paths Functional Changes
Verify Blocks /console/admin/api/v1.1/nodes/peers/{peerId}/blockaudit/{channelName} This endpoint is used to validate ledger blocks against a channel owned by the given peer.

Update REST Proxy Node Configuration

/console/admin/api/v1.1/nodes/restproxies/{restProxyId}

In earlier versions, this API could be used to configure a channel and chaincode on the specified REST proxy node. In v21.1.2 or later, this API can be used to specify wait times and log level, however the channel, chaincode, and endorsers parameters are no longer valid due to the updated Blockchain Platform architecture.

Blockchain Platform Orderer Operations

There are several new endpoints for working with ordering service nodes (OSNs) and network configuration blocks:

  • /console/admin/api/v1.1/nodes/orderers/{ordererId}/exportOSN
  • /console/admin/api/v1.1/nodes/orderers/{ordererId}/importNCB
  • /console/admin/api/v1.1/channels/{channelName}/orderers/joinOSN
  • /console/admin/api/v1.1/channels/{channelName}/orderers/removeOSN
  • /console/admin/api/v1.1/channels/syschannel/configblock
  • /console/admin/api/v1.1/channels/syschannel/addOSN

These endpoints have been added to support the new Raft ordering service. They allow you to add and remove ordering service nodes, and export or import a network configuration block.

Multiple Nodes Endpoints

  • /console/admin/api/v1.1/nodes/peers/{peerID}/start|stop
  • /console/admin/api/v1.1/nodes/orderers/{ordererID}/start|stop
  • /console/admin/api/v1.1/nodes/fabricCAs/{caId}/start|stop
  • /console/admin/api/v1.1/nodes/restproxies/{restProxyId}/start|stop

These APIs have no payload. Previously you didn't need to specify the content length in the header. In v21.1.2 or later you must specify the content length using the -H "content-length: 0" parameter.

Get Version of REST Proxy API The existing REST API :
  • /{restproxy}/bcsgw/rest/version
is still supported this release, but has been superseded in v21.1.2 with a new REST API with similar but different functionality:
  • /restproxy/api/v2/version
 

Query a Chaincode

/restproxy/api/v2/channels/{channelId}/chaincode-queries

In v21.1.2 or later, for CouchDB array operators, range query and pagination aren't supported.

Get Transaction Information

/restproxy/api/v2/channels/{channelId}/transactions/{transactionId} In v21.1.2 or later, querying asynchronous invocation proposal failures is not supported.

View the Status of a Specified Transaction

The existing REST API :
  • /{restproxy}/bcsgw/rest/v1/transaction
is still supported this release, but has been superseded in v21.1.2 with a new REST API with similar but different functionality:
  • /restproxy/api/v2/channels/{channelId}/transactions/{transactionId}

In previous Blockchain Platform versions, {restproxy} is a variable which can be set to different rest proxy nodes. In v21.1.2 or later , {restproxy} is fixed as a string "restproxy" in the path.

Transaction Invocation

The existing REST APIs :
  • /{restproxy}/bcsgw/rest/v1/transaction/asyncInvocation
  • /{restproxy}/bcsgw/rest/v1/transaction/invocation
are still supported, but have been superseded in v21.1.2 with a new REST API with similar but different functionality:
  • /restproxy/api/v2/channels/{channelId}/transactions

In previous Blockchain Platform versions, {restproxy} is a variable which can be set to different rest proxy nodes. In v21.1.2 or later , {restproxy} is fixed as a string "restproxy" in the path.

In v21.1.2 or later, callback support when sending a transaction has been deprecated. Alternatively, you can manually query the transaction status using the Get Transaction Information API or create a callback to transaction events using the Subscribe to an Event API.

In previous Blockchain Platform versions, transaction invocation was synchronous by default. In v2 it is asynchronous by default. To invoke the transaction synchronously, you can set "sync"= true in the JSON body of your request.

Event Subscriptions

The existing REST APIs :
  • /{restproxy}/bcsgw/rest/v1/event/subscribe
  • /{restproxy}/bcsgw/rest/v1/event/unsubscribe
  • /{restproxy}/bcsgw/rest/v1/event/querySub
are still supported this release, but have been superseded in v21.1.2 with a new REST API with similar but different functionality:
  • /restproxy/api/v2/channels/{channelId}/event-subscriptions

In previous Blockchain Platform versions, {restproxy} is a variable which can be set to different rest proxy nodes. In v21.1.2 or later , {restproxy} is fixed as a string "restproxy" in the path.

In new releases of Hyperledger Fabric, events are channel-scoped. Subscribing to the following event types is not yet supported in v21.1.2:
  • txOnChannel
  • txOnNetwork
  • blockOnNetwork
  • chaincodeEvent

Which Resource Paths and Endpoints are Deprecated

These resource paths and endpoints are deprecated.

Endpoints Deprecated in Release Version Resource Path

Get the List of Configured Chaincodes

21.1.2 /console/admin/api/v1.1/dashboard/statistics/proxyConfiguredCC

Add a Peer Node

21.1.2 /console/admin/api/v1.1/nodes/peers

Export Nodes

21.1.2 /console/admin/api/v1.1/nodes/export

Import Nodes

21.1.2 /console/admin/api/v1.1/nodes/import

Remove a Peer Node

21.1.2 /console/admin/api/v1.1/nodes/peers/{peerId}

Update Channel Configuration

19.1.3 /console/admin/api/v1.1/channels/{channelName}

Note:

  • The deprecated resource path and endpoints will become obsolete in the release listed. This means when you create a founder instance using that version or upgrade an existing instance, you will no longer be able to use these endpoints.
  • It is recommended that you migrate your applications to use the new paths and endpoints at your earliest convenience. This will minimize any disruption in the future when the deprecated URL structures are no longer supported.