Skip to content

Policy API (v2)

Download OpenAPI description
Languages
Servers
Sandbox URL
https://api-ext-sboxmeta.partners.spotnana.com/
Spotnana mock server
https://developer.spotnana.com/_mock/openapi/policyapi/

Company Policies

APIs to configure company travel policies.

Operations

Create policy

Request

This endpoint creates a policy.

Security
Bearer
Path
companyIdstring(uuid)required

Identifier for company.

Example: 4974a66b-7493-4f41-908c-58ba81093947
Bodyapplication/jsonrequired
namestringrequired

Name of the policy.

typestring(PolicyType)required
Enum"DEFAULT""GROUP""INTERNAL"
parentPolicyIdstring(uuid)

Policy to inherit the values of linked rules. If empty, consider the company default policy.

Example: "f7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b"
currencyCurrencyCodeWrapper (object) or IsLinkedWrapper (object)(PolicyCurrency)required
One of:

Currency for the policy.

currency.​currencyCodestring

iso code of the currency.

Example: "USD"
inPolicyApprovalInfosArray of objects(PolicyApprovalInfo)
outOfPolicyApprovalInfosArray of objects(PolicyApprovalInfo)
outOfPolicyAgentApprovalInfosArray of objects(PolicyApprovalInfo)
enableAgentActionOverrideboolean

True if agent can override the PREVENT_BOOKING action. If enabled, outOfPolicyAgentApprovalInfos for all travel types should be provided.

userGroupsArray of objects(UserGroup)required
userGroups[].​userIdsArray of objects(UserId)
userGroups[].​legalEntityIdsArray of objects(EntityId)
userGroups[].​officeIdsArray of objects(EntityId)
userGroups[].​departmentsArray of strings

List of department ids.

userGroups[].​costCentersArray of strings

List of cost center ids.

userGroups[].​gradesArray of strings

List of grade ids.

userGroups[].​positionTitlesArray of strings
userGroups[].​personasArray of strings(Persona)
Items Enum"UNKNOWN_PERSONA""EMPLOYEE""GUEST""PERSONAL""RELATIVE""ADHOC"
Example: ["EMPLOYEE"]
userGroups[].​countryCodesArray of strings
Example: ["GB"]
userGroups[].​workerTypesArray of strings(WorkerType)
Items Enum"EMPLOYEE""CONTINGENT""SEASONAL""INTERN""GUEST"
Example: ["EMPLOYEE"]
userGroups[].​accountingCodesArray of strings
userGroups[].​customFieldIdsArray of objects(CustomFieldId)Deprecated
commonPolicyRulesobject(CommonPolicyRules)
carPolicyRulesobject(CarPolicyRules)
hotelPolicyRulesobject(HotelPolicyRules)
airPolicyRulesobject(AirPolicyRules)
rulesArray of objects(UniversalRule)

A list of general policy rules for all travel types air, hotel, car and rail.

airOopReasonCodesOopReasonCodesPropsWrapper (object) or IsLinkedWrapper (object)(OopReasonCodes)
One of:

Out of policy reason code question to be asked to user for air booking.

hotelOopReasonCodesOopReasonCodesPropsWrapper (object) or IsLinkedWrapper (object)(OopReasonCodes)
One of:

Out of policy reason code question to be asked to user for hotel booking.

carOopReasonCodesOopReasonCodesPropsWrapper (object) or IsLinkedWrapper (object)(OopReasonCodes)
One of:

Out of policy reason code question to be asked to user for car booking.

railOopReasonCodesOopReasonCodesPropsWrapper (object) or IsLinkedWrapper (object)(OopReasonCodes)
One of:

Out of policy reason code question to be asked to user for rail booking.

categorystring(PolicyCategory)
Default "EMPLOYEE"
Enum"EMPLOYEE""GUEST"
inPolicyApprovalInfoobject(PolicyApprovalInfo)Deprecated
outOfPolicyApprovalInfoobject(PolicyApprovalInfo)Deprecated
isRestrictivebooleanDeprecated

True if policy is a restrictive policy.

