Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: SSO Context Redirection Controller API
version: v1.0
servers:
- url: https://apis.egencia.com/openconnect-sso-service
description: Generated server url
tags:
- name: redirection-controller
paths:
/v1/newTrip:
get:
operationId: redirect
parameters:
- in: query
name: costCenter1
required: false
schema:
type: string
- in: query
name: costCenter2
required: false
schema:
type: string
- in: query
name: costCenter3
required: false
schema:
type: string
- in: query
name: costCenter4
required: false
schema:
type: string
- in: query
name: costCenter5
required: false
schema:
type: string
- in: query
name: freeField1
required: false
schema:
type: string
- in: query
name: freeField2
required: false
schema:
type: string
- in: query
name: freeField3
required: false
schema:
type: string
- in: query
name: product
required: false
schema:
type: string
- in: query
name: itineraryType
required: false
schema:
type: string
- in: query
name: departureDate
required: false
schema:
type: string
- in: query
name: arrivalDate
required: false
schema:
type: string
- in: query
name: departureTime
required: false
schema:
type: string
- in: query
name: arrivalTime
required: false
schema:
type: string
- in: query
name: departureLocation
required: false
schema:
type: string
- in: query
name: arrivalLocation
required: false
schema:
type: string
- in: query
name: stayLocation
required: false
schema:
type: string
- in: query
name: countryLocation
required: false
schema:
type: string
- in: query
name: checkinDate
required: false
schema:
type: string
- in: query
name: checkoutDate
required: false
schema:
type: string
- in: query
name: pickupDate
required: false
schema:
type: string
- in: query
name: pickupTime
required: false
schema:
type: string
- in: query
name: dropoffDate
required: false
schema:
type: string
- in: query
name: dropoffTime
required: false
schema:
type: string
- in: query
name: pickupLocation
required: false
schema:
type: string
- in: query
name: pickupCountry
required: false
schema:
type: string
- in: query
name: dropoffLocation
required: false
schema:
type: string
- in: query
name: dropoffCountry
required: false
schema:
type: string
- in: query
name: missionNumber
required: false
schema:
type: string
- in: query
name: travelerId
required: false
schema:
type: string
responses:
'302':
content:
'*/*':
examples:
Start new Car trip:
description: Start new Car trip
value: GET "https://xxvanity.egencia-test.com/openconnect-sso-service/v1/newTrip?product=CAR&free_field3=1234&pickup_time=09:00&pickup_date=2020-01-15&pickup_location=Paris&pickup_country=FR&dropoff_time=10:00&dropoff_date=2020-01-30&dropoff_location=Orleans&dropoff_country=FR"
Start new Flight trip:
description: Start new Flight trip
value: GET "https://xxvanity.egencia-test.com/openconnect-sso-service/v1/newTrip?itinerary_type=RT&product=FLIGHT&free_field3=1234&arrival_time=09:00&departure_date=2020-01-15&arrival_location=TLS&departure_time=10:00&arrival_date=2020-01-20&departure_location=PAR"
Start new Hotel trip:
description: Start new Hotel trip
value: GET "https://xxvanity.egencia-test.com/openconnect-sso-service/v1/newTrip?product=HOTEL&free_field3=1234&checkin_date=2020-01-01&checkout_date=2020-01-15&stay_location=Paris&country_location=FR"
Start new Train trip:
description: Start new Train trip
value: GET "https://xxvanity.egencia-test.com/openconnect-sso-service/v1/newTrip?itinerary_type=RT&product=TRAIN&free_field3=1234&arrival_time=09:00&departure_date=2020-01-15&arrival_location=Toulouse&departure_time=10:00&arrival_date=2020-01-20&departure_location=Paris"
schema:
type: string
description: <b>Found</b
'400':
description: '<b>Bad Request</b> : Invalid input or request'
'500':
description: '<b>Internal Server Error</b> : Unable to process request.'
summary: Redirect to Egencia home page based on the request parameters passed
tags:
- redirection-controller
/v2/startTrip:
get:
description: "\n This api takes the values passed in the request and redirects to Egencia home page and pre-populates the context data in the corresponding fields such as search form data, custom data fields.\n The \"cdf\" param in the \"request\" supports custom data fields for both the region EU as well as NA. The user of this api needs to pass the custom data field as a key value pair where key is the name of the custom data field and value will be the custom data field value. If the custom data field is configured as mandatory and non editable, then this api will throw an error otherwise if either name or value is invalid, this api will skip that record.\n "
operationId: redirectToHomePage
parameters:
- in: query
name: request
required: true
schema:
type: string
responses:
'302':
content:
'*/*':
examples:
Start new Car trip:
description: "\n <h3><p>The \"request\" param is the Base 64 encoded value of the below payload: </p>\n <p>Example for NA custom data fields: </p></h3>\n <pre>\n <code>\n {\n \"product_type\": \"CAR\",\n \"mission_number\": \"1234\",\n \"travelers\": [\n \"98765\"\n ],\n \"duration\": {\n \"start_date\": \"2021-10-25\",\n \"end_date\": \"2021-10-28\",\n \"start_time\": \"09:00\",\n \"end_time\": \"09:00\"\n },\n \"cdfs\": {\n \"Travel Request ID\": \"TEST\",\n \"Department Code\": \"TEST\"\n },\n \"locations\": [\n {\n \"type\": \"START\",\n \"name\": \"Toronto\",\n \"country\": \"CA\"\n },\n {\n \"type\": \"END\",\n \"name\": \"Toronto\",\n \"country\": \"CA\"\n }\n ]\n }\n </code>\n </pre>\n <h3><p>Example for EU custom data fields: </p></h3>\n <pre>\n <code>\n {\n \"product_type\": \"CAR\",\n \"mission_number\": \"1234\",\n \"travelers\": [\n \"98765\"\n ],\n \"duration\": {\n \"start_date\": \"2021-10-25\",\n \"end_date\": \"2021-10-28\",\n \"start_time\": \"09:00\",\n \"end_time\": \"09:00\"\n },\n \"cdfs\": {\n \"Travel Requesition Number\": \"TEST\",\n \"Primary Cost Center\": \"TEST\",\n \"Secondary Cost Center\": \"TEST\"\n },\n \"locations\": [\n {\n \"type\": \"START\",\n \"name\": \"Toronto\",\n \"country\": \"CA\"\n },\n {\n \"type\": \"END\",\n \"name\": \"Toronto\",\n \"country\": \"CA\"\n }\n ]\n }\n </code>\n </pre>\n <h3><p>Example for existing custom data fields: </p></h3>\n <pre>\n <code>\n {\n \"product_type\": \"CAR\",\n \"mission_number\": \"1234\",\n \"travelers\": [\n \"98765\"\n ],\n \"duration\": {\n \"start_date\": \"2021-10-25\",\n \"end_date\": \"2021-10-28\",\n \"start_time\": \"09:00\",\n \"end_time\": \"09:00\"\n },\n \"cdfs\": {\n \"COST_CENTER_1\": \"TEST\",\n \"COST_CENTER_2\": \"TEST\"\n },\n \"locations\": [\n {\n \"type\": \"START\",\n \"name\": \"Toronto\",\n \"country\": \"CA\"\n },\n {\n \"type\": \"END\",\n \"name\": \"Toronto\",\n \"country\": \"CA\"\n }\n ]\n }\n </code>\n </pre>\n "
value: GET "https://xxvanity.egencia-test.com/openconnect-sso-service/v2/startTrip?request=ewogICJwcm9kdWN0X3R5cGUiOiAiQ0FSIiwKICAibWlzc2lvbl9udW1iZXIiOiAiMTIzNCIsCiAgInRyYXZlbGVycyI6IFsKICAgICI5ODc2NSIKICBdLAogICJkdXJhdGlvbiI6IHsKICAgICJzdGFydF9kYXRlIjogIjIwMjEtMTAtMjUiLAogICAgImVuZF9kYXRlIjogIjIwMjEtMTAtMjgiLAogICAgInN0YXJ0X3RpbWUiOiAiMDk6MDAiLAogICAgImVuZF90aW1lIjogIjA5OjAwIgogIH0sCiAgImNkZnMiOiB7CiAgICAiQ09TVF9DRU5URVJfMSI6ICJURVNUIiwKICAgICJDT1NUX0NFTlRFUl8yIjogIlRFU1QiCiAgfSwKICAibG9jYXRpb25zIjogWwogICAgewogICAgICAidHlwZSI6ICJTVEFSVCIsCiAgICAgICJuYW1lIjogIlRvcm9udG8iLAogICAgICAiY291bnRyeSI6ICJDQSIKICAgIH0sCiAgICB7CiAgICAgICJ0eXBlIjogIkVORCIsCiAgICAgICJuYW1lIjogIlRvcm9udG8iLAogICAgICAiY291bnRyeSI6ICJDQSIKICAgIH0KICBdCn0="
Start new Flight trip:
description: "\n <h3><p>The \"request\" param is the Base 64 encoded value of the below payload: </p>\n <p>Example for NA custom data fields: </p></h3>\n <pre>\n <code>\n {\n \"product_type\": \"FLIGHT\",\n \"mission_number\": \"1234\",\n \"itinerary_type\": \"RT\",\n \"travelers\": [\n \"98765\"\n ],\n \"duration\": {\n \"start_date\": \"2021-10-25\",\n \"end_date\": \"2021-10-28\",\n \"start_time\": \"09:00\",\n \"end_time\": \"09:00\"\n },\n \"cdfs\": {\n \"Travel Request ID\": \"TEST\",\n \"Department Code\": \"TEST\"\n },\n \"locations\": [\n {\n \"type\": \"START\",\n \"iata_code\": \"SEA\"\n },\n {\n \"type\": \"END\",\n \"iata_code\": \"CDG\"\n }\n ]\n }\n </code>\n </pre>\n <h3><p>Example for EU custom data fields: <p></h3>\n <pre>\n <code>\n {\n \"product_type\": \"FLIGHT\",\n \"mission_number\": \"1234\",\n \"itinerary_type\": \"RT\",\n \"travelers\": [\n \"98765\"\n ],\n \"duration\": {\n \"start_date\": \"2021-10-25\",\n \"end_date\": \"2021-10-28\",\n \"start_time\": \"09:00\",\n \"end_time\": \"09:00\"\n },\n \"cdfs\": {\n \"Travel Requisition Number\": \"TEST\",\n \"Primary Cost Center\": \"TEST\",\n \"Secondary Cost Center\": \"TEST\"\n },\n \"locations\": [\n {\n \"type\": \"START\",\n \"iata_code\": \"SEA\"\n },\n {\n \"type\": \"END\",\n \"iata_code\": \"CDG\"\n }\n ]\n }\n </code>\n </pre>\n <h3><p>Example for existing custom data fields: <p></h3>\n <pre>\n <code>\n {\n \"product_type\": \"FLIGHT\",\n \"mission_number\": \"1234\",\n \"itinerary_type\": \"RT\",\n \"travelers\": [\n \"98765\"\n ],\n \"duration\": {\n \"start_date\": \"2021-10-25\",\n \"end_date\": \"2021-10-28\",\n \"start_time\": \"09:00\",\n \"end_time\": \"09:00\"\n },\n \"cdfs\": {\n \"COST_CENTER_1\": \"TEST\",\n \"COST_CENTER_2\": \"TEST\"\n },\n \"locations\": [\n {\n \"type\": \"START\",\n \"iata_code\": \"SEA\"\n },\n {\n \"type\": \"END\",\n \"iata_code\": \"CDG\"\n }\n ]\n }\n </code>\n </pre>\n "
value: GET "https://xxvanity.egencia-test.com/openconnect-sso-service/v2/startTrip?request=ewogICJwcm9kdWN0X3R5cGUiOiAiRkxJR0hUIiwKICAibWlzc2lvbl9udW1iZXIiOiAiMTIzNCIsCiAgIml0aW5lcmFyeV90eXBlIjogIlJUIiwKICAidHJhdmVsZXJzIjogWwogICAgIjk4NzY1IgogIF0sCiAgImR1cmF0aW9uIjogewogICAgInN0YXJ0X2RhdGUiOiAiMjAyMS0xMC0yNSIsCiAgICAiZW5kX2RhdGUiOiAiMjAyMS0xMC0yOCIsCiAgICAic3RhcnRfdGltZSI6ICIwOTowMCIsCiAgICAiZW5kX3RpbWUiOiAiMDk6MDAiCiAgfSwKICAiY2RmcyI6IHsKICAgICJDT1NUX0NFTlRFUl8xIjogIlRFU1QiLAogICAgIkNPU1RfQ0VOVEVSXzIiOiAiVEVTVCIKICB9LAogICJsb2NhdGlvbnMiOiBbCiAgICB7CiAgICAgICJ0eXBlIjogIlNUQVJUIiwKICAgICAgImlhdGFfY29kZSI6ICJTRUEiCiAgICB9LAogICAgewogICAgICAidHlwZSI6ICJFTkQiLAogICAgICAiaWF0YV9jb2RlIjogIkNERyIKICAgIH0KICBdCn0="
Start new Hotel trip:
description: "\n <h3><p>The \"request\" param is the Base 64 encoded value of the below payload: <p>\n <p>Example for NA custom data fields: <p></h3>\n <pre>\n <code>\n {\n \"product_type\": \"HOTEL\",\n \"mission_number\": \"1234\",\n \"travelers\": [\n \"98765\"\n ],\n \"duration\": {\n \"start_date\": \"2021-10-25\",\n \"end_date\": \"2021-10-28\"\n },\n \"cdfs\": {\n \"Travel Request ID\": \"TEST\",\n \"Department Code\": \"TEST\"\n },\n \"locations\": [\n {\n \"type\": \"STAY\",\n \"name\": \"Toronto\",\n \"country\": \"CA\"\n }\n ]\n }\n </code>\n </pre>\n <h3><p>Example for EU custom data fields: </p></h3>\n <pre>\n <code>\n {\n \"product_type\": \"HOTEL\",\n \"mission_number\": \"1234\",\n \"travelers\": [\n \"98765\"\n ],\n \"duration\": {\n \"start_date\": \"2021-10-25\",\n \"end_date\": \"2021-10-28\"\n },\n \"cdfs\": {\n \"Travel Requesition Number\": \"TEST\",\n \"Primary Cost Center\": \"TEST\",\n \"Secondary Cost Center\": \"TEST\"\n },\n \"locations\": [\n {\n \"type\": \"STAY\",\n \"name\": \"Toronto\",\n \"country\": \"CA\"\n }\n ]\n }\n </code>\n </pre>\n <h3><p>Example for existing custom data fields: </p></h3>\n <pre>\n <code>\n {\n \"product_type\": \"HOTEL\",\n \"mission_number\": \"1234\",\n \"travelers\": [\n \"98765\"\n ],\n \"duration\": {\n \"start_date\": \"2021-10-25\",\n \"end_date\": \"2021-10-28\"\n },\n \"cdfs\": {\n \"COST_CENTER_1\": \"TEST\",\n \"COST_CENTER_2\": \"TEST\"\n },\n \"locations\": [\n {\n \"type\": \"STAY\",\n \"name\": \"Toronto\",\n \"country\": \"CA\"\n }\n ]\n }\n </code>\n </pre>\n "
value: GET "https://xxvanity.egencia-test.com/openconnect-sso-service/v2/startTrip?request=ewogICJwcm9kdWN0X3R5cGUiOiAiSE9URUwiLAogICJtaXNzaW9uX251bWJlciI6ICIxMjM0IiwKICAidHJhdmVsZXJzIjogWwogICAgIjk4NzY1IgogIF0sCiAgImR1cmF0aW9uIjogewogICAgInN0YXJ0X2RhdGUiOiAiMjAyMS0xMC0yNSIsCiAgICAiZW5kX2RhdGUiOiAiMjAyMS0xMC0yOCIKICB9LAogICJjZGZzIjogewogICAgIkNPU1RfQ0VOVEVSXzEiOiAiVEVTVCIsCiAgICAiQ09TVF9DRU5URVJfMiI6ICJURVNUIgogIH0sCiAgImxvY2F0aW9ucyI6IFsKICAgIHsKICAgICAgInR5cGUiOiAiU1RBWSIsCiAgICAgICJuYW1lIjogIlRvcm9udG8iLAogICAgICAiY291bnRyeSI6ICJDQSIKICAgIH0KICBdCn0="
Start new Train trip:
description: "\n <h3><p>The \"request\" param is the Base 64 encoded value of the below payload: </p>\n <p>Example for NA custom data fields: </p></h3>\n <pre>\n <code>\n {\n \"product_type\": \"TRAIN\",\n \"mission_number\": \"1234\",\n \"itinerary_type\": \"RT\",\n \"travelers\": [\n \"98765\"\n ],\n \"duration\": {\n \"start_date\": \"2021-10-25\",\n \"end_date\": \"2021-10-28\",\n \"start_time\": \"09:00\",\n \"end_time\": \"09:00\"\n },\n \"cdfs\": {\n \"Travel Request ID\": \"TEST\",\n \"Department Code\": \"TEST\"\n },\n \"locations\": [\n {\n \"type\": \"START\",\n \"name\": \"PAR\",\n },\n {\n \"type\": \"END\",\n \"name\": \"HEL\",\n }\n ]\n }\n </code>\n </pre>\n <h3><p>Example for EU custom data fields: </p></h3>\n <pre>\n <code>\n {\n \"product_type\": \"TRAIN\",\n \"mission_number\": \"1234\",\n \"itinerary_type\": \"RT\",\n \"travelers\": [\n \"98765\"\n ],\n \"duration\": {\n \"start_date\": \"2021-10-25\",\n \"end_date\": \"2021-10-28\",\n \"start_time\": \"09:00\",\n \"end_time\": \"09:00\"\n },\n \"cdfs\": {\n \"Travel Requesition Number\": \"TEST\",\n \"Primary Cost Center\": \"TEST\",\n \"Secondary Cost Center\": \"TEST\"\n },\n \"locations\": [\n {\n \"type\": \"START\",\n \"name\": \"PAR\",\n },\n {\n \"type\": \"END\",\n \"name\": \"HEL\",\n }\n ]\n }\n </code>\n </pre>\n <h3><p>Example for existing custom data fields: </p></h3>\n <pre>\n <code>\n {\n \"product_type\": \"TRAIN\",\n \"mission_number\": \"1234\",\n \"itinerary_type\": \"RT\",\n \"travelers\": [\n \"98765\"\n ],\n \"duration\": {\n \"start_date\": \"2021-10-25\",\n \"end_date\": \"2021-10-28\",\n \"start_time\": \"09:00\",\n \"end_time\": \"09:00\"\n },\n \"cdfs\": {\n \"COST_CENTER_1\": \"TEST\",\n \"COST_CENTER_2\": \"TEST\"\n },\n \"locations\": [\n {\n \"type\": \"START\",\n \"name\": \"PAR\",\n },\n {\n \"type\": \"END\",\n \"name\": \"HEL\",\n }\n ]\n }\n </code>\n </pre>\n "
value: GET "https://xxvanity.egencia-test.com/openconnect-sso-service/v2/startTrip?request=ewogICJwcm9kdWN0X3R5cGUiOiAiVFJBSU4iLAogICJtaXNzaW9uX251bWJlciI6ICIxMjM0IiwKICAiaXRpbmVyYXJ5X3R5cGUiOiAiUlQiLAogICJ0cmF2ZWxlcnMiOiBbCiAgICAiOTg3NjUiCiAgXSwKICAiZHVyYXRpb24iOiB7CiAgICAic3RhcnRfZGF0ZSI6ICIyMDIxLTEwLTI1IiwKICAgICJlbmRfZGF0ZSI6ICIyMDIxLTEwLTI4IiwKICAgICJzdGFydF90aW1lIjogIjA5OjAwIiwKICAgICJlbmRfdGltZSI6ICIwOTowMCIKICB9LAogICJjZGZzIjogewogICAgIkNPU1RfQ0VOVEVSXzEiOiAiVEVTVCIsCiAgICAiQ09TVF9DRU5URVJfMiI6ICJURVNUIgogIH0sCiAgImxvY2F0aW9ucyI6IFsKICAgIHsKICAgICAgInR5cGUiOiAiU1RBUlQiLAogICAgICAibmFtZSI6ICJQQVIiLAogICAgICAKICAgIH0sCiAgICB7CiAgICAgICJ0eXBlIjogIkVORCIsCiAgICAgICJuYW1lIjogIkhFTCIsCiAgICAgIAogICAgfQogIF0KfQ=="
schema:
type: string
description: <b>Found</b>.
'400':
content:
'*/*':
examples:
Invalid value error:
description: "\n <h3><p><strong>Error response when custom data field is mandatory and non editable and invalid value is supplied:</strong></p></h3>\n <pre>\n <code>\n {\n \"error\": \"ERR_OSSO_4000\",\n \"error_description\": \"Invalid data provided in the request.\",\n \"data\": [\n {\n \"attribute\": \"cdfs.TEST_CDF_NAME\",\n \"message\": \"Requested custom data field value TEST does not exist.\",\n }\n ],\n \"timestamp\": \"2022-04-22T13:58:39.703+05:30\",\n \"status\": 400,\n \"path\": \"/openconnect-sso-service/v2/startTrip\"\n }\n </code>\n </pre>\n "
description: '<b>Bad Request</b> : Invalid input or request'
'500':
description: '<b>Internal Server Error</b> : Unable to process request.'
summary: Redirect to Egencia home page based on the request parameters passed
tags:
- redirection-controller