openapi : '3.0.2'
info :
title : RENFE WSMR API
version : '1.0'
servers :
- url : https://wsmr.renfe.es/wsmRestApi/v1/
paths :
/stations :
get :
operationId : getStations
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 :
operationId : getNearestStation
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
operationId : getTrainList
summary : Find train connections for a specific route
description : This operation uses the v2-Version of the API. Please update the baseUrl accordingly. To get a correct result, you have to specify at least one passenger.
servers :
- url : https://wsmr.renfe.es/wsmRestApi/v2/
parameters :
- $ref : '#/components/parameters/app'
- $ref : '#/components/parameters/appVersion'
- $ref : '#/components/parameters/osName'
- $ref : '#/components/parameters/osVersion'
- $ref : '#/components/parameters/language'
- $ref : '#/components/parameters/businessFlow'
- 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
content :
application/json :
schema :
$ref : '#/components/schemas/GetTrainListResponse'
components :
parameters :
businessFlow :
name : businessFlow
required : false
in : header
schema :
type : string
enum :
- PURCHASE
- DETAIL
- CHANGE
- CANCELATION
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 :
GetTrainListResponse :
type : object
required :
- trainProductsDiscountsOutward
- trainProductsDiscountsReturn
properties :
trainProductsDiscountsOutward :
type : boolean
trainProductsDiscountsReturn :
type : boolean
trainListOutward :
type : array
items :
$ref : '#/components/schemas/Train'
trainListReturn :
type : array
items :
$ref : '#/components/schemas/Train'
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"
Train :
type : object
properties :
originDate :
type : string
format : date
pattern : /([0-9]{2}-[0-9]{2}-[0-9]{4}/
example : 10 -04 -2022
originTime :
type : string
format : time
example : 06 : 35
arrivalDate :
type : string
format : date
pattern : /([0-9]{2}-[0-9]{2}-[0-9]{4}/
example : 10 -04 -2022
arrivalTime :
type : string
format : time
example : 09 : 20
trainCode :
type : string
example : 06302
trainDescription :
type : string
example : AVLO
trainOperator :
type : string
example : LC
trainProductCode :
type : string
example : 112
travelDuration :
type : string
example : 2 h. 45 min.
availableForSale :
type : boolean
blocked :
type : boolean
completed :
type : boolean
trainGroupCodeForm :
type : boolean
travelException :
type : boolean
datosLargoPlazo :
type : object
properties :
rsvLargoPlazo :
type : boolean
originStation :
$ref : '#/components/schemas/TrainStation'
arrivalStation :
$ref : '#/components/schemas/TrainStation'
trainProductsDiscounts :
type : boolean
TrainStation :
type : object
properties :
stationCode :
type : string
example : 71801
stationDescription :
type : string
example : BCN-SANTS
largeDescription :
type : string
example : BARCELONA-SANTS
saleEnabled :
type : boolean
enabled :
type : boolean
Station :
type : object
properties :
code :
type : string
example : "71801"
description :
type : string
example : "Barcelona-Sans"
stationType :
type : string
example : "1"