Envelope Properties¶
RDF Type
https://api.openteams.com/json-ld/Envelope
An Envelope Property is an encapsulation of an HTTP resource. The primary use-case for envelopes is listing, search, and query response resources. The envelop is a JSON object whose properties include the URL of the resource, the caching headers that were current for the resource when the resource was retrieved, the required SCRUD headers, and the content of the resource.
Envelopes provide a simple mechanism to provide compound resources comprised of multiple included resources while enabling an envelope aware client the capability to maintain a coherent cache for all resources.
Example¶
The example below is a JSON envelope object of a resource. The url
property is the URL
of the resource whose content is contained in the content
property. The
last-modified
and etag
properties are the standard HTTP caching headers.
{
"url": "https://openteams.com/profile/230"
, "last_modified": "Mon, 13 July 2020 12:12:12 GMT"
, "etag": "XXXXX"
, "content": {
"id": "230"
, "name": "Some Name"
}
}
JSON Schema¶
{
"$id": "https://api.openteams.com/json-schema/Envelope"
, "$schema": "http://json-schema.org/draft-04/schema"
, "title": "Resource Envelope"
, "description": "A resource wrapper providing the url and http caching headers for a contained resource"
, "properties": {
"url": {
"type": "string"
, "format": "uri"
}
, "last_modified": {
"type": "string"
}
, "etag": {
"type": "string"
}
, "content": {
"type": ["object", "array", "string", "number", "boolean"]
}
}
}
(Envelope Properties Context)=
JSON-LD Context¶
{
"url": {
"@id": "https://api.openteams.com/json-ld/Envelope/url"
, "https://www.w3.org/TR/rdf-schema/#ch_subclassof":
"https://www.w3.org/TR/HTTP-in-RDF10/#absoluteURIProperty"
}
, "last_modified": {
"@id": "https://api.openteams.com/json-ld/Envelope/last_modified"
}
, "etag": {
"@id": "https://api.openteams.com/json-ld/Envelope/etag"
}
, "content": {
"@id": "https://api.openteams.com/json-ld/Envelope/content"
}
}