Example: true
curl -i -X POST \
  https://api-ext-sboxmeta.partners.spotnana.com/v2/companies/4974a66b-7493-4f41-908c-58ba81093947/policies \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string",
    "type": "GROUP",
    "parentPolicyId": "f7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b",
    "currency": {
      "currencyCode": "USD"
    },
    "inPolicyApprovalInfo": {
      "approvalProcessType": "NONE",
      "designatedApprovers": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
        }
      ],
      "isManagerApprover": false,
      "isEmployeeLevelDesignatedApprover": false,
      "shouldNotifyManager": false,
      "travelTypes": [
        "AIR"
      ],
      "approvalConditions": [
        {
          "rules": [
            {
              "travelRegionRule": {
                "travelRegionType": "DOMESTIC"
              }
            }
          ]
        }
      ],
      "defaultApprovers": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
        }
      ]
    },
    "outOfPolicyApprovalInfo": {
      "approvalProcessType": "NONE",
      "designatedApprovers": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
        }
      ],
      "isManagerApprover": false,
      "isEmployeeLevelDesignatedApprover": false,
      "shouldNotifyManager": false,
      "travelTypes": [
        "AIR"
      ],
      "approvalConditions": [
        {
          "rules": [
            {
              "travelRegionRule": {
                "travelRegionType": "DOMESTIC"
              }
            }
          ]
        }
      ],
      "defaultApprovers": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
        }
      ]
    },
    "inPolicyApprovalInfos": [
      {
        "approvalProcessType": "NONE",
        "designatedApprovers": [
          {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          }
        ],
        "isManagerApprover": false,
        "isEmployeeLevelDesignatedApprover": false,
        "shouldNotifyManager": false,
        "travelTypes": [
          "AIR"
        ],
        "approvalConditions": [
          {
            "rules": [
              {
                "travelRegionRule": {}
              }
            ]
          }
        ],
        "defaultApprovers": [
          {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          }
        ]
      }
    ],
    "outOfPolicyApprovalInfos": [
      {
        "approvalProcessType": "NONE",
        "designatedApprovers": [
          {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          }
        ],
        "isManagerApprover": false,
        "isEmployeeLevelDesignatedApprover": false,
        "shouldNotifyManager": false,
        "travelTypes": [
          "AIR"
        ],
        "approvalConditions": [
          {
            "rules": [
              {
                "travelRegionRule": {}
              }
            ]
          }
        ],
        "defaultApprovers": [
          {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          }
        ]
      }
    ],
    "outOfPolicyAgentApprovalInfos": [
      {
        "approvalProcessType": "NONE",
        "designatedApprovers": [
          {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          }
        ],
        "isManagerApprover": false,
        "isEmployeeLevelDesignatedApprover": false,
        "shouldNotifyManager": false,
        "travelTypes": [
          "AIR"
        ],
        "approvalConditions": [
          {
            "rules": [
              {
                "travelRegionRule": {}
              }
            ]
          }
        ],
        "defaultApprovers": [
          {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          }
        ]
      }
    ],
    "enableAgentActionOverride": true,
    "userGroups": [
      {
        "userIds": [
          {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          }
        ],
        "legalEntityIds": [
          {
            "id": "b93dc51f-12dd-46c7-b7d6-1cb12cd3f5b3"
          }
        ],
        "officeIds": [
          {
            "id": "b93dc51f-12dd-46c7-b7d6-1cb12cd3f5b3"
          }
        ],
        "departments": [
          "string"
        ],
        "costCenters": [
          "string"
        ],
        "grades": [
          "string"
        ],
        "positionTitles": [
          "string"
        ],
        "personas": [
          "EMPLOYEE"
        ],
        "customFieldIds": [
          {
            "type": "QUESTION",
            "externalId": "string"
          }
        ],
        "countryCodes": [
          "GB"
        ],
        "workerTypes": [
          "EMPLOYEE"
        ],
        "accountingCodes": [
          "string"
        ]
      }
    ],
    "commonPolicyRules": {
      "restrictedContinents": {
        "isLinked": true
      },
      "restrictedCountries": {
        "isLinked": true
      }
    },
    "carPolicyRules": {
      "maxCarPricePerNumberOfDays": {
        "isLinked": true
      },
      "allowedCarTypes": {
        "isLinked": true
      }
    },
    "hotelPolicyRules": {
      "restrictedHotels": {
        "isLinked": true
      },
      "maxHotelPriceByLocation": {
        "isLinked": true
      },
      "hotelAdvanceBookingWindow": {
        "isLinked": true
      },
      "hotelCancellation": {
        "isLinked": true
      },
      "hotelChainCodes": {
        "isLinked": true
      },
      "hotelStarRating": {
        "isLinked": true
      },
      "hotelMedianRateNightly": {
        "isLinked": true
      }
    },
    "airPolicyRules": {
      "restrictedAirlines": {
        "isLinked": true
      },
      "restrictedAirCrafts": {
        "isLinked": true
      },
      "maxFlightBookingPriceByDuration": {
        "isLinked": true
      },
      "flightCabinUpgrade": {
        "isLinked": true
      },
      "flightAdvanceBookingWindow": {
        "isLinked": true
      },
      "flightTicketsRefundable": {
        "isLinked": true
      },
      "flightTicketsChangeable": {
        "isLinked": true
      },
      "highestFlightCabinByDurationDomestic": {
        "isLinked": true
      },
      "highestFlightCabinByDurationInternational": {
        "isLinked": true
      },
      "highestFlightCabinOvernight": {
        "isLinked": true
      },
      "differenceBetweenFlightFareAndMedianFare": {
        "isLinked": true
      },
      "co2EmissionPerPassengerPerKm": {
        "isLinked": true
      },
      "maxFlightBookingPriceInternational": {
        "isLinked": true
      },
      "maxFlightBookingPriceDomestic": {
        "isLinked": true
      },
      "lowestLogicalFare": {
        "isLinked": true
      }
    },
    "isRestrictive": true,
    "rules": [
      {
        "ruleType": "CAR_TYPES_NOT_ALLOWED",
        "action": {
          "preventBooking": {
            "prevent": false,
            "reason": "string"
          }
        },
        "policyValue": {
          "isLinked": true
        }
      }
    ],
    "airOopReasonCodes": {
      "props": {
        "reasonCodes": [
          {
            "entityId": "string",
            "displayInfo": "string",
            "questionFormat": "CHECKBOX",
            "options": [
              {
                "displayCode": "string",
                "displayValue": "string"
              }
            ],
            "isRequired": true,
            "isDisabled": true
          }
        ]
      }
    },
    "hotelOopReasonCodes": {
      "props": {
        "reasonCodes": [
          {
            "entityId": "string",
            "displayInfo": "string",
            "questionFormat": "CHECKBOX",
            "options": [
              {
                "displayCode": "string",
                "displayValue": "string"
              }
            ],
            "isRequired": true,
            "isDisabled": true
          }
        ]
      }
    },
    "carOopReasonCodes": {
      "props": {
        "reasonCodes": [
          {
            "entityId": "string",
            "displayInfo": "string",
            "questionFormat": "CHECKBOX",
            "options": [
              {
                "displayCode": "string",
                "displayValue": "string"
              }
            ],
            "isRequired": true,
            "isDisabled": true
          }
        ]
      }
    },
    "railOopReasonCodes": {
      "props": {
        "reasonCodes": [
          {
            "entityId": "string",
            "displayInfo": "string",
            "questionFormat": "CHECKBOX",
            "options": [
              {
                "displayCode": "string",
                "displayValue": "string"
              }
            ],
            "isRequired": true,
            "isDisabled": true
          }
        ]
      }
    },
    "category": "EMPLOYEE"
  }'

