# Models

## The StationNetworkHealth object

```json
{"openapi":"3.0.0","info":{"title":"OS Net API","version":"1.3.0-SNAPSHOT"},"components":{"schemas":{"StationNetworkHealth":{"type":"array","items":{"type":"object","properties":{"stationId":{"type":"string"},"hourlyData":{"$ref":"#/components/schemas/HourlyData"}}}},"HourlyData":{"type":"array","items":{"type":"object","properties":{"hour":{"maximum":23,"minimum":0,"type":"integer"},"percentageComplete":{"maximum":100,"minimum":0,"type":"integer"}}}}}}}
```

## The HealthByDate object

```json
{"openapi":"3.0.0","info":{"title":"OS Net API","version":"1.3.0-SNAPSHOT"},"components":{"schemas":{"HealthByDate":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date"},"hourlyData":{"$ref":"#/components/schemas/HourlyData"}}}},"HourlyData":{"type":"array","items":{"type":"object","properties":{"hour":{"maximum":23,"minimum":0,"type":"integer"},"percentageComplete":{"maximum":100,"minimum":0,"type":"integer"}}}}}}}
```

## The HourlyData object

```json
{"openapi":"3.0.0","info":{"title":"OS Net API","version":"1.3.0-SNAPSHOT"},"components":{"schemas":{"HourlyData":{"type":"array","items":{"type":"object","properties":{"hour":{"maximum":23,"minimum":0,"type":"integer"},"percentageComplete":{"maximum":100,"minimum":0,"type":"integer"}}}}}}}
```

## The Station object

```json
{"openapi":"3.0.0","info":{"title":"OS Net API","version":"1.3.0-SNAPSHOT"},"components":{"schemas":{"Station":{"required":["ETRS89_H","ETRS89_Lat","ETRS89_Long","ETRS89_X","ETRS89_Y","ETRS89_Z","OSGB36_E","OSGB36_N","ortho_Datum","ortho_h","percentageComplete","stationId","tranModel"],"type":"object","properties":{"stationId":{"type":"string"},"stationName":{"type":"string"},"ETRS89_X":{"type":"number"},"ETRS89_Y":{"type":"number"},"ETRS89_Z":{"type":"number"},"ETRS89_Lat":{"type":"string"},"ETRS89_Long":{"type":"string"},"ETRS89_H":{"type":"number"},"OSGB36_E":{"type":"number"},"OSGB36_N":{"type":"number"},"ortho_h":{"type":"number"},"ortho_Datum":{"type":"string"},"tranModel":{"type":"string"},"percentageComplete":{"maximum":100,"minimum":0,"type":"integer","description":"Health percentage, based on expected and actual data for the station, and for the overall time period that was queried. If the time period is omitted then the percentage complete will not be included in the response."},"distance":{"type":"number","description":"Distance in KM from given search point, to two decimal places. Omitted if the query did not include a location."},"links":{"type":"array","description":"Links for finding further information about the station.\n","items":{"$ref":"#/components/schemas/Link"}}},"description":"Information about a GPS station."},"Link":{"title":"Link","required":["description","href","rel","title","type"],"type":"object","properties":{"href":{"type":"string","format":"uri"},"rel":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"}},"description":"Provides a link leading to further information about a resource"}}}}
```

## The Link object

```json
{"openapi":"3.0.0","info":{"title":"OS Net API","version":"1.3.0-SNAPSHOT"},"components":{"schemas":{"Link":{"title":"Link","required":["description","href","rel","title","type"],"type":"object","properties":{"href":{"type":"string","format":"uri"},"rel":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"}},"description":"Provides a link leading to further information about a resource"}}}}
```

## The SpatialParameters object

```json
{"openapi":"3.0.0","info":{"title":"OS Net API","version":"1.3.0-SNAPSHOT"},"components":{"schemas":{"SpatialParameters":{"type":"object","properties":{"location":{"type":"string","description":"Optional, Point location for the search. Will reorder the results by distance from this point. National Grid Eastings and Northings (space separated),"},"radius":{"type":"integer","description":"Optional, limits the search to the given radius. 'location' must also be provided."},"stationCount":{"type":"integer","description":"Optional, limits the result to a fixed number of stations. 'location' must also be provided."}},"description":"Spatial parameters for the /stations endpoint"}}}}
```

