{"id":"releases/2026-11-13/schemas/slugs-1.json","kind":"schema","format":"schema/1.0","provenance":{"release":"2026-11-13","sources":["inaturalist-observations-v2","gbif-occurrence-v2","species-names","inaturalist-photos","usgs-gap-ranges-conus-2001v1","noaa-nclimgrid-daily","us-riis-l48-v2","oh-oda-invasive-plants","oh-odnr-aquatic-invasive","inaturalist-checklist","government-species-lists","census-tiger-2026","census-cartographic-boundaries-2025","resolve-ecoregions-2017","usgs-wbd","census-urban-areas-2020","natural-earth-countries","usgs-annual-nlcd-c1v2-2025","usgs-3dep-1as","usgs-padus-4-1","odnr-lands","census-zcta-county-2020","census-places-2020"],"licences":["CC-BY-4.0","CC-BY-NC-4.0","CC0-1.0"],"gbif_download_dois":["10.15468/dl.8m7c3d","10.15468/dl.y2jkt8"],"method":"seasonal-5","taxonomy":"col-xr-2026-06-19/match-2026-10-20","boundaries":"tiger-2026; census-cb-2025-500k; census-zcta-county-2020; census-places-2020; resolve-ecoregions-2017; usgs-annual-nlcd-c1v2-2025; usgs-3dep-1as; PAD-US 4.1 073747bf4d9b, ODNR Lands 8f5985bbd476, parks list 1.2; WBD HU8 04 1a78c5142bde, 05 d59adb45cc28; census-uac20 dbd0e5786258","ranges":["gap/conus-2001v1"],"protection":{"usfws":"2026-11-03T15:25:11.428Z","ohio":"2026-10"},"code":"414181dce188c3b7397c29608556900ed4e75a41","run":"43333827288"},"data":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"OpenPhenology slugs/1","description":"Species page slugs, and redirects from old slugs.","type":"object","required":["id","kind","format","provenance","data"],"properties":{"id":{"description":"The file's path from the API root.","type":"string","pattern":"^releases/\\d{4}-\\d{2}-\\d{2}/slugs(/\\d+)?\\.json$"},"kind":{"description":"The format's name, such as `county-weekly`.","const":"slugs"},"format":{"description":"Format name and version, for example `county-weekly/1.0`.","type":"string","pattern":"^slugs/1\\.\\d+$"},"provenance":{"description":"Where the content came from.","type":"object","required":["release","sources","licences","gbif_download_dois","method","taxonomy","boundaries","ranges","protection","code","run"],"properties":{"release":{"description":"The release the file belongs to, such as `2026-10-19`.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"sources":{"description":"Source IDs, as listed in `sources.json`.","type":"array","items":{"type":"string"}},"licences":{"description":"The licences of those sources.","type":"array","items":{"type":"string"}},"gbif_download_dois":{"description":"The GBIF downloads the records came from, as DOIs.","type":"array","items":{"type":"string"}},"method":{"description":"The method version, such as `seasonal-3`.","anyOf":[{"type":"string"},{"type":"null"}]},"taxonomy":{"description":"The taxonomy version species keys come from.","anyOf":[{"type":"string"},{"type":"null"}]},"boundaries":{"description":"The boundary version areas come from.","anyOf":[{"type":"string"},{"type":"null"}]},"ranges":{"description":"Each mapped range edition used.","anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"protection":{"description":"The version of each sensitive-species list applied, by list.","anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"type":"null"}]},"code":{"description":"The commit of the code that produced the file.","anyOf":[{"type":"string"},{"type":"null"}]},"run":{"description":"The run that produced the file.","anyOf":[{"type":"string"},{"type":"null"}]}}},"data":{"description":"The content, as the format sets out.","type":"object","required":["species","redirects"],"properties":{"species":{"description":"Slug to species key.","type":"object","propertyNames":{"type":"string","pattern":"^[a-z0-9]+(-[a-z0-9]+)*$"},"additionalProperties":{"type":"string","pattern":"^[A-Za-z0-9._-]+$"}},"redirects":{"description":"Old slug to current slug.","type":"object","propertyNames":{"type":"string","pattern":"^[a-z0-9]+(-[a-z0-9]+)*$"},"additionalProperties":{"type":"string","pattern":"^[a-z0-9]+(-[a-z0-9]+)*$"}}}}}}}