> For the complete documentation index, see [llms.txt](https://docs.os.uk/os-apis/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.os.uk/os-apis/accessing-os-apis/os-net-api/technical-specification/rinex.md).

# Rinex

## GET /stations/{stationId}/rinex

> Get RINEX v3 files for a specific station

```json
{"openapi":"3.0.0","info":{"title":"OS Net API","version":"1.6.1-SNAPSHOT"},"servers":[{"url":"https://api.os.uk/positioning/osnet/v1"}],"paths":{"/stations/{stationId}/rinex":{"get":{"operationId":"Get station data","description":"Get RINEX v3 files for a specific station","parameters":[{"$ref":"#/components/parameters/stationId"},{"$ref":"#/components/parameters/RequiredTemporalParameters"},{"$ref":"#/components/parameters/dataFrequency"}],"responses":{"200":{"description":"Returns the list of available files","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RinexFile"}}}}},"400":{"description":"Returned if the input parameters are not valid","content":{"application/problem+json":{"schema":{"type":"object"}}}},"403":{"description":"Returned if the request is valid, but you do not have access to the resource","content":{"application/problem+json":{"schema":{"type":"object"}}}}},"tags":["Rinex"]}}},"components":{"parameters":{"stationId":{"name":"stationId","in":"path","description":"Specific station ID.","required":true,"schema":{"type":"string","minLength":4,"maxLength":4,"pattern":"^[a-zA-Z0-9]*$"}},"RequiredTemporalParameters":{"in":"query","name":"RequiredTemporalParameters","description":"Parameters that provide a temporal window (from start to end) for a query. These parameters can be used to restrict the query to a specific time range. 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.","required":true,"explode":true,"schema":{"$ref":"#/components/schemas/RequiredTemporalParameters"}},"dataFrequency":{"name":"dataFrequency","in":"query","description":"Parameter that selects the data frequency for a query. If the parameter is omitted then the query will proceed as if 30S data has been requested. Ephemeris files do not have a data frequency, and will be returned regardless of the dataFrequency parameter. Every organisation has access to 30S data. Access to 01S data is restricted to organisations on the Public Sector Plan.","required":false,"schema":{"type":"string"}}},"schemas":{"RequiredTemporalParameters":{"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.","type":"object","properties":{"start":{"description":"Start date-time for the search window","type":"string","format":"date-time"},"end":{"description":"End date-time for the search window","type":"string","format":"date-time"}},"required":["start","end"]},"RinexFile":{"title":"RinexFile","description":"Metadata about a rinex file that is available for download","allOf":[{"$ref":"#/components/schemas/OSNetDownload"},{"type":"object","properties":{"station":{"type":"string","minLength":4,"maxLength":4},"start":{"type":"string","format":"date-time"},"duration":{"description":"The duration that this file covers, using RINEX filename conventions.","type":"string"},"dataFrequency":{"description":"The data frequency of this file, using RINEX filename conventions.","type":"string"},"percentageComplete":{"description":"Health percentage, based on expected and actual data in the file","type":"integer","minimum":0,"maximum":100}}}]},"OSNetDownload":{"type":"object","description":"Information about a specific download file that is made available through this API.\n","required":["url","fileName"],"properties":{"url":{"description":"Getting this URL will return a HTTP redirect to the actual data.","type":"string","format":"uri"},"fileName":{"description":"The name of the file.","type":"string"},"size":{"description":"The file size, in bytes.","type":"integer","format":"int64"},"md5":{"description":"A MD5 checksum of the file data. This can be used to verify the integrity of the data once you have downloaded it.","type":"string"},"format":{"description":"This describes the format of the data.","type":"string"},"subformat":{"description":"This describes the subformat of the data.","type":"string"}}}}}}
```

## GET /rinex

> List the years that have RINEX data available

```json
{"openapi":"3.0.0","info":{"title":"OS Net API","version":"1.6.1-SNAPSHOT"},"servers":[{"url":"https://api.os.uk/positioning/osnet/v1"}],"paths":{"/rinex":{"get":{"tags":["Rinex"],"operationId":"Get Rinex Data Years","description":"List the years that have RINEX data available","responses":{"200":{"description":"List the years that have RINEX data available","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaData"}}}}}}}},"components":{"schemas":{"MetaData":{"type":"object","required":["title","description","links"],"properties":{"title":{"type":"string"},"description":{"type":"string"},"links":{"type":"array","items":{"$ref":"#/components/schemas/Link"}}}},"Link":{"title":"Link","description":"Provides a link leading to further information about a resource","type":"object","properties":{"href":{"type":"string","format":"uri"},"rel":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"}},"required":["href","rel","type","title","description"]}}}}
```

## GET /rinex/{year}

> List the days that have RINEX data available, for the given year

```json
{"openapi":"3.0.0","info":{"title":"OS Net API","version":"1.6.1-SNAPSHOT"},"servers":[{"url":"https://api.os.uk/positioning/osnet/v1"}],"paths":{"/rinex/{year}":{"get":{"tags":["Rinex"],"operationId":"Get Rinex Data Days","description":"List the days that have RINEX data available, for the given year","parameters":[{"$ref":"#/components/parameters/year"}],"responses":{"200":{"description":"List the days that have RINEX data available, for the given year","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaData"}}}}}}}},"components":{"parameters":{"year":{"name":"year","in":"path","description":"The year to be queried","required":true,"schema":{"type":"integer","format":"int32","minimum":2024}}},"schemas":{"MetaData":{"type":"object","required":["title","description","links"],"properties":{"title":{"type":"string"},"description":{"type":"string"},"links":{"type":"array","items":{"$ref":"#/components/schemas/Link"}}}},"Link":{"title":"Link","description":"Provides a link leading to further information about a resource","type":"object","properties":{"href":{"type":"string","format":"uri"},"rel":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"}},"required":["href","rel","type","title","description"]}}}}
```

## GET /rinex/{year}/{dayOfYear}

> List the files available via this service, for the given year and day

```json
{"openapi":"3.0.0","info":{"title":"OS Net API","version":"1.6.1-SNAPSHOT"},"servers":[{"url":"https://api.os.uk/positioning/osnet/v1"}],"paths":{"/rinex/{year}/{dayOfYear}":{"get":{"tags":["Rinex"],"operationId":"Get Rinex Data Files","description":"List the files available via this service, for the given year and day","parameters":[{"$ref":"#/components/parameters/year"},{"$ref":"#/components/parameters/dayOfYear"},{"$ref":"#/components/parameters/dataFrequency"}],"responses":{"200":{"description":"List the days available via this service, for the given year and day","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RinexFile"}}}}},"400":{"description":"Returned if the input parameters are not valid","content":{"application/problem+json":{"schema":{"type":"object"}}}},"403":{"description":"Returned if request is valid, but you do not have access to the resource","content":{"application/problem+json":{"schema":{"type":"object"}}}}}}}},"components":{"parameters":{"year":{"name":"year","in":"path","description":"The year to be queried","required":true,"schema":{"type":"integer","format":"int32","minimum":2024}},"dayOfYear":{"name":"dayOfYear","in":"path","description":"The day to be queried, within the given year","required":true,"schema":{"type":"integer","minimum":1,"maximum":366}},"dataFrequency":{"name":"dataFrequency","in":"query","description":"Parameter that selects the data frequency for a query. If the parameter is omitted then the query will proceed as if 30S data has been requested. Ephemeris files do not have a data frequency, and will be returned regardless of the dataFrequency parameter. Every organisation has access to 30S data. Access to 01S data is restricted to organisations on the Public Sector Plan.","required":false,"schema":{"type":"string"}}},"schemas":{"RinexFile":{"title":"RinexFile","description":"Metadata about a rinex file that is available for download","allOf":[{"$ref":"#/components/schemas/OSNetDownload"},{"type":"object","properties":{"station":{"type":"string","minLength":4,"maxLength":4},"start":{"type":"string","format":"date-time"},"duration":{"description":"The duration that this file covers, using RINEX filename conventions.","type":"string"},"dataFrequency":{"description":"The data frequency of this file, using RINEX filename conventions.","type":"string"},"percentageComplete":{"description":"Health percentage, based on expected and actual data in the file","type":"integer","minimum":0,"maximum":100}}}]},"OSNetDownload":{"type":"object","description":"Information about a specific download file that is made available through this API.\n","required":["url","fileName"],"properties":{"url":{"description":"Getting this URL will return a HTTP redirect to the actual data.","type":"string","format":"uri"},"fileName":{"description":"The name of the file.","type":"string"},"size":{"description":"The file size, in bytes.","type":"integer","format":"int64"},"md5":{"description":"A MD5 checksum of the file data. This can be used to verify the integrity of the data once you have downloaded it.","type":"string"},"format":{"description":"This describes the format of the data.","type":"string"},"subformat":{"description":"This describes the subformat of the data.","type":"string"}}}}}}
```

## GET /rinex/{year}/{dayOfYear}/{filename}

> Get a specific RINEX v3 file

```json
{"openapi":"3.0.0","info":{"title":"OS Net API","version":"1.6.1-SNAPSHOT"},"servers":[{"url":"https://api.os.uk/positioning/osnet/v1"}],"paths":{"/rinex/{year}/{dayOfYear}/{filename}":{"get":{"operationId":"GetRinexFile","description":"Get a specific RINEX v3 file","parameters":[{"$ref":"#/components/parameters/year"},{"$ref":"#/components/parameters/dayOfYear"},{"$ref":"#/components/parameters/filename"}],"responses":{"200":{"description":"Returns the requested RINEX file","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"204":{"description":"No Content","content":{"application/problem+json":{"schema":{"type":"object"}}}},"307":{"description":"Temporary redirect, returned for files larger than 10MB. The Location header contains a time-limited URL that can be used to download the file.  Most HTTP clients can be configured to follow redirects automatically.\n","headers":{"Location":{"description":"URL to download the file directly","schema":{"type":"string","format":"uri"}}}},"400":{"description":"Bad request","content":{"application/problem+json":{"schema":{"type":"object"}}}},"403":{"description":"Returned if the request is valid, but you do not have access to the resource","content":{"application/problem+json":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"type":"object"}}}}},"tags":["Rinex"]}}},"components":{"parameters":{"year":{"name":"year","in":"path","description":"The year to be queried","required":true,"schema":{"type":"integer","format":"int32","minimum":2024}},"dayOfYear":{"name":"dayOfYear","in":"path","description":"The day to be queried, within the given year","required":true,"schema":{"type":"integer","minimum":1,"maximum":366}},"filename":{"name":"filename","in":"path","description":"Name of the file","required":true,"schema":{"type":"string"}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
