Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

NameDescriptionValidation
qFreetext query for finding matching profilesRequired parameter
pageCurrent page within the result set, starts at 0Optional, number >= 0
pageSizeMaximum number of results per page. Default 10Optional, number > 0 and <= 100
includeDetailsSpecify whether the search response should include detailed profile data

Boolean value: true or false

 Optional, default: false

scopeSearch scope

Optional, may be one of:

  • DEFAULT (Applies default search options as is within the Faces UI)

  • SHORTNAME (To look for profiles with a specific shortname set; partial matches are returned)

  • EXTERNAL_NR (To look for profiles with a specific externalNr set; only exact matches are returned)
  • GENERIC_FIELD (To look in a specific field from the agencies generic setup)

  • RECORD_LOCATOR (To look for profiles with matching record locator only)

pSearch scope parameter

Required if scope=GENERIC_FIELD: Name of the generic field to search in

Optional for scope=RECORD_LOCATOR: System type or Label (e.g. “CSX”, “GALILEO_WS”, “My HR-System”)

Prohibited otherwise

detailSections

Specify additional profile areas to be returned if includeDetails is set to true.

 Only explicitly specified sections will be included.

Only the following sections are currently supported:

  • AGENCY_INFO

  • CONTACT_DATA

...

Faces will apply default validation logic as seen on our Web UI and CSV interfaces and will report validation errors to the caller without saving the profile.

When adding a passport which should at the same time be added on a visa as linkedPassport, the following format has to be used to reference the passport (as no UUID is yet available): newpp-<2-letter-country code>-<passport number>
Example: newpp-CH-X12345678

Update existing traveler profile

...

In order to remove genericValues from a profile, please include the fieldname but set the field content to empty or null.

When adding a passport which should at the same time be added on a visa as linkedPassport, the following format has to be used to reference the passport (as no UUID is yet available): newpp-<2-letter-country code>-<passport number>
Example: newpp-CH-X12345678

Delete traveler profile

Scopeapi.profilesondemand.write
Endpointapi/v1/profiles/traveller/<uuid>
Request methodDELETE

...

Code Block
languagebash
titleExample request
curl -v -X POST \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    --data '{
    "type": "VI",
    "number": "4444333322221111"
}' {midoco_proxy_url}/creditcard/store

...

Code Block
languagebash
titleExample request
curl -v -X PATCH \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    --data '{
    "data": {
        "creditCardInfo": {
            "creditCards": [{
                "updatedNumberReference": "ccTok-75cb0e1c-6640-4622-82bd-fed07fd1ca59",
                "expiration": "12/25",
                "publishAsFop": true
            }],
            "webCard": {
                "@type": "own-card",
                "uuid": "6e6259b9-4fa9-41c7-8a7b-f5d68df8f38b"
            },
            "hotelGuarantee": {
                "@type": "own-card",
                "uuid": "ccTok-75cb0e1c-6640-4622-82bd-fed07fd1ca59"
            },
            "carGuarantee": {
                "@type": "company-card"
            }
        }
    }
}' https://hurricane.umbrellanet.ch/uf-test/api/v1/profiles/traveller/ceb545fd-5000-4f44-93dd-47a272f6f25a
Code Block
languagejs
titleExample Response
{
	"uuid": "ceb545fd-5000-4f44-93dd-47a272f6f25a",
	"username": "demo.user",
	"firstname": "Demo",
	"name": "Traveller",
	"email": "demo@umbrella.ch",
	"data": {
		"creditCardInfo": {
			"creditCards": [{
				"uuid": "bcf0cfc2-5262-4996-98fb-f9a2ca8dc7a4",
				"type": "VI",
				"maskedNumber": "4444XXXXXXXX1111",
				"expiration": "12/25",
				"remark": "",
				"publishAsFop": true
			}, {
				"uuid": "6e6259b9-4fa9-41c7-8a7b-f5d68df8f38b",
				"type": "VI",
				"maskedNumber": "4242XXXXXXXX4242",
				"expiration": "12/25",
				"remark": "",
				"publishAsFop": true
			}],
			"webCard": {
				"@type": "own-card",
				"uuid": "6e6259b9-4fa9-41c7-8a7b-f5d68df8f38b",
				"maskedNumber": "4242XXXXXXXX4242"
			},
			"hotelGuarantee": {
				"@type": "own-card",
				"uuid": "bcf0cfc2-5262-4996-98fb-f9a2ca8dc7a4",
				"maskedNumber": "4444XXXXXXXX1111"
			},
			"carGuarantee": {
				"@type": "company-card",
				"uuid": "0d67e63f-a8a6-4a73-b826-d815a04aaedd",
				"maskedNumber": "5200XXXXXXXX0007"
			}
		}
	}
}

