Catapult REST API combines HTTP and WebSockets to perform read and write actions in the NEM blockchain.

Interacting with the API

Catapult REST API uses port 3000. It accepts both HTTP GET, PUT and POST requests.

Assuming that the Catapult server and Catapult REST are running locally, HTTP GET requests can be executed from a browser and have the form:

http://localhost:3000/<path-to-API-request> for example:


HTTP PUT and POST requests use JSON structures in the request body. Request returns data (if any is returned) using JSON structures.

This kind of request cannot usually be executed from within the browser unless you use a plugin which enables you to do it.

HTTP Status Codes

Status code Description
200 Ok. The request has succeeded.
202 Accepted. The request has been accepted for processing but the processing has not been completed.
400 Bad request. Check your request syntax.
404 Not found. The resource does not exist.
409 Conflict. Check your arguments.
500 Internal error. Unexpected condition.

HTTP Errors

Key Description
code Error identifier in camelCase.
message Error explained in human-readable format.


  "code": "InvalidArgument",
  "message": "accountId has an invalid format"

Continue: Tools.