APIs to manage company custom fields.
API reference
/Custom fields
/- Get options for a custom field.
Reorder custom fields
Update custom field status
Create custom field
Update custom field
Get custom field
Delete custom field
List custom field
Update option for the given options group
Upload file of options to be processed
Create custom field arm
Update arm
Get arm
Delete arm
List arms
Get applicable custom fields
Get options for a custom...
Custom Field API (v3)
Download OpenAPI description
Languages
Servers
Sandbox URL
https://api-ext-sboxmeta.partners.spotnana.com
Spotnana mock server
https://developer.spotnana.com/_mock/openapi/customfieldapi
- Sandbox URLhttps://api-ext-sboxmeta.partners.spotnana.com/v3/companies/{companyId}/custom-fields/{customFieldId}/arms/list
- Spotnana mock serverhttps://developer.spotnana.com/_mock/openapi/customfieldapi/v3/companies/{companyId}/custom-fields/{customFieldId}/arms/list
- curl
- JavaScript
- Node.js
- Python
curl -i -X POST \
https://api-ext-sboxmeta.partners.spotnana.com/v3/companies/4974a66b-7493-4f41-908c-58ba81093947/custom-fields/4974a66b-7493-4f41-908c-58ba81093947/arms/list \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"searchText": "string",
"filter": {
"tripUsageTypes": [
"STANDARD"
]
}
}'Response
application/json
{ "arms": [ { … } ] }
Bodyapplication/jsonrequired
Pagination parameters for requests.
- Sandbox URLhttps://api-ext-sboxmeta.partners.spotnana.com/v3/companies/{companyId}/custom-fields/{customFieldId}/arms/{armId}/option-list
- Spotnana mock serverhttps://developer.spotnana.com/_mock/openapi/customfieldapi/v3/companies/{companyId}/custom-fields/{customFieldId}/arms/{armId}/option-list
- curl
- JavaScript
- Node.js
- Python
curl -i -X POST \
https://api-ext-sboxmeta.partners.spotnana.com/v3/companies/4974a66b-7493-4f41-908c-58ba81093947/custom-fields/4974a66b-7493-4f41-908c-58ba81093947/arms/4974a66b-7493-4f41-908c-58ba81093947/option-list \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"paginationParams": {
"offset": 0,
"limit": 100
},
"nameSearchText": "string",
"fetchEffectiveAdditionalInfos": false
}'Response
application/json
{ "paginationParams": { "totalNumResults": 0 }, "options": [ { … } ] }
Bodyapplication/jsonrequired
Booking context for given booking flow.
bookingContext.itineraryAirItineraryContext (object) or HotelItineraryContext (object) or CarItineraryContext (object) or LimoItineraryContext (object) or OutsideBookingContext (object) or PnrContext (object)(ItineraryContext)required
One of:
- AirItineraryContext
- HotelItineraryContext
- CarItineraryContext
- CarItineraryContext
- LimoItineraryContext
- OutsideBookingContext
- PnrContext
Itinerary Context for different types of itineraries
Specifies the booking flow stage—such as creating, modifying, or canceling a booking.
Enum"NEW_BOOKING""MODIFY_BOOKING""CANCEL_BOOKING"
- Sandbox URLhttps://api-ext-sboxmeta.partners.spotnana.com/v3/applicable-custom-fields
- Spotnana mock serverhttps://developer.spotnana.com/_mock/openapi/customfieldapi/v3/applicable-custom-fields
- curl
- JavaScript
- Node.js
- Python
curl -i -X POST \
https://api-ext-sboxmeta.partners.spotnana.com/v3/applicable-custom-fields \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
"bookingContext": {
"tripId": "string",
"itinerary": {
"itineraryType": "AIR",
"searchId": "string",
"rateOptionId": "string"
},
"bookingFlowType": "NEW_BOOKING",
"paymentSourceIds": [
"string"
],
"inlineQCFailureRules": [
{
"ruleId": "string",
"ruleType": "FLIGHT_LAYOVER_RULE"
}
]
},
"customFieldResponsesContext": {
"customFieldResponses": [
{
"fieldId": "84922011-b03d-4966-bc95-c5b49bc2e342",
"fieldName": "string",
"armId": "0fd508db-63ff-4444-bfb1-b89c43061433",
"includeLocations": [
"APPROVAL_EMAILS"
],
"selectedOptions": [
{
"name": "string",
"translatedName": "string",
"description": "string",
"translatedDescription": "string",
"additionalUserInput": "string",
"additionalInfos": [
"string"
],
"additionalInfoConfigs": [
{}
]
}
]
}
]
}
}'OK
List of applicable custom fields including the ones which are already responded. It also includes the selected response which user has already selected previously.
Name of this field to be viewed by the user and consumed by downstream service.
Example: "Air Reason Code"
Name of this field to be viewed by the user, translated to their preferred language.
Example: "Air Reason Code"
Arm id which is applicable.
Example: "f49d00fe-1eda-4304-ba79-a980f565281d"
Items Enum"BOOKING_CONFIRMATION_EMAILS""APPROVAL_EMAILS""COMPANY_REPORTS""CONSOLIDATED_ITINERARY_EMAILS"
Example: ["APPROVAL_EMAILS"]
One of:
Action available for the custom field.
customFields[].action.hiddenboolean
Whether this code will be hidden to the user.
Default false
Example: true
Code which represents the auto selected option for the custom field.
Example: "LD"
Response
application/json
{ "hasNewCustomFields": true, "customFields": [ { … } ] }