Responses

Created

Bodyapplication/json
idstring(uuid)required
Example: "b93dc51f-12dd-46c7-b7d6-1cb12cd3f5b3"
Response
application/json
{ "id": "b93dc51f-12dd-46c7-b7d6-1cb12cd3f5b3" }

List company policies

Request

This endpoint list company policies.

Security
Bearer
Path
companyIdstring(uuid)required

Identifier for company.

Example: 4974a66b-7493-4f41-908c-58ba81093947
Query
categoriesArray of strings(PolicyCategory)

Filter policies by categories. Defaults to EMPLOYEE if not provided.

Items Enum"EMPLOYEE""GUEST"
Example: categories=EMPLOYEE
curl -i -X GET \
  'https://api-ext-sboxmeta.partners.spotnana.com/v2/companies/4974a66b-7493-4f41-908c-58ba81093947/policies?categories=EMPLOYEE' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
lengthinteger(int32)
elementsArray of objects(Reference)

List of references containing id and name.

totalNumResultsinteger(int32)

Total number of results

Response
application/json
{ "length": 0, "elements": [ {} ], "totalNumResults": 0 }

Get policy

Request

This endpoint gets a policy by ID.

Security
Bearer
Path
companyIdstring(uuid)required

Identifier for company.

Example: 4974a66b-7493-4f41-908c-58ba81093947
policyIdstring(uuid)required

