Say that a new PSI service is made available and has a published entry point at the URI http://example.org. To discover the namespace of this service and the resources it offers a GET request can be sent to that URI.

GET http://example.org
200 OK
{
    "psiType":      "service",
    "uri":          "http://example.org",
    "relations":    "http://example.org/data",
    "schema":       "http://example.org/schema",
    "learners":     "http://example.org/learn",
    "predictors":   "http://example.org/infer",
    "transformers": "http://example.org/transform",
    "relatedServices":	[
        { "rel": "help", "href": "http://psi.cecs.anu.edu.au/spec" },
    ]
}

The resource collections for transformers, learners and predictors are examined as needed in later examples. However, to begin a user may be interested in what data sets are available at the service, which can be obtained using GET on the relations collection URI.

GET http://example.org/data
200 OK
{
    "psiType":   "resource-list",
    "resources": [ "http://example.org/data/iris" ]
}

In this example the service offers only a single relation representing the Iris data set, the details of which can be inspected next.

PSI responses can optionally include a relatedServices property, which is an array of link description objects (LDOs) specifying related resources and services and how to interact with them. The above example response includes a link to help information in the form of the PSI specification document. LDOs can describe far more complex interactions, but no further examples are given here as the relatedServices field is made available for diverse service providers to describe interactions outside the specification. LDOs are described briefly in the PSI specification, while full details are given in the JSON Hyper Schema draft.

Examining a relation and its attributes