{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://schemas.stacspec.org/v1.0.0/collection-spec/json-schema/collection.json#", "title": "STAC Collection Specification", "description": "This object represents Collections in a SpatioTemporal Asset Catalog.", "allOf": [ { "$ref": "#/definitions/collection" } ], "definitions": { "collection": { "title": "STAC Collection", "description": "These are the fields specific to a STAC Collection. All other fields are inherited from STAC Catalog.", "type": "object", "required": [ "stac_version", "type", "id", "description", "license", "extent", "links" ], "properties": { "stac_version": { "title": "STAC version", "type": "string", "const": "1.0.0" }, "stac_extensions": { "title": "STAC extensions", "type": "array", "uniqueItems": true, "items": { "title": "Reference to a JSON Schema", "type": "string", "format": "iri" } }, "type": { "title": "Type of STAC entity", "const": "Collection" }, "id": { "title": "Identifier", "type": "string", "minLength": 1 }, "title": { "title": "Title", "type": "string" }, "description": { "title": "Description", "type": "string", "minLength": 1 }, "keywords": { "title": "Keywords", "type": "array", "items": { "type": "string" } }, "license": { "title": "Collection License Name", "type": "string", "pattern": "^[\\w\\-\\.\\+]+$" }, "providers": { "type": "array", "items": { "type": "object", "required": [ "name" ], "properties": { "name": { "title": "Organization name", "type": "string" }, "description": { "title": "Organization description", "type": "string" }, "roles": { "title": "Organization roles", "type": "array", "items": { "type": "string", "enum": [ "producer", "licensor", "processor", "host" ] } }, "url": { "title": "Organization homepage", "type": "string", "format": "iri" } } } }, "extent": { "title": "Extents", "type": "object", "required": [ "spatial", "temporal" ], "properties": { "spatial": { "title": "Spatial extent object", "type": "object", "required": [ "bbox" ], "properties": { "bbox": { "title": "Spatial extents", "type": "array", "minItems": 1, "items": { "title": "Spatial extent", "type": "array", "oneOf": [ { "minItems":4, "maxItems":4 }, { "minItems":6, "maxItems":6 } ], "items": { "type": "number" } } } } }, "temporal": { "title": "Temporal extent object", "type": "object", "required": [ "interval" ], "properties": { "interval": { "title": "Temporal extents", "type": "array", "minItems": 1, "items": { "title": "Temporal extent", "type": "array", "minItems": 2, "maxItems": 2, "items": { "type": [ "string", "null" ], "format": "date-time", "pattern": "(\\+00:00|Z)$" } } } } } } }, "assets": { "$ref": "../../item-spec/json-schema/item.json#/definitions/assets" }, "links": { "title": "Links", "type": "array", "items": { "$ref": "#/definitions/link" } }, "summaries": { "$ref": "#/definitions/summaries" } } }, "link": { "type": "object", "required": [ "rel", "href" ], "properties": { "href": { "title": "Link reference", "type": "string", "format": "iri-reference", "minLength": 1 }, "rel": { "title": "Link relation type", "type": "string", "minLength": 1 }, "type": { "title": "Link type", "type": "string" }, "title": { "title": "Link title", "type": "string" } } }, "summaries": { "type": "object", "additionalProperties": { "anyOf": [ { "title": "JSON Schema", "type": "object", "minProperties": 1, "allOf": [ { "$ref": "http://json-schema.org/draft-07/schema" } ] }, { "title": "Range", "type": "object", "required": [ "minimum", "maximum" ], "properties": { "minimum": { "title": "Minimum value", "type": [ "number", "string" ] }, "maximum": { "title": "Maximum value", "type": [ "number", "string" ] } } }, { "title": "Set of values", "type": "array", "minItems": 1, "items": { "description": "For each field only the original data type of the property can occur (except for arrays), but we can't validate that in JSON Schema yet. See the sumamry description in the STAC specification for details." } } ] } } } }