Configuration management API

This API is complimentary to the Profiles API and allows to query Umbrella Faces for defined settings on company / agency level

Note

This API is currently under development and not yet generally available

Get generic setup for travel agency

Scopes

api.profilesondemand.read

Endpoints

api/v1/configuration/setup/agency/{uuid}

Request methodGET

Fetch the generic setup of a travelagency tailored to the access level of the calling user / application

Parameters
NameDescriptionValidation
<uuid>The UUID of the travelagencyRequired parameter
Code Block
languagebash
titleExample request
curl -v -H "Authorization: Bearer <token>" \
    "https://hurricane.umbrellanet.ch/uf-test/api/v1/configuration/setup/agency/f4cbed76-873c-4499-be0c-f8f60745d529"
Code Block
languagejs
titleExample Response
collapsetrue
{
	"groups": [{
			"groupType": "INTEGRATED",
			"defaultLabel": "Your {0} team",
			"labels": {
				"sv_SE": "Ditt {0} team",
				"es_ES": "Vuestro {0} equipo",
				"fr_BE": "Votre équipe {0}",
				"nl_NL": "Ihr {0} Team",
				"hu_HU": "Az Ön {0} csapata",
				"de_CH": "Ihr {0} Team",
				"it_CH": "Vostra {0} squadra",
				"de_DE": "Ihr {0} Team",
				"kl_GL": "Illit {0} team-it",
				"cs_CZ": "Váš {0} tým",
				"da_DK": "Dit {0} team",
				"pl_PL": "Twój zespół {0}",
				"sk_SK": "Váš {0} tím",
				"it_IT": "Vostra {0} squadra",
				"pt_PT": "Ihr {0} Team",
				"fr_FR": "Votre équipe {0}",
				"en_US": "Your {0} team",
				"de_AT": "Ihr {0} Team",
				"fr_CH": "Votre équipe {0}",
				"en_GB": "Your {0} team",
				"nl_BE": "Ihr {0} Team"
			},
			"fields": [{
					"name": "KeyAccountManager",
					"profileType": "CORPORATE",
					"editable": true,
					"defaultLabel": "Key Account Manager",
					"labels": {},
					"fieldType": "INPUT",
					"elective": "OPTIONAL",
					"validation": {
						"@type": "none"
					}
				},
				{
					"name": "Teamzuordnung",
					"profileType": "CORPORATE",
					"editable": true,
					"defaultLabel": "Teamzuordnung",
					"labels": {},
					"fieldType": "INPUT",
					"elective": "OPTIONAL",
					"validation": {
			            "@type": "list",
			            "items": [
			              {
			                "optValue": "2",
			                "optLabel": "Zwei"
			              },
			              {
			                "optValue": "3",
			                "optLabel": "Drei"
			              },
			              {
			                "optValue": "1",
            			    "optLabel": "Eins"
			              }
			            ]
					}
				}
			]
		},
		{
			"groupType": "INTEGRATED",
			"defaultLabel": "General",
			"labels": {
				"sv_SE": "Generell",
				"es_ES": "General",
				"fr_BE": "Général",
				"nl_NL": "Allgemein",
				"hu_HU": "Általános",
				"de_CH": "Allgemein",
				"it_CH": "Generale",
				"de_DE": "Allgemein",
				"kl_GL": "Tamanut atuuttoq",
				"cs_CZ": "Obecné",
				"da_DK": "Generelt",
				"pl_PL": "Ogólne",
				"sk_SK": "Všeobecne",
				"it_IT": "Generale",
				"pt_PT": "Allgemein",
				"fr_FR": "Général",
				"en_US": "General",
				"de_AT": "Allgemein",
				"fr_CH": "Général",
				"en_GB": "General",
				"nl_BE": "Allgemein"
			},
			"fields": [{
				"name": "EmergencyNo",
				"profileType": "CORPORATE",
				"editable": true,
				"defaultLabel": "Emergency no.",
				"labels": {
					"de_CH": "Notfallnummer",
					"en_GB": "Emergency no."
				},
				"fieldType": "INPUT",
				"elective": "OPTIONAL",
				"validation": {
					"@type": "none"
				}
			}]
		},
		{
			"groupType": "INTEGRATED",
			"defaultLabel": "Preferences",
			"labels": {
				"sv_SE": "Önskemål",
				"es_ES": "Preferencias",
				"fr_BE": "Préférences",
				"nl_NL": "Präferenzen",
				"hu_HU": "Felhasználói beállítások",
				"de_CH": "Präferenzen",
				"it_CH": "Preferenze",
				"de_DE": "Präferenzen",
				"kl_GL": "Sallinngortitat",
				"cs_CZ": "Preference",
				"da_DK": "Præferencer",
				"pl_PL": "Preferencje",
				"sk_SK": "Preferencie",
				"it_IT": "Preferenze",
				"pt_PT": "Präferenzen",
				"fr_FR": "Préférences",
				"en_US": "Preferences",
				"de_AT": "Präferenzen",
				"fr_CH": "Préférences",
				"en_GB": "Preferences",
				"nl_BE": "Präferenzen"
			},
			"fields": [{
					"name": "HotelInformation",
					"profileType": "",
					"editable": true,
					"defaultLabel": "Hotel Information",
					"labels": {},
					"fieldType": "INPUT",
					"elective": "OPTIONAL",
					"validation": {
						"@type": "none"
					}
				},
				{
					"name": "AllgemeineInformation",
					"profileType": "TRAVELLER",
					"editable": true,
					"defaultLabel": "Allgemeine Information",
					"labels": {},
					"fieldType": "INPUT",
					"elective": "OPTIONAL",
					"validation": {
						"@type": "none"
					}
				},
				{
					"name": "CarInformation",
					"profileType": "",
					"editable": true,
					"defaultLabel": "Car information",
					"labels": {},
					"fieldType": "INPUT",
					"elective": "OPTIONAL",
					"validation": {
						"@type": "none"
					}
				},
				{
					"name": "FareInformation",
					"profileType": "CORPORATE",
					"editable": true,
					"defaultLabel": "Fare information",
					"labels": {},
					"fieldType": "INPUT",
					"elective": "OPTIONAL",
					"validation": {
						"@type": "none"
					}
				},
				{
					"name": "AirlineInformation",
					"profileType": "CORPORATE",
					"editable": true,
					"defaultLabel": "Airline information",
					"labels": {},
					"fieldType": "INPUT",
					"elective": "OPTIONAL",
					"validation": {
						"@type": "none"
					}
				},
				{
					"name": "RailInformation",
					"profileType": "",
					"editable": true,
					"defaultLabel": "Rail Information",
					"labels": {},
					"fieldType": "INPUT",
					"elective": "OPTIONAL",
					"validation": {
						"@type": "none"
					}
				}
			]
		},
		{
			"groupType": "CUSTOM",
			"defaultLabel": "Referenzfelder",
			"labels": {
				"de_CH": "Referenzfelder",
				"de_AT": "Referenzfelder",
				"fr_CH": "Reference details",
				"en_GB": "Reference details"
			},
			"fields": [{
					"name": "Projektnummer",
					"profileType": "",
					"editable": true,
					"defaultLabel": "Projektnummer",
					"labels": {},
					"fieldType": "INPUT",
					"elective": "COMPANY_SPECIFIC",
					"validation": {
						"@type": "none"
					}
				},
				{
					"name": "Kostenstelle",
					"profileType": "",
					"editable": true,
					"defaultLabel": "Kostenstelle",
					"labels": {},
					"fieldType": "INPUT",
					"elective": "COMPANY_SPECIFIC",
					"validation": {
			            "@type": "regex",
			            "expression": "[0-9]{0,10}"
					}
				},
				{
					"name": "SAPNummer",
					"profileType": "",
					"editable": true,
					"defaultLabel": "SAP Nummer",
					"labels": {},
					"fieldType": "INPUT",
					"elective": "COMPANY_SPECIFIC",
					"validation": {
						"@type": "none"
					}
				},
				{
					"name": "Personalnummer1",
					"profileType": "",
					"editable": true,
					"defaultLabel": "Personalnummer",
					"labels": {},
					"fieldType": "INPUT",
					"elective": "COMPANY_SPECIFIC",
					"validation": {
						"@type": "none"
					}
				},
				{
					"name": "DSNummer",
					"profileType": "",
					"editable": true,
					"defaultLabel": "DS Nummer",
					"labels": {},
					"fieldType": "INPUT",
					"elective": "COMPANY_SPECIFIC",
					"validation": {
						"@type": "none"
					}
				}
			]
		}
	]
}

