Unofficial RENFE WSMR API OpenAPI Specification
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
renfe-wsmr-api/openapi.yaml

198 lines
5.0 KiB

openapi: '3.0.2'
info:
title: RENFE WSMR API
version: '1.0'
servers:
- url: https://wsmr.renfe.es/wsmRestApi/v1/
paths:
/stations:
get:
tags:
- station
summary: List all stations
parameters:
- $ref: '#/components/parameters/app'
- $ref: '#/components/parameters/appVersion'
- $ref: '#/components/parameters/osName'
- $ref: '#/components/parameters/osVersion'
- $ref: '#/components/parameters/language'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetStationsResponse'
/stations/nearest:
get:
tags:
- station
summary: List nearest stations
parameters:
- $ref: '#/components/parameters/app'
- $ref: '#/components/parameters/appVersion'
- $ref: '#/components/parameters/osName'
- $ref: '#/components/parameters/osVersion'
- $ref: '#/components/parameters/language'
- in: query
name: lat
required: true
description: Latitude
schema:
type: number
format: float
example: 41.392710
- in: query
name: lon
required: true
description: Longitude
schema:
type: number
format: float
example: 2.109310
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetStationsResponse'
/trains:
get:
tags:
- train
summary: Find train connections for a specific route
parameters:
- $ref: '#/components/parameters/app'
- $ref: '#/components/parameters/appVersion'
- $ref: '#/components/parameters/osName'
- $ref: '#/components/parameters/osVersion'
- $ref: '#/components/parameters/language'
- in: query
name: outwardStation
required: true
description: Code of outward station
schema:
type: string
example: 60000
- in: query
name: returnStation
required: true
description: Code of return station
schema:
type: string
example: 71801
- in: query
name: outwardDate
required: true
description: Date for outward journey (DD-MM-YYYY)
schema:
type: string
format: date
pattern: /([0-9]{2}-[0-9]{2}-[0-9]{4}/
example: 01-05-2022
- in: query
name: returnDate
description: Date for return journey (DD-MM-YYYY)
schema:
type: string
format: date
pattern: /([0-9]{2}-[0-9]{2}-[0-9]{4}/
example: 02-05-2022
- in: query
name: adult
description: Number of adult passengers
schema:
type: number
format: int
example: 1
- in: query
name: child
description: Number of children
schema:
type: number
format: int
- in: query
name: babyUnderFour
description: Number of babies under 4 years
schema:
type: number
format: int
- in: query
name: senior
description: Number of senior passengers
schema:
type: number
format: int
- in: query
name: promoCode
description: Promo Code
schema:
type: string
responses:
'200':
description: OK
components:
parameters:
app:
name: app
required: true
in: header
schema:
type: string
default: VMR
appVersion:
name: appVersion
required: true
in: header
schema:
type: string
example: 01.00.00
osName:
name: osName
required: false
in: header
schema:
type: string
example: 0R
osVersion:
name: osVersion
required: true
in: header
schema:
type: string
example: 1
language:
name: language
required: false
in: header
schema:
type: string
example: 'en'
schemas:
GetStationsResponse:
type: object
required:
- station
properties:
station:
type: array
items:
$ref: '#/components/schemas/Station'
lastUpdateStations:
type: string
format: 'date-time'
pattern: /([0-9]{4})-(?:[0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2}).([0-9]{3})/
example: "2022-03-01 01:06:25.034"
Station:
type: object
properties:
code:
type: string
example: "71801"
description:
type: string
example: "Barcelona-Sans"
stationType:
type: string
example: "1"