> 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.3.0-SNAPSHOT"},"servers":[{"url":"https://api.os.uk/positioning/osnet/v1"}],"security":[{"OAuth2":[]},{"APIKeyQuery":[]},{"APIKeyHeader":[]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"OAUTH_TOKEN_URL","scopes":{}}}},"APIKeyQuery":{"type":"apiKey","in":"query","name":"key"},"APIKeyHeader":{"type":"apiKey","in":"header","name":"key"}},"parameters":{"stationId":{"name":"stationId","in":"path","description":"Specific station ID.","required":true,"schema":{"maxLength":4,"minLength":4,"pattern":"^[a-zA-Z0-9]*$","type":"string"}},"RequiredTemporalParameters":{"name":"RequiredTemporalParameters","in":"query","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"}}},"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."},"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"}}},"paths":{"/stations/{stationId}/rinex":{"get":{"tags":["Rinex"],"description":"Get RINEX v3 files for a specific station","operationId":"Get station data","parameters":[{"$ref":"#/components/parameters/stationId"},{"$ref":"#/components/parameters/RequiredTemporalParameters"}],"responses":{"200":{"description":"Returns the list of available files","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RinexFile"}}}}}}}}}}
```

## GET /rinex

> List the years that have RINEX data available

```json
{"openapi":"3.0.0","info":{"title":"OS Net API","version":"1.3.0-SNAPSHOT"},"servers":[{"url":"https://api.os.uk/positioning/osnet/v1"}],"security":[{"OAuth2":[]},{"APIKeyQuery":[]},{"APIKeyHeader":[]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"OAUTH_TOKEN_URL","scopes":{}}}},"APIKeyQuery":{"type":"apiKey","in":"query","name":"key"},"APIKeyHeader":{"type":"apiKey","in":"header","name":"key"}},"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"}}},"paths":{"/rinex":{"get":{"tags":["Rinex"],"description":"List the years that have RINEX data available","operationId":"Get Rinex Data Years","responses":{"200":{"description":"List the years that have RINEX data available","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaData"}}}}}}}}}
```

## 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.3.0-SNAPSHOT"},"servers":[{"url":"https://api.os.uk/positioning/osnet/v1"}],"security":[{"OAuth2":[]},{"APIKeyQuery":[]},{"APIKeyHeader":[]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"OAUTH_TOKEN_URL","scopes":{}}}},"APIKeyQuery":{"type":"apiKey","in":"query","name":"key"},"APIKeyHeader":{"type":"apiKey","in":"header","name":"key"}},"parameters":{"year":{"name":"year","in":"path","description":"The year to be queried","required":true,"schema":{"minimum":2024,"type":"integer","format":"int32"}}},"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"}}},"paths":{"/rinex/{year}":{"get":{"tags":["Rinex"],"description":"List the days that have RINEX data available, for the given year","operationId":"Get Rinex Data Days","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"}}}}}}}}}
```

## 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.3.0-SNAPSHOT"},"servers":[{"url":"https://api.os.uk/positioning/osnet/v1"}],"security":[{"OAuth2":[]},{"APIKeyQuery":[]},{"APIKeyHeader":[]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"OAUTH_TOKEN_URL","scopes":{}}}},"APIKeyQuery":{"type":"apiKey","in":"query","name":"key"},"APIKeyHeader":{"type":"apiKey","in":"header","name":"key"}},"parameters":{"year":{"name":"year","in":"path","description":"The year to be queried","required":true,"schema":{"minimum":2024,"type":"integer","format":"int32"}},"dayOfYear":{"name":"dayOfYear","in":"path","description":"The day to be queried, within the given year","required":true,"schema":{"maximum":366,"minimum":1,"type":"integer"}}},"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"}}},"paths":{"/rinex/{year}/{dayOfYear}":{"get":{"tags":["Rinex"],"description":"List the files available via this service, for the given year and day","operationId":"Get Rinex Data Files","parameters":[{"$ref":"#/components/parameters/year"},{"$ref":"#/components/parameters/dayOfYear"}],"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"}}}}}}}}}}
```

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

> Get a specific RINEX v3 file

```json
{"openapi":"3.0.0","info":{"title":"OS Net API","version":"1.3.0-SNAPSHOT"},"servers":[{"url":"https://api.os.uk/positioning/osnet/v1"}],"security":[{"OAuth2":[]},{"APIKeyQuery":[]},{"APIKeyHeader":[]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"OAUTH_TOKEN_URL","scopes":{}}}},"APIKeyQuery":{"type":"apiKey","in":"query","name":"key"},"APIKeyHeader":{"type":"apiKey","in":"header","name":"key"}},"parameters":{"year":{"name":"year","in":"path","description":"The year to be queried","required":true,"schema":{"minimum":2024,"type":"integer","format":"int32"}},"dayOfYear":{"name":"dayOfYear","in":"path","description":"The day to be queried, within the given year","required":true,"schema":{"maximum":366,"minimum":1,"type":"integer"}},"filename":{"name":"filename","in":"path","description":"Name of the file","required":true,"schema":{"type":"string"}}}},"paths":{"/rinex/{year}/{dayOfYear}/{filename}":{"get":{"tags":["Rinex"],"description":"Get a specific RINEX v3 file","operationId":"GetRinexFile","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"}}}},"400":{"description":"Bad request","content":{"application/problem+json":{"schema":{"type":"object"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"type":"object"}}}}}}}}}
```


---

# 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 dynamically by asking a question.

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

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
