JSON Resource Descriptor (JRD)

The JSON Resource Descriptor (JRD) is a simple JSON object that describes a "resource" on the Internet, where a "resource" is any entity on the Internet that is identified via a URI or IRI. For example, a person's account URI (e.g., acct:bob@example.com) is a resource. So are all web URIs (e.g., https://www.packetizer.com/).

The JSON Resource Descriptor, originally introduced in RFC 6415 and based on the Extensible Resource Descriptor (XRD) format, was adopted for use in the WebFinger protocol, though its use is not restricted to WebFinger or RFC 6415.

A JRD object comprises the following name/value pairs:

  • expires
  • subject
  • aliases
  • properties
  • links

A JRD describes a URI or IRI by returning structured information about the identifier. For example, a JRD that describes a person named Paul might include information about Paul's full name, homepage, blog, etc. Here is an example JRD that describes a user named Paul:

{
  "subject" : "acct:paulej@packetizer.com",
  "properties" :
  {
    "http://packetizer.com/ns/name" : "Paul E. Jones"
  },
  "links" :
  [
    {
      "rel" : "http://webfinger.net/rel/profile-page",
      "href" : "http://www.packetizer.com/people/paulej/"
    },
    {
      "rel" : "http://packetizer.com/rel/blog",
      "type" : "text/html",
      "href" : "http://www.packetizer.com/people/paulej/blog/",
      "titles" :
      {
        "en-us" : "Paul E. Jones' Blog"
      }
    }
  ]
}

Resources: JRD Format