Fork me on GitHub

NodeInfo protocol 2.1


The term “server” in this document refers to software providing metadata about itself on a host.

The term “client” in this document refers to software wishing to retrieve metadata about a host.

The term “NodeInfo schema” refers to a schema definition provided in the schemas subdirectory.


Servers must provide the well-known path /.well-known/nodeinfo and provide a JRD document referencing the supported documents via Link elements.

Currently the following relations are known:

A client should first try the HTTPS protocol and fall back to HTTP on connection errors or if it can’t validate the presented certificate.

A client should follow redirections by the HTTP protocol.

A client should abandon the discovery on a HTTP response status code of 404 or 400 and may mark the host as not supporting the NodeInfo protocol.

A client should retry discovery on server errors as indicated by the HTTP response status code 500.

A client should follow the link matching the highest schema version it supports.

Discovery for media types other than application/json is left unspecified.


The server at supporting NodeInfo schema up to version 2.1 should provide with the following contents:

    "links": [
            "rel": "",
            "href": ""


When accessing the referenced schema document, a client should set the Accept header to the application/json media type.

A server must provide the data at least in this media type. A server should set a Content-Type of application/json; profile="", where the value of profile matches the resolution scope of the NodeInfo schema version that’s being returned.

A server may provide additional representations.