Identifier for policy.

Example: 4974a66b-7493-4f41-908c-58ba81093947
curl -i -X GET \
  https://api-ext-sboxmeta.partners.spotnana.com/v2/companies/4974a66b-7493-4f41-908c-58ba81093947/policies/4974a66b-7493-4f41-908c-58ba81093947 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
idstring(uuid)required
Example: "4974a66b-7493-4f41-908c-58ba81093947"
versioninteger(int32)
updatedAtobject(DateTimeOffset)
isMembershipViaHrFeedboolean

True if membership is via HR feed. Read-only.

Example: true
hrFeedPolicyDetailsobject(HrFeedPolicyDetails)
namestringrequired

Name of the policy.

typestring(PolicyType)required
Enum"DEFAULT""GROUP""INTERNAL"
parentPolicyIdstring(uuid)

Policy to inherit the values of linked rules. If empty, consider the company default policy.

Example: "f7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b"
currencyCurrencyCodeWrapper (object) or IsLinkedWrapper (object)(PolicyCurrency)required
One of:

Currency for the policy.

currency.​currencyCodestring

iso code of the currency.

Example: "USD"
inPolicyApprovalInfosArray of objects(PolicyApprovalInfo)
outOfPolicyApprovalInfosArray of objects(PolicyApprovalInfo)
outOfPolicyAgentApprovalInfosArray of objects(PolicyApprovalInfo)
enableAgentActionOverrideboolean

True if agent can override the PREVENT_BOOKING action. If enabled, outOfPolicyAgentApprovalInfos for all travel types should be provided.

userGroupsArray of objects(UserGroup)required
userGroups[].​userIdsArray of objects(UserId)
userGroups[].​legalEntityIdsArray of objects(EntityId)
userGroups[].​officeIdsArray of objects(EntityId)
userGroups[].​departmentsArray of strings

List of department ids.

userGroups[].​costCentersArray of strings

List of cost center ids.

userGroups[].​gradesArray of strings

List of grade ids.

userGroups[].​positionTitlesArray of strings
userGroups[].​personasArray of strings(Persona)
Items Enum"UNKNOWN_PERSONA""EMPLOYEE""GUEST""PERSONAL""RELATIVE""ADHOC"
Example: ["EMPLOYEE"]
userGroups[].​countryCodesArray of strings
Example: ["GB"]
userGroups[].​workerTypesArray of strings(WorkerType)
Items Enum"EMPLOYEE""CONTINGENT""SEASONAL""INTERN""GUEST"
Example: ["EMPLOYEE"]
userGroups[].​accountingCodesArray of strings
userGroups[].​customFieldIdsArray of objects(CustomFieldId)Deprecated
commonPolicyRulesobject(CommonPolicyRules)
carPolicyRulesobject(CarPolicyRules)
hotelPolicyRulesobject(HotelPolicyRules)
airPolicyRulesobject(AirPolicyRules)
rulesArray of objects(UniversalRule)

A list of general policy rules for all travel types air, hotel, car and rail.

airOopReasonCodesOopReasonCodesPropsWrapper (object) or IsLinkedWrapper (object)(OopReasonCodes)
One of:

Out of policy reason code question to be asked to user for air booking.

hotelOopReasonCodesOopReasonCodesPropsWrapper (object) or IsLinkedWrapper (object)(OopReasonCodes)
One of:

Out of policy reason code question to be asked to user for hotel booking.