Get generic setup for company

Scopes

api.profilesondemand.read

Endpoints

api/v1/configuration/setup/company/{uuid}

Request methodGET

Fetch the generic setup of a company tailored to the access level of the calling user / application

Parameters
NameDescriptionValidation
<uuid>The UUID of the companyRequired parameter
mergedDefines wheter to include only the company setup (false) or merge it with the underlying agency setup (true)

Boolean value: true or false

Optional, default: false

Code Block
languagebash
titleExample request
curl -v -H "Authorization: Bearer <token>" \
    "https://hurricane.umbrellanet.ch/uf-test/api/v1/configuration/setup/company/76445ed3-cbd4-45f5-96fc-f8f60745d529?merged=false"
Code Block
languagejs
titleExample Response
collapsetrue
{
	"groups": [{
		"groupType": "CUSTOM",
		"defaultLabel": "Referenzfelder",
		"labels": {
			"de_CH": "Referenzfelder",
			"de_AT": "Referenzfelder",
			"fr_CH": "Reference details",
			"en_GB": "Reference details"
		},
		"fields": [{
			"name": "Test-Abteilung",
			"profileType": "",
			"editable": true,
			"defaultLabel": "Test-bteilung",
			"labels": {},
			"fieldType": "INPUT",
			"elective": "COMPANY_SPECIFIC",
			"validation": {
				"@type": "none"
			}
		}]
	}]
}

