DiscGolfAPI · Schema
DiscGolfAPI Manifest
JSON Schema for the DiscGolfAPI dataset manifest published at https://io.discgolfapi.com/manifest.json. The manifest carries contract and publish versions, generated timestamp, dataset counts, and content-addressable artefact metadata for the current public release.
Disc GolfSportsCoursesOpen DataRecreation
Properties
| Name | Type | Description |
|---|---|---|
| contract_version | string | Public response contract version (semver). |
| publish_version | string | Compact UTC publish stamp identifying this release. |
| generated_at | string | When this release was generated, in ISO-8601. |
| release_scope | string | Release scope label (e.g., all). |
| artefact_base_url | string | Base URL where this release's artefacts are served. |
| counts | object | |
| artefacts | object | Content-addressable artefact manifest keyed by logical artefact name. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api-evangelist.github.io/discgolfapi/json-schema/discgolfapi-manifest-schema.json",
"title": "DiscGolfAPI Manifest",
"description": "JSON Schema for the DiscGolfAPI dataset manifest published at https://io.discgolfapi.com/manifest.json. The manifest carries contract and publish versions, generated timestamp, dataset counts, and content-addressable artefact metadata for the current public release.",
"type": "object",
"required": [
"contract_version",
"publish_version",
"generated_at",
"release_scope",
"artefact_base_url",
"counts",
"artefacts"
],
"properties": {
"contract_version": {
"type": "string",
"description": "Public response contract version (semver)."
},
"publish_version": {
"type": "string",
"description": "Compact UTC publish stamp identifying this release."
},
"generated_at": {
"type": "string",
"format": "date-time",
"description": "When this release was generated, in ISO-8601."
},
"release_scope": {
"type": "string",
"description": "Release scope label (e.g., all)."
},
"artefact_base_url": {
"type": "string",
"format": "uri",
"description": "Base URL where this release's artefacts are served."
},
"counts": {
"type": "object",
"required": ["courses", "countries", "regions", "recent_updates"],
"properties": {
"courses": { "type": "integer", "minimum": 0, "description": "Number of public courses in this release." },
"countries": { "type": "integer", "minimum": 0, "description": "Number of countries represented." },
"regions": { "type": "integer", "minimum": 0, "description": "Number of regions, states, or subdivisions represented." },
"recent_updates": { "type": "integer", "minimum": 0, "description": "Number of recent update records." }
}
},
"artefacts": {
"type": "object",
"description": "Content-addressable artefact manifest keyed by logical artefact name.",
"additionalProperties": {
"type": "object",
"required": ["path", "sha256", "bytes"],
"properties": {
"path": { "type": "string", "description": "Artefact path relative to the release base URL." },
"sha256": { "type": "string", "description": "SHA-256 hex digest of the artefact bytes." },
"bytes": { "type": "integer", "minimum": 0, "description": "Artefact size in bytes." }
}
}
}
}
}