carOopReasonCodesOopReasonCodesPropsWrapper (object) or IsLinkedWrapper (object)(OopReasonCodes)
One of:

Out of policy reason code question to be asked to user for car booking.

railOopReasonCodesOopReasonCodesPropsWrapper (object) or IsLinkedWrapper (object)(OopReasonCodes)
One of:

Out of policy reason code question to be asked to user for rail booking.

categorystring(PolicyCategory)
Default "EMPLOYEE"
Enum"EMPLOYEE""GUEST"
inPolicyApprovalInfoobject(PolicyApprovalInfo)Deprecated
outOfPolicyApprovalInfoobject(PolicyApprovalInfo)Deprecated
isRestrictivebooleanDeprecated

True if policy is a restrictive policy.

Example: true
Response
application/json
{ "id": "4974a66b-7493-4f41-908c-58ba81093947", "version": 0, "updatedAt": { "iso8601": "2017-07-21T17:32Z" }, "isMembershipViaHrFeed": true, "hrFeedPolicyDetails": { "totalMemberCount": 0 }, "name": "string", "type": "GROUP", "parentPolicyId": "f7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b", "currency": { "currencyCode": "USD" }, "inPolicyApprovalInfo": { "approvalProcessType": "NONE", "designatedApprovers": [], "isManagerApprover": false, "isEmployeeLevelDesignatedApprover": false, "shouldNotifyManager": false, "travelTypes": [], "approvalConditions": [], "defaultApprovers": [] }, "outOfPolicyApprovalInfo": { "approvalProcessType": "NONE", "designatedApprovers": [], "isManagerApprover": false, "isEmployeeLevelDesignatedApprover": false, "shouldNotifyManager": false, "travelTypes": [], "approvalConditions": [], "defaultApprovers": [] }, "inPolicyApprovalInfos": [ {} ], "outOfPolicyApprovalInfos": [ {} ], "outOfPolicyAgentApprovalInfos": [ {} ], "enableAgentActionOverride": true, "userGroups": [ {} ], "commonPolicyRules": { "restrictedContinents": {}, "restrictedCountries": {} }, "carPolicyRules": { "maxCarPricePerNumberOfDays": {}, "allowedCarTypes": {} }, "hotelPolicyRules": { "restrictedHotels": {}, "maxHotelPriceByLocation": {}, "hotelAdvanceBookingWindow": {}, "hotelCancellation": {}, "hotelChainCodes": {}, "hotelStarRating": {}, "hotelMedianRateNightly": {} }, "airPolicyRules": { "restrictedAirlines": {}, "restrictedAirCrafts": {}, "maxFlightBookingPriceByDuration": {}, "flightCabinUpgrade": {}, "flightAdvanceBookingWindow": {}, "flightTicketsRefundable": {}, "flightTicketsChangeable": {}, "highestFlightCabinByDurationDomestic": {}, "highestFlightCabinByDurationInternational": {}, "highestFlightCabinOvernight": {}, "differenceBetweenFlightFareAndMedianFare": {}, "co2EmissionPerPassengerPerKm": {}, "maxFlightBookingPriceInternational": {}, "maxFlightBookingPriceDomestic": {}, "lowestLogicalFare": {} }, "isRestrictive": true, "rules": [ {} ], "airOopReasonCodes": { "props": {} }, "hotelOopReasonCodes": { "props": {} }, "carOopReasonCodes": { "props": {} }, "railOopReasonCodes": { "props": {} }, "category": "EMPLOYEE" }

Update policy

Request

This endpoint updates a policy by ID.

Security
Bearer
Path
companyIdstring(uuid)required

Identifier for company.

Example: 4974a66b-7493-4f41-908c-58ba81093947
policyIdstring(uuid)required

Identifier for policy.

Example: 4974a66b-7493-4f41-908c-58ba81093947
Bodyapplication/jsonrequired
idstring(uuid)required
Example: "4974a66b-7493-4f41-908c-58ba81093947"
versioninteger(int32)
updatedAtobject(DateTimeOffset)
isMembershipViaHrFeedboolean

True if membership is via HR feed. Read-only.

Example: true
hrFeedPolicyDetailsobject(HrFeedPolicyDetails)
namestringrequired