## The TemporalParameters object

```json
{"openapi":"3.0.0","info":{"title":"OS Net API","version":"1.3.0-SNAPSHOT"},"components":{"schemas":{"TemporalParameters":{"type":"object","properties":{"start":{"type":"string","description":"Optional start date-time for the search window","format":"date-time"},"end":{"type":"string","description":"Optional end date-time for the search window","format":"date-time"}},"description":"Parameters that provide an optional temporal window (from start to end) for a query. When using start and end, please note that start should be within the last 45 days, and the end should be no more than 24 hours after the start."}}}}
```

## The RequiredTemporalParameters object

```json
{"openapi":"3.0.0","info":{"title":"OS Net API","version":"1.3.0-SNAPSHOT"},"components":{"schemas":{"RequiredTemporalParameters":{"required":["end","start"],"type":"object","properties":{"start":{"type":"string","description":"Start date-time for the search window","format":"date-time"},"end":{"type":"string","description":"End date-time for the search window","format":"date-time"}},"description":"Parameters that provide a temporal window (from start to end) for a query. Please note that the start time should be within the last 45 days, and the end should be no more than 24 hours after the start."}}}}
```

## The RinexFile object

```json
{"openapi":"3.0.0","info":{"title":"OS Net API","version":"1.3.0-SNAPSHOT"},"components":{"schemas":{"RinexFile":{"title":"RinexFile","description":"Metadata about a rinex file that is available for download","allOf":[{"$ref":"#/components/schemas/OSNetDownload"},{"type":"object","properties":{"station":{"maxLength":4,"minLength":4,"type":"string"},"start":{"type":"string","format":"date-time"},"duration":{"type":"string","description":"This could be an end time instead of a duration, if we want it to be","format":"duration"},"percentageComplete":{"maximum":100,"minimum":0,"type":"integer","description":"Health percentage, based on expected and actual data in the file"}}}]},"OSNetDownload":{"required":["fileName","url"],"type":"object","properties":{"url":{"type":"string","description":"Getting this URL will return a HTTP redirect to the actual data.","format":"uri"},"fileName":{"type":"string","description":"The name of the file."},"size":{"type":"integer","description":"The file size, in bytes.","format":"int64"},"md5":{"type":"string","description":"A MD5 checksum of the file data. This can be used to verify the integrity of the data once you have downloaded it."},"format":{"type":"string","description":"This describes the format of the data."},"subformat":{"type":"string","description":"This describes the subformat of the data."}},"description":"Information about a specific download file that is made available through this API.\n"}}}}
```

## The OSNetDownload object

```json
{"openapi":"3.0.0","info":{"title":"OS Net API","version":"1.3.0-SNAPSHOT"},"components":{"schemas":{"OSNetDownload":{"required":["fileName","url"],"type":"object","properties":{"url":{"type":"string","description":"Getting this URL will return a HTTP redirect to the actual data.","format":"uri"},"fileName":{"type":"string","description":"The name of the file."},"size":{"type":"integer","description":"The file size, in bytes.","format":"int64"},"md5":{"type":"string","description":"A MD5 checksum of the file data. This can be used to verify the integrity of the data once you have downloaded it."},"format":{"type":"string","description":"This describes the format of the data."},"subformat":{"type":"string","description":"This describes the subformat of the data."}},"description":"Information about a specific download file that is made available through this API.\n"}}}}
```

## The MetaData object

```json
{"openapi":"3.0.0","info":{"title":"OS Net API","version":"1.3.0-SNAPSHOT"},"components":{"schemas":{"MetaData":{"required":["description","links","title"],"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"},"links":{"type":"array","items":{"$ref":"#/components/schemas/Link"}}}},"Link":{"title":"Link","required":["description","href","rel","title","type"],"type":"object","properties":{"href":{"type":"string","format":"uri"},"rel":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"}},"description":"Provides a link leading to further information about a resource"}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.os.uk/os-apis/accessing-os-apis/os-net-api/technical-specification/models.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