System reference data API

This API is complimentary to the Profiles API and allows to query Umbrella Faces for reference data, such as lists of known rentalcar providers.

Note

This API is currently under development and not yet generally available

Get frequent flyer options

Scopes

(none needed)

Endpoints

api/v1/reference-data/air-providers

Request methodGET

Fetch a list of available frequent flyer options

Parameters
NameDescriptionValidation
profileType

Some options are only available on COPORATE level but no on TRAVELLER profiles.

This parameter allows to query the valid options per profile type

Optional parameter:

  • TRAVELLER
  • CORPORATE

Will return all frequent flyer options (unfiltered) if omitted

Code Block
languagebash
titleExample request
curl -v -H "Authorization: Bearer <token>" \
    "https://hurricane.umbrellanet.ch/uf-test/api/v1/reference-data/air-providers?profileType=TRAVELLER"

Get rental car providers

Scopes

(none needed)

Endpoints

api/v1/reference-data/car-providers

Request methodGET

Fetch a list of available rental car providers

Code Block
languagebash
titleExample request
curl -v -H "Authorization: Bearer <token>" \
    "https://hurricane.umbrellanet.ch/uf-test/api/v1/reference-data/car-providers"

Get rail card types

Scopes

(none needed)

Endpoints

api/v1/reference-data/rail-card-types

Request methodGET

Fetch a list of known rail card types

Parameters
NameDescriptionValidation
agency

Allows specifying an agency UUID for which the supported rail card types should be listed.

Depending on the agency setup the available types may differ

Optional Parameter

Will return all card types if omitted

Code Block
languagebash
titleExample request
curl -v -H "Authorization: Bearer <token>" \
    "https://hurricane.umbrellanet.ch/uf-test/api/v1/reference-data/rail-card-types"