Name of the policy.

typestring(PolicyType)required
Enum"DEFAULT""GROUP""INTERNAL"
parentPolicyIdstring(uuid)

Policy to inherit the values of linked rules. If empty, consider the company default policy.

Example: "f7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b"
currencyCurrencyCodeWrapper (object) or IsLinkedWrapper (object)(PolicyCurrency)required
One of:

Currency for the policy.

currency.​currencyCodestring

iso code of the currency.

Example: "USD"
inPolicyApprovalInfosArray of objects(PolicyApprovalInfo)
outOfPolicyApprovalInfosArray of objects(PolicyApprovalInfo)
outOfPolicyAgentApprovalInfosArray of objects(PolicyApprovalInfo)
enableAgentActionOverrideboolean

True if agent can override the PREVENT_BOOKING action. If enabled, outOfPolicyAgentApprovalInfos for all travel types should be provided.

userGroupsArray of objects(UserGroup)required
userGroups[].​userIdsArray of objects(UserId)
userGroups[].​legalEntityIdsArray of objects(EntityId)
userGroups[].​officeIdsArray of objects(EntityId)
userGroups[].​departmentsArray of strings

List of department ids.

userGroups[].​costCentersArray of strings

List of cost center ids.

userGroups[].​gradesArray of strings

List of grade ids.

userGroups[].​positionTitlesArray of strings
userGroups[].​personasArray of strings(Persona)
Items Enum"UNKNOWN_PERSONA""EMPLOYEE""GUEST""PERSONAL""RELATIVE""ADHOC"
Example: ["EMPLOYEE"]
userGroups[].​countryCodesArray of strings
Example: ["GB"]
userGroups[].​workerTypesArray of strings(WorkerType)
Items Enum"EMPLOYEE""CONTINGENT""SEASONAL""INTERN""GUEST"
Example: ["EMPLOYEE"]
userGroups[].​accountingCodesArray of strings
userGroups[].​customFieldIdsArray of objects(CustomFieldId)Deprecated
commonPolicyRulesobject(CommonPolicyRules)
carPolicyRulesobject(CarPolicyRules)
hotelPolicyRulesobject(HotelPolicyRules)
airPolicyRulesobject(AirPolicyRules)
rulesArray of objects(UniversalRule)

A list of general policy rules for all travel types air, hotel, car and rail.

airOopReasonCodesOopReasonCodesPropsWrapper (object) or IsLinkedWrapper (object)(OopReasonCodes)
One of:

Out of policy reason code question to be asked to user for air booking.

hotelOopReasonCodesOopReasonCodesPropsWrapper (object) or IsLinkedWrapper (object)(OopReasonCodes)
One of:

Out of policy reason code question to be asked to user for hotel booking.

carOopReasonCodesOopReasonCodesPropsWrapper (object) or IsLinkedWrapper (object)(OopReasonCodes)
One of:

Out of policy reason code question to be asked to user for car booking.

railOopReasonCodesOopReasonCodesPropsWrapper (object) or IsLinkedWrapper (object)(OopReasonCodes)
One of:

Out of policy reason code question to be asked to user for rail booking.

categorystring(PolicyCategory)
Default "EMPLOYEE"
Enum"EMPLOYEE""GUEST"
inPolicyApprovalInfoobject(PolicyApprovalInfo)Deprecated
outOfPolicyApprovalInfoobject(PolicyApprovalInfo)Deprecated
isRestrictivebooleanDeprecated

True if policy is a restrictive policy.

Example: true
curl -i -X PUT \
  https://api-ext-sboxmeta.partners.spotnana.com/v2/companies/4974a66b-7493-4f41-908c-58ba81093947/policies/4974a66b-7493-4f41-908c-58ba81093947 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "id": "4974a66b-7493-4f41-908c-58ba81093947",
    "version": 0,
    "updatedAt": {
      "iso8601": "2017-07-21T17:32Z"
    },
    "isMembershipViaHrFeed": true,
    "hrFeedPolicyDetails": {
      "totalMemberCount": 0
    },
    "name": "string",
    "type": "GROUP",
    "parentPolicyId": "f7b3b3b3-7b3b-4b3b-8b3b-3b3b3b3b3b3b",
    "currency": {
      "currencyCode": "USD"
    },
    "inPolicyApprovalInfo": {
      "approvalProcessType": "NONE",
      "designatedApprovers": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
        }
      ],
      "isManagerApprover": false,
      "isEmployeeLevelDesignatedApprover": false,
      "shouldNotifyManager": false,
      "travelTypes": [
        "AIR"
      ],
      "approvalConditions": [
        {
          "rules": [
            {
              "travelRegionRule": {
                "travelRegionType": "DOMESTIC"
              }
            }
          ]
        }
      ],
      "defaultApprovers": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
        }
      ]
    },
    "outOfPolicyApprovalInfo": {
      "approvalProcessType": "NONE",
      "designatedApprovers": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
        }
      ],
      "isManagerApprover": false,
      "isEmployeeLevelDesignatedApprover": false,
      "shouldNotifyManager": false,
      "travelTypes": [
        "AIR"
      ],
      "approvalConditions": [
        {
          "rules": [
            {
              "travelRegionRule": {
                "travelRegionType": "DOMESTIC"
              }
            }
          ]
        }
      ],
      "defaultApprovers": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
        }
      ]
    },
    "inPolicyApprovalInfos": [
      {
        "approvalProcessType": "NONE",
        "designatedApprovers": [
          {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          }
        ],
        "isManagerApprover": false,
        "isEmployeeLevelDesignatedApprover": false,
        "shouldNotifyManager": false,
        "travelTypes": [
          "AIR"
        ],
        "approvalConditions": [
          {
            "rules": [
              {
                "travelRegionRule": {}
              }
            ]
          }
        ],
        "defaultApprovers": [
          {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          }
        ]
      }
    ],
    "outOfPolicyApprovalInfos": [
      {
        "approvalProcessType": "NONE",
        "designatedApprovers": [
          {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          }
        ],
        "isManagerApprover": false,
        "isEmployeeLevelDesignatedApprover": false,
        "shouldNotifyManager": false,
        "travelTypes": [
          "AIR"
        ],
        "approvalConditions": [
          {
            "rules": [
              {
                "travelRegionRule": {}
              }
            ]
          }
        ],
        "defaultApprovers": [
          {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          }
        ]
      }
    ],
    "outOfPolicyAgentApprovalInfos": [
      {
        "approvalProcessType": "NONE",
        "designatedApprovers": [
          {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          }
        ],
        "isManagerApprover": false,
        "isEmployeeLevelDesignatedApprover": false,
        "shouldNotifyManager": false,
        "travelTypes": [
          "AIR"
        ],
        "approvalConditions": [
          {
            "rules": [
              {
                "travelRegionRule": {}
              }
            ]
          }
        ],
        "defaultApprovers": [
          {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          }
        ]
      }
    ],
    "enableAgentActionOverride": true,
    "userGroups": [
      {
        "userIds": [
          {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          }
        ],
        "legalEntityIds": [
          {
            "id": "b93dc51f-12dd-46c7-b7d6-1cb12cd3f5b3"
          }
        ],
        "officeIds": [
          {
            "id": "b93dc51f-12dd-46c7-b7d6-1cb12cd3f5b3"
          }
        ],
        "departments": [
          "string"
        ],
        "costCenters": [
          "string"
        ],
        "grades": [
          "string"
        ],
        "positionTitles": [
          "string"
        ],
        "personas": [
          "EMPLOYEE"
        ],
        "customFieldIds": [
          {
            "type": "QUESTION",
            "externalId": "string"
          }
        ],
        "countryCodes": [
          "GB"
        ],
        "workerTypes": [
          "EMPLOYEE"
        ],
        "accountingCodes": [
          "string"
        ]
      }
    ],
    "commonPolicyRules": {
      "restrictedContinents": {
        "isLinked": true
      },
      "restrictedCountries": {
        "isLinked": true
      }
    },
    "carPolicyRules": {
      "maxCarPricePerNumberOfDays": {
        "isLinked": true
      },
      "allowedCarTypes": {
        "isLinked": true
      }
    },
    "hotelPolicyRules": {
      "restrictedHotels": {
        "isLinked": true
      },
      "maxHotelPriceByLocation": {
        "isLinked": true
      },
      "hotelAdvanceBookingWindow": {
        "isLinked": true
      },
      "hotelCancellation": {
        "isLinked": true
      },
      "hotelChainCodes": {
        "isLinked": true
      },
      "hotelStarRating": {
        "isLinked": true
      },
      "hotelMedianRateNightly": {
        "isLinked": true
      }
    },
    "airPolicyRules": {
      "restrictedAirlines": {
        "isLinked": true
      },
      "restrictedAirCrafts": {
        "isLinked": true
      },
      "maxFlightBookingPriceByDuration": {
        "isLinked": true
      },
      "flightCabinUpgrade": {
        "isLinked": true
      },
      "flightAdvanceBookingWindow": {
        "isLinked": true
      },
      "flightTicketsRefundable": {
        "isLinked": true
      },
      "flightTicketsChangeable": {
        "isLinked": true
      },
      "highestFlightCabinByDurationDomestic": {
        "isLinked": true
      },
      "highestFlightCabinByDurationInternational": {
        "isLinked": true
      },
      "highestFlightCabinOvernight": {
        "isLinked": true
      },
      "differenceBetweenFlightFareAndMedianFare": {
        "isLinked": true
      },
      "co2EmissionPerPassengerPerKm": {
        "isLinked": true
      },
      "maxFlightBookingPriceInternational": {
        "isLinked": true
      },
      "maxFlightBookingPriceDomestic": {
        "isLinked": true
      },
      "lowestLogicalFare": {
        "isLinked": true
      }
    },
    "isRestrictive": true,
    "rules": [
      {
        "ruleType": "CAR_TYPES_NOT_ALLOWED",
        "action": {
          "preventBooking": {
            "prevent": false,
            "reason": "string"
          }
        },
        "policyValue": {
          "isLinked": true
        }
      }
    ],
    "airOopReasonCodes": {
      "props": {
        "reasonCodes": [
          {
            "entityId": "string",
            "displayInfo": "string",
            "questionFormat": "CHECKBOX",
            "options": [
              {
                "displayCode": "string",
                "displayValue": "string"
              }
            ],
            "isRequired": true,
            "isDisabled": true
          }
        ]
      }
    },
    "hotelOopReasonCodes": {
      "props": {
        "reasonCodes": [
          {
            "entityId": "string",
            "displayInfo": "string",
            "questionFormat": "CHECKBOX",
            "options": [
              {
                "displayCode": "string",
                "displayValue": "string"
              }
            ],
            "isRequired": true,
            "isDisabled": true
          }
        ]
      }
    },
    "carOopReasonCodes": {
      "props": {
        "reasonCodes": [
          {
            "entityId": "string",
            "displayInfo": "string",
            "questionFormat": "CHECKBOX",
            "options": [
              {
                "displayCode": "string",
                "displayValue": "string"
              }
            ],
            "isRequired": true,
            "isDisabled": true
          }
        ]
      }
    },
    "railOopReasonCodes": {
      "props": {
        "reasonCodes": [
          {
            "entityId": "string",
            "displayInfo": "string",
            "questionFormat": "CHECKBOX",
            "options": [
              {
                "displayCode": "string",
                "displayValue": "string"
              }
            ],
            "isRequired": true,
            "isDisabled": true
          }
        ]
      }
    },
    "category": "EMPLOYEE"
  }'

Responses

Updated Successfully

Response
No content

Delete policy

Request

This endpoint deletes a policy by ID.

Security
Bearer
Path
companyIdstring(uuid)required

Identifier for company.

Example: 4974a66b-7493-4f41-908c-58ba81093947
policyIdstring(uuid)required

Identifier for policy.

Example: 4974a66b-7493-4f41-908c-58ba81093947
curl -i -X DELETE \
  https://api-ext-sboxmeta.partners.spotnana.com/v2/companies/4974a66b-7493-4f41-908c-58ba81093947/policies/4974a66b-7493-4f41-908c-58ba81093947 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

No Content

Response
No content

Custom Fields

APIs to manage company custom fields.

Operations