Company API (v2)

Download OpenAPI description
Languages
Servers
Mock server
https://developer.spotnana.com/_mock/openapi/companyapi/
Staging URL
https://apis.spotnana.com/

Companies

APIs to onboard and manage company.

Operations

Create company

Request

This endpoint creates a company. This is allowed only by TMC_ADMIN and above roles.

Bodyapplication/jsonrequired
namestringrequired

Company name

Example: "Spotnana"
emailDomainsArray of stringsunique

List of the company email domains

Example: ["spotnana.com"]
billingCurrencystringrequired

Billing currency of the company

Example: "INR"
phoneNumbersArray of objects(PhoneNumber)

List of company phone numbers

emergencyContactInfosArray of objects(EmergencyContactInfo)

List of company emergency contacts

isSelfSignUpEnabledboolean

Boolean to show if company has self sign up enabled.

Example: true
announcementsArray of objects(Announcement)

Company announcements

companyLogoobject(Image)

An image with meta data. Either the data or url property must be supplied to load the image.

contractedByobject(CompanyId)

Company ID

companyRolesArray of strings(CompanyRole)required

Company roles

Items Enum"ORG""TMC""PARTNER_TMC""HR_FEED_CONNECTOR""TRIPS_DATA_CONNECTOR"
Example: ["ORG"]
supportConfigsArray of objects(SupportConfig)

Support Configs for company

ccEmailAddressesArray of strings

List of email addresses on which all confirmation emails will be cced. This is applicable only for company roles 'ORG'

Example: ["example@gmail.com"]
bccEmailAddressesArray of strings

List of email addresses on which all confirmation emails will be bcced. This is applicable only for company roles 'ORG'

Example: ["example@gmail.com"]
postalAddressobject(PostalAddress)

Postal Address Details

redirectUrlstring

Redirect URL for the company. It is applicable only for company roles 'PARTNER_TMC'

tmcDefaultConfigurationobject(TmcDefaultConfiguration)

Default TMC configuration.

expensePartnerConfigobject(ExpensePartnerConfig)

Expense Partner Configuration

mobileRedirectUrlstring

Redirect URL for the company for mobile. It is applicable only for company roles 'PARTNER_TMC'

applicableCustomFieldTypesArray of strings(CustomFieldType)

List of custom fields supported by the company.

Items Enum"QUESTION""MEETING""BUDGET""BREX_TOKEN"
oauthPartnerConfigobject(OAuthPartnerConfig)

Config for token exchange in case of partner's have their own IDP.

privacySettingsobject(PrivacySettings)

Privacy settings for a company.

emailClientConfigobject(EmailClientConfig)

Email Client Config

externalIdstring

External id for legal entity.

Example: "company-external-id"
isFakeboolean

Whether the company is a fake company for testing. This is for internal use.

Default false
Example: false
tmcPartnerRoleMappingsArray of objects(TmcPartnerRoleMapping)

list of individual role mappings between spotnana and partner.

loyaltyBlockedCountriesArray of strings

List of 2 letter country codes where business travelers should not be allowed to add loyalty info.

Example: ["US","IN"]
allowDomainBasedAuthConfigboolean

Whether to allow user to get auth config based on email domain

Default false
carbonCostConfigobject(CarbonCostConfig)

The config is used to calculate carbon cost of CO2 emission.

defaultBookingTmcIdobject(CompanyId)

Company ID

supportConfigobject(SupportConfig)Deprecated

Support Configuration for company

rewardsProgramobject(RewardsProgram)Deprecated

Rewards program details.

curl -i -X POST \
  https://developer.spotnana.com/_mock/openapi/companyapi/v2/companies \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Spotnana",
    "emailDomains": [
      "spotnana.com"
    ],
    "billingCurrency": "INR",
    "phoneNumbers": [
      {
        "countryCode": 91,
        "countryCodeSource": "FROM_NUMBER_WITH_PLUS_SIGN",
        "extension": "222",
        "isoCountryCode": "IN",
        "italianLeadingZero": true,
        "nationalNumber": 8150,
        "numberOfLeadingZeros": 1,
        "preferredDomesticCarrierCode": "7",
        "rawInput": "77777",
        "type": "MOBILE"
      }
    ],
    "emergencyContactInfos": [
      {
        "address": {
          "addressLines": [
            "Golden Gate Bridge"
          ],
          "administrativeArea": "CA",
          "administrativeAreaName": "California",
          "description": "San Francisco Home",
          "isDefault": true,
          "languageCode": "en",
          "locality": "San Francisco",
          "locationCode": "LAX",
          "organization": "Spotnana",
          "postalCode": "94130",
          "continentCode": "AF",
          "recipients": [
            "string"
          ],
          "regionCode": "US",
          "regionName": "America",
          "revision": 1,
          "sortingCode": "Jamaica",
          "sublocality": "string",
          "timezone": "America/Los_Angeles",
          "coordinates": {
            "latitude": 77.1025,
            "longitude": 28.7041
          }
        },
        "designation": "MANAGER",
        "email": "emergency-contact@email.com",
        "name": {
          "family1": "Gandas",
          "family2": "FamilyTwo",
          "given": "Vichitr",
          "middle": "Kumar",
          "suffix": "SR",
          "preferred": "Don"
        },
        "phoneNumber": {
          "countryCode": 91,
          "countryCodeSource": "FROM_NUMBER_WITH_PLUS_SIGN",
          "extension": "222",
          "isoCountryCode": "IN",
          "italianLeadingZero": true,
          "nationalNumber": 8150,
          "numberOfLeadingZeros": 1,
          "preferredDomesticCarrierCode": "7",
          "rawInput": "77777",
          "type": "MOBILE"
        },
        "userOrgId": {
          "organizationAgencyId": {
            "id": "string"
          },
          "organizationId": {
            "id": "string"
          },
          "userId": {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          },
          "tmcInfo": {
            "id": {
              "id": "f49d00fe-1eda-4304-ba79-a980f565281d"
            },
            "primaryServiceProviderTmc": {
              "tmcId": {
                "id": "f49d00fe-1eda-4304-ba79-a980f565281d"
              }
            },
            "secondaryServiceProviderTmcs": [
              {
                "tmcId": {},
                "supplier": "SABRE",
                "travelType": "AIR"
              }
            ],
            "partnerTmcId": {
              "id": "f49d00fe-1eda-4304-ba79-a980f565281d"
            }
          },
          "tmcBasicInfo": {
            "contractingTmc": {
              "id": {
                "id": "f49d00fe-1eda-4304-ba79-a980f565281d"
              },
              "name": "string",
              "logo": {
                "data": "6935813e12584abda0e43d71cd2ea260",
                "dimensions": {},
                "url": "https://static.wixstatic.com/media/73f2e2_6935813e12584abda0e43d71cd2ea260~mv2.png/v1/fill/w_630,h_94,al_c,q_85,usm_0.66_1.00_0.01/Spotnana%403x.webp"
              }
            },
            "bookingTmc": {
              "id": {
                "id": "f49d00fe-1eda-4304-ba79-a980f565281d"
              },
              "name": "string",
              "logo": {
                "data": "6935813e12584abda0e43d71cd2ea260",
                "dimensions": {},
                "url": "https://static.wixstatic.com/media/73f2e2_6935813e12584abda0e43d71cd2ea260~mv2.png/v1/fill/w_630,h_94,al_c,q_85,usm_0.66_1.00_0.01/Spotnana%403x.webp"
              }
            }
          }
        }
      }
    ],
    "isSelfSignUpEnabled": true,
    "announcements": [
      {
        "title": "Spotnana on Mission to Unbundle Travel",
        "description": "Amex Ventures Joins Spotnana on Mission to Unbundle Travel.",
        "linkUrl": "https://medium.com/inside-spotnana/amex-ventures-joins-spotnana-on-mission-to-unbundle-travel-3cdb2ecceff4",
        "linkDisplayText": "New announcement"
      }
    ],
    "companyLogo": {
      "data": "6935813e12584abda0e43d71cd2ea260",
      "dimensions": {
        "height": 120,
        "width": 240
      },
      "url": "https://static.wixstatic.com/media/73f2e2_6935813e12584abda0e43d71cd2ea260~mv2.png/v1/fill/w_630,h_94,al_c,q_85,usm_0.66_1.00_0.01/Spotnana%403x.webp"
    },
    "contractedBy": {
      "id": "f49d00fe-1eda-4304-ba79-a980f565281d"
    },
    "companyRoles": [
      "ORG"
    ],
    "supportConfig": {
      "contactNumbers": [
        {
          "countryCode": 91,
          "countryCodeSource": "FROM_NUMBER_WITH_PLUS_SIGN",
          "extension": "222",
          "isoCountryCode": "IN",
          "italianLeadingZero": true,
          "nationalNumber": 8150,
          "numberOfLeadingZeros": 1,
          "preferredDomesticCarrierCode": "7",
          "rawInput": "77777",
          "type": "MOBILE"
        }
      ],
      "emailAddresses": [
        "support@spotnana.com"
      ],
      "freshdeskConfig": {
        "enabled": true,
        "hasCredentials": false,
        "credentials": {
          "webCredentials": {
            "domain": "string",
            "appId": "string",
            "appKey": "string"
          },
          "mobileCredentials": {
            "domain": "string",
            "appId": "string",
            "appKey": "string"
          }
        }
      },
      "tier": "SEAT1A",
      "genesysConfig": {
        "enabled": true,
        "dataUrl": "string"
      },
      "portalUrls": [
        "www.support.spotnana.com"
      ],
      "zendeskConfig": {
        "enabled": true,
        "integrationId": "1234567890",
        "androidIntegrationId": "1234567890",
        "iosIntegrationId": "1234567890"
      },
      "genesysCloudConfig": {
        "enabled": true,
        "deploymentId": "52dc2a6f-772a-4edf-96d3-b3f0c49400a7",
        "environment": "usa-1",
        "genesysScriptUrl": "https://test.test.com"
      },
      "twilioChatConfig": {
        "enabled": true
      }
    },
    "supportConfigs": [
      {
        "contactNumbers": [
          {
            "countryCode": 91,
            "countryCodeSource": "FROM_NUMBER_WITH_PLUS_SIGN",
            "extension": "222",
            "isoCountryCode": "IN",
            "italianLeadingZero": true,
            "nationalNumber": 8150,
            "numberOfLeadingZeros": 1,
            "preferredDomesticCarrierCode": "7",
            "rawInput": "77777",
            "type": "MOBILE"
          }
        ],
        "emailAddresses": [
          "support@spotnana.com"
        ],
        "freshdeskConfig": {
          "enabled": true,
          "hasCredentials": false,
          "credentials": {
            "webCredentials": {
              "domain": "string",
              "appId": "string",
              "appKey": "string"
            },
            "mobileCredentials": {
              "domain": "string",
              "appId": "string",
              "appKey": "string"
            }
          }
        },
        "tier": "SEAT1A",
        "genesysConfig": {
          "enabled": true,
          "dataUrl": "string"
        },
        "portalUrls": [
          "www.support.spotnana.com"
        ],
        "zendeskConfig": {
          "enabled": true,
          "integrationId": "1234567890",
          "androidIntegrationId": "1234567890",
          "iosIntegrationId": "1234567890"
        },
        "genesysCloudConfig": {
          "enabled": true,
          "deploymentId": "52dc2a6f-772a-4edf-96d3-b3f0c49400a7",
          "environment": "usa-1",
          "genesysScriptUrl": "https://test.test.com"
        },
        "twilioChatConfig": {
          "enabled": true
        }
      }
    ],
    "ccEmailAddresses": [
      "example@gmail.com"
    ],
    "bccEmailAddresses": [
      "example@gmail.com"
    ],
    "postalAddress": {
      "addressLines": [
        "Golden Gate Bridge"
      ],
      "administrativeArea": "CA",
      "administrativeAreaName": "California",
      "description": "San Francisco Home",
      "isDefault": true,
      "languageCode": "en",
      "locality": "San Francisco",
      "locationCode": "LAX",
      "organization": "Spotnana",
      "postalCode": "94130",
      "continentCode": "AF",
      "recipients": [
        "string"
      ],
      "regionCode": "US",
      "regionName": "America",
      "revision": 1,
      "sortingCode": "Jamaica",
      "sublocality": "string",
      "timezone": "America/Los_Angeles",
      "coordinates": {
        "latitude": 77.1025,
        "longitude": 28.7041
      }
    },
    "redirectUrl": "string",
    "rewardsProgram": {
      "allowedUserRoles": [
        "TRAVEL_ARRANGER"
      ],
      "conversionRate": {
        "currencyCode": "USD",
        "rate": 0.1
      },
      "redeemablePaymentMethods": [
        "BREX_POINTS"
      ],
      "backingCurrency": [
        "USD"
      ]
    },
    "tmcDefaultConfiguration": {
      "defaultBookingTmcId": "734f4ea2-e9ed-4c90-853c-9eed62f1254b",
      "countryWiseBookingTmcs": [
        {
          "countryCode": "US",
          "bookingTmcId": "734f4ea2-e9ed-4c90-853c-9eed62f1254b"
        }
      ]
    },
    "expensePartnerConfig": {
      "partner": "EXPENSIFY",
      "emailConfig": {
        "personalCardConfig": {
          "sendToTraveler": false,
          "personalCardExpenseEmail": "user@company.com"
        },
        "centralCardExpenseEmail": "finance+le@company.com",
        "expensePartnerEmail": "receipts@expensify.com",
        "bccEmail": "docs@company.com"
      },
      "travelType": [
        "AIR"
      ],
      "isExpensePartnerEnabled": true,
      "reportCustomFields": true,
      "personalCardExpenseOwner": {
        "traveler": true,
        "centralEmail": "docs@company.com"
      },
      "centralCardExpenseOwner": {
        "traveler": true,
        "centralEmail": "docs@company.com"
      },
      "partnerReferralId": "1234hgd",
      "itineraryConfig": {
        "skipModificationUpdate": true,
        "skipCancellationUpdate": true
      }
    },
    "mobileRedirectUrl": "string",
    "applicableCustomFieldTypes": [
      "QUESTION"
    ],
    "oauthPartnerConfig": {
      "name": "string",
      "userDetailEndpoint": {
        "url": "string",
        "authHeaderName": "string",
        "userIdentifierType": "PID",
        "responseAttributes": [
          {
            "name": "PID",
            "jsonXpath": "$.user.email"
          }
        ]
      },
      "tokenVerifier": {
        "doVerifyToken": true,
        "type": "OKTA_JWT",
        "verifierDetails": {
          "oktaJwtVerifier": {
            "oauthUrl": "string",
            "audience": "string"
          }
        }
      },
      "doPersistToken": true
    },
    "privacySettings": {
      "allowCompanyAdminAccessToRelativesInfo": true
    },
    "emailClientConfig": {
      "client": "SENDGRID",
      "credentials": {
        "emailClientSecretKey": {
          "secretKey": "SECRET_KEY",
          "versionId": "1"
        }
      },
      "defaultSenderAddress": "test@somedomain.com",
      "defaultSenderName": "Test Sender"
    },
    "externalId": "company-external-id",
    "isFake": false,
    "tmcPartnerRoleMappings": [
      {
        "partnerRole": "string",
        "spotnanaRole": "TRAVEL_ARRANGER"
      }
    ],
    "loyaltyBlockedCountries": [
      "US",
      "IN"
    ],
    "allowDomainBasedAuthConfig": false,
    "carbonCostConfig": {
      "price": {
        "amount": 510,
        "currencyCode": "GBP",
        "convertedAmount": 715.42,
        "convertedCurrency": "USD",
        "otherCoinage": [
          {
            "coinageCode": "BREX_POINTS",
            "amount": 1000,
            "conversionRate": 0.01,
            "preferredCurrencyConversionRate": 0.01
          }
        ]
      },
      "weight": {
        "weight": 150,
        "unit": "KG"
      }
    },
    "defaultBookingTmcId": {
      "id": "f49d00fe-1eda-4304-ba79-a980f565281d"
    }
  }'

Responses

Created

Bodyapplication/json
idstring(uuid)required
Response
application/json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08" }

List companies

Request

This endpoint lists companies. If externalId is provided in query param, only the company having the specified external ID is returned.

Query
externalIdstring

External id of the entity.

Example: externalId=my-external-id
companyRolestring(CompanyRole)

Filter by a particular role

Enum"ORG""TMC""PARTNER_TMC""HR_FEED_CONNECTOR""TRIPS_DATA_CONNECTOR"
Example: companyRole=ORG
companyIdsArray of strings(uuid)

Filter by a list of companies

curl -i -X GET \
  'https://developer.spotnana.com/_mock/openapi/companyapi/v2/companies?companyIds=497f6eca-6276-4993-bfeb-53cbbbba6f08&companyRole=ORG&externalId=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
lengthinteger(int32)
elementsArray of objects(Reference object containing uuid and name of the entity.)

List of references containing id and name.

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

Get company

Request

This endpoint gets a company by ID.

Path
companyIdstringrequired

Identifier for company. External id can be supplied in X prefixed form. For instance, if external_id = abc, then Xabc, has to be passed.

Example: 4974a66b-7493-4f41-908c-58ba81093947
Headers
x-application-idstring(uuid)
Example: 4974a66b-7493-4f41-908c-58ba81093947
curl -i -X GET \
  'https://developer.spotnana.com/_mock/openapi/companyapi/v2/companies/{companyId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'x-application-id: 497f6eca-6276-4993-bfeb-53cbbbba6f08'

Responses

OK

Bodyapplication/json
idobject(CompanyId)required

Company ID

id.​idstring(uuid)required
Example: "f49d00fe-1eda-4304-ba79-a980f565281d"
namestringrequired

Company name

Example: "Spotnana"
emailDomainsArray of stringsunique

List of the company email domains

Example: ["spotnana.com"]
billingCurrencystringrequired

Billing currency of the company

Example: "INR"
phoneNumbersArray of objects(PhoneNumber)

List of company phone numbers

emergencyContactInfosArray of objects(EmergencyContactInfo)

List of company emergency contacts

isSelfSignUpEnabledboolean

Boolean to show if company has self sign up enabled.

Example: true
announcementsArray of objects(Announcement)

Company announcements

companyLogoobject(Image)

An image with meta data. Either the data or url property must be supplied to load the image.

contractedByobject(CompanyId)

Company ID

isActiveboolean

Boolean to show if this is an active company.

companyRolesArray of strings(CompanyRole)required

Company roles

Items Enum"ORG""TMC""PARTNER_TMC""HR_FEED_CONNECTOR""TRIPS_DATA_CONNECTOR"
Example: ["ORG"]
ccEmailAddressesArray of strings

List of email addresses on which all confirmation emails will be cced. This is applicable only for company roles 'ORG'

Example: ["example@gmail.com"]
bccEmailAddressesArray of strings

List of email addresses on which all confirmation emails will be bcced. This is applicable only for company roles 'ORG'

Example: ["example@gmail.com"]
connectorsArray of objects(Connector)

Connectors related to company.

postalAddressobject(PostalAddress)

Postal Address Details

redirectUrlstring

Redirect URL for the company. It is applicable only for company roles 'PARTNER_TMC'

tmcDefaultConfigurationobject(TmcDefaultConfiguration)

Default TMC configuration.

expensePartnerConfigobject(ExpensePartnerConfig)

Expense Partner Configuration

mobileRedirectUrlstring

Redirect URL for the company for mobile. It is applicable only for company roles 'PARTNER_TMC'

applicableCustomFieldTypesArray of strings(CustomFieldType)

List of custom fields supported by the company.

Items Enum"QUESTION""MEETING""BUDGET""BREX_TOKEN"
oauthPartnerConfigobject(OAuthPartnerConfig)

Config for token exchange in case of partner's have their own IDP.

privacySettingsobject(PrivacySettings)

Privacy settings for a company.

designationTreeobject(DesignationNode)

Designation tree for company showing who reports whom.

externalIdstring

External id to be linked with this.

Example: "MyCompanyId"
emailClientConfigobject(EmailClientConfig)

Email Client Config

isFakeboolean

Whether the company is a fake company for testing. This is for internal use.

Default false
Example: false
tmcPartnerRoleMappingsArray of objects(TmcPartnerRoleMapping)

list of individual role mappings between spotnana and partner.

supportConfigsobject(SupportConfigs)
loyaltyBlockedCountriesArray of strings

List of 2 letter country codes where business travelers should not be allowed to add loyalty info.

Example: ["US","IN"]
allowDomainBasedAuthConfigboolean

Whether to allow user to get auth config based on email domain

Default false
carbonCostConfigobject(CarbonCostConfig)

The config is used to calculate carbon cost of CO2 emission.

defaultBookingTmcIdobject(CompanyId)

Company ID

supportConfigobject(SupportConfig)Deprecated

Support Configuration for company

rewardsProgramobject(RewardsProgram)Deprecated

Rewards program details.

Response
application/json
{ "id": { "id": "f49d00fe-1eda-4304-ba79-a980f565281d" }, "name": "Spotnana", "emailDomains": [ "spotnana.com" ], "billingCurrency": "INR", "phoneNumbers": [ { … } ], "emergencyContactInfos": [ { … } ], "isSelfSignUpEnabled": true, "announcements": [ { … } ], "companyLogo": { "data": "6935813e12584abda0e43d71cd2ea260", "dimensions": { … }, "url": "https://static.wixstatic.com/media/73f2e2_6935813e12584abda0e43d71cd2ea260~mv2.png/v1/fill/w_630,h_94,al_c,q_85,usm_0.66_1.00_0.01/Spotnana%403x.webp" }, "contractedBy": { "id": "f49d00fe-1eda-4304-ba79-a980f565281d" }, "isActive": true, "companyRoles": [ "ORG" ], "supportConfig": { "contactNumbers": [ … ], "emailAddresses": [ … ], "freshdeskConfig": { … }, "tier": "SEAT1A", "genesysConfig": { … }, "portalUrls": [ … ], "zendeskConfig": { … }, "genesysCloudConfig": { … }, "twilioChatConfig": { … } }, "ccEmailAddresses": [ "example@gmail.com" ], "bccEmailAddresses": [ "example@gmail.com" ], "connectors": [ { … } ], "postalAddress": { "addressLines": [ … ], "administrativeArea": "CA", "administrativeAreaName": "California", "description": "San Francisco Home", "isDefault": true, "languageCode": "en", "locality": "San Francisco", "locationCode": "LAX", "organization": "Spotnana", "postalCode": "94130", "continentCode": "AF", "recipients": [ … ], "regionCode": "US", "regionName": "America", "revision": 1, "sortingCode": "Jamaica", "sublocality": "string", "timezone": "America/Los_Angeles", "coordinates": { … } }, "redirectUrl": "string", "rewardsProgram": { "allowedUserRoles": [ … ], "conversionRate": { … }, "redeemablePaymentMethods": [ … ], "backingCurrency": [ … ] }, "tmcDefaultConfiguration": { "defaultBookingTmcId": "734f4ea2-e9ed-4c90-853c-9eed62f1254b", "countryWiseBookingTmcs": [ … ] }, "expensePartnerConfig": { "partner": "EXPENSIFY", "emailConfig": { … }, "travelType": [ … ], "isExpensePartnerEnabled": true, "reportCustomFields": true, "personalCardExpenseOwner": { … }, "centralCardExpenseOwner": { … }, "partnerReferralId": "1234hgd", "itineraryConfig": { … } }, "mobileRedirectUrl": "string", "applicableCustomFieldTypes": [ "QUESTION" ], "oauthPartnerConfig": { "name": "string", "userDetailEndpoint": { … }, "tokenVerifier": { … }, "doPersistToken": true }, "privacySettings": { "allowCompanyAdminAccessToRelativesInfo": true }, "designationTree": { "name": "string", "children": [ … ] }, "externalId": "MyCompanyId", "emailClientConfig": { "client": "SENDGRID", "credentials": { … }, "defaultSenderAddress": "test@somedomain.com", "defaultSenderName": "Test Sender" }, "isFake": false, "tmcPartnerRoleMappings": [ { … } ], "supportConfigs": { "length": 0, "elements": [ … ] }, "loyaltyBlockedCountries": [ "US", "IN" ], "allowDomainBasedAuthConfig": false, "carbonCostConfig": { "price": { … }, "weight": { … } }, "defaultBookingTmcId": { "id": "f49d00fe-1eda-4304-ba79-a980f565281d" } }

Update company

Request

This endpoint updates a company by ID.

Path
companyIdstring(uuid)required

Identifier for company.

Example: 4974a66b-7493-4f41-908c-58ba81093947
Bodyapplication/jsonrequired
idobject(CompanyId)required

Company ID

id.​idstring(uuid)required
Example: "f49d00fe-1eda-4304-ba79-a980f565281d"
namestringrequired

Company name

Example: "Spotnana"
emailDomainsArray of stringsunique

List of the company email domains

Example: ["spotnana.com"]
billingCurrencystringrequired

Billing currency of the company

Example: "INR"
phoneNumbersArray of objects(PhoneNumber)

List of company phone numbers

emergencyContactInfosArray of objects(EmergencyContactInfo)

List of company emergency contacts

isSelfSignUpEnabledboolean

Boolean to show if company has self sign up enabled.

Example: true
announcementsArray of objects(Announcement)

Company announcements

companyLogoobject(Image)

An image with meta data. Either the data or url property must be supplied to load the image.

contractedByobject(CompanyId)

Company ID

isActiveboolean

Boolean to show if this is an active company.

companyRolesArray of strings(CompanyRole)required

Company roles

Items Enum"ORG""TMC""PARTNER_TMC""HR_FEED_CONNECTOR""TRIPS_DATA_CONNECTOR"
Example: ["ORG"]
ccEmailAddressesArray of strings

List of email addresses on which all confirmation emails will be cced. This is applicable only for company roles 'ORG'

Example: ["example@gmail.com"]
bccEmailAddressesArray of strings

List of email addresses on which all confirmation emails will be bcced. This is applicable only for company roles 'ORG'

Example: ["example@gmail.com"]
connectorsArray of objects(Connector)

Connectors related to company.

postalAddressobject(PostalAddress)

Postal Address Details

redirectUrlstring

Redirect URL for the company. It is applicable only for company roles 'PARTNER_TMC'

tmcDefaultConfigurationobject(TmcDefaultConfiguration)

Default TMC configuration.

expensePartnerConfigobject(ExpensePartnerConfig)

Expense Partner Configuration

mobileRedirectUrlstring

Redirect URL for the company for mobile. It is applicable only for company roles 'PARTNER_TMC'

applicableCustomFieldTypesArray of strings(CustomFieldType)

List of custom fields supported by the company.

Items Enum"QUESTION""MEETING""BUDGET""BREX_TOKEN"
oauthPartnerConfigobject(OAuthPartnerConfig)

Config for token exchange in case of partner's have their own IDP.

privacySettingsobject(PrivacySettings)

Privacy settings for a company.

designationTreeobject(DesignationNode)

Designation tree for company showing who reports whom.

externalIdstring

External id to be linked with this.

Example: "MyCompanyId"
emailClientConfigobject(EmailClientConfig)

Email Client Config

isFakeboolean

Whether the company is a fake company for testing. This is for internal use.

Default false
Example: false
tmcPartnerRoleMappingsArray of objects(TmcPartnerRoleMapping)

list of individual role mappings between spotnana and partner.

supportConfigsobject(SupportConfigs)
loyaltyBlockedCountriesArray of strings

List of 2 letter country codes where business travelers should not be allowed to add loyalty info.

Example: ["US","IN"]
allowDomainBasedAuthConfigboolean

Whether to allow user to get auth config based on email domain

Default false
carbonCostConfigobject(CarbonCostConfig)

The config is used to calculate carbon cost of CO2 emission.

defaultBookingTmcIdobject(CompanyId)

Company ID

supportConfigobject(SupportConfig)Deprecated

Support Configuration for company

rewardsProgramobject(RewardsProgram)Deprecated

Rewards program details.

curl -i -X PUT \
  'https://developer.spotnana.com/_mock/openapi/companyapi/v2/companies/{companyId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "id": {
      "id": "f49d00fe-1eda-4304-ba79-a980f565281d"
    },
    "name": "Spotnana",
    "emailDomains": [
      "spotnana.com"
    ],
    "billingCurrency": "INR",
    "phoneNumbers": [
      {
        "countryCode": 91,
        "countryCodeSource": "FROM_NUMBER_WITH_PLUS_SIGN",
        "extension": "222",
        "isoCountryCode": "IN",
        "italianLeadingZero": true,
        "nationalNumber": 8150,
        "numberOfLeadingZeros": 1,
        "preferredDomesticCarrierCode": "7",
        "rawInput": "77777",
        "type": "MOBILE"
      }
    ],
    "emergencyContactInfos": [
      {
        "address": {
          "addressLines": [
            "Golden Gate Bridge"
          ],
          "administrativeArea": "CA",
          "administrativeAreaName": "California",
          "description": "San Francisco Home",
          "isDefault": true,
          "languageCode": "en",
          "locality": "San Francisco",
          "locationCode": "LAX",
          "organization": "Spotnana",
          "postalCode": "94130",
          "continentCode": "AF",
          "recipients": [
            "string"
          ],
          "regionCode": "US",
          "regionName": "America",
          "revision": 1,
          "sortingCode": "Jamaica",
          "sublocality": "string",
          "timezone": "America/Los_Angeles",
          "coordinates": {
            "latitude": 77.1025,
            "longitude": 28.7041
          }
        },
        "designation": "MANAGER",
        "email": "emergency-contact@email.com",
        "name": {
          "family1": "Gandas",
          "family2": "FamilyTwo",
          "given": "Vichitr",
          "middle": "Kumar",
          "suffix": "SR",
          "preferred": "Don"
        },
        "phoneNumber": {
          "countryCode": 91,
          "countryCodeSource": "FROM_NUMBER_WITH_PLUS_SIGN",
          "extension": "222",
          "isoCountryCode": "IN",
          "italianLeadingZero": true,
          "nationalNumber": 8150,
          "numberOfLeadingZeros": 1,
          "preferredDomesticCarrierCode": "7",
          "rawInput": "77777",
          "type": "MOBILE"
        },
        "userOrgId": {
          "organizationAgencyId": {
            "id": "string"
          },
          "organizationId": {
            "id": "string"
          },
          "userId": {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          },
          "tmcInfo": {
            "id": {
              "id": "f49d00fe-1eda-4304-ba79-a980f565281d"
            },
            "primaryServiceProviderTmc": {
              "tmcId": {
                "id": "f49d00fe-1eda-4304-ba79-a980f565281d"
              }
            },
            "secondaryServiceProviderTmcs": [
              {
                "tmcId": {},
                "supplier": "SABRE",
                "travelType": "AIR"
              }
            ],
            "partnerTmcId": {
              "id": "f49d00fe-1eda-4304-ba79-a980f565281d"
            }
          },
          "tmcBasicInfo": {
            "contractingTmc": {
              "id": {
                "id": "f49d00fe-1eda-4304-ba79-a980f565281d"
              },
              "name": "string",
              "logo": {
                "data": "6935813e12584abda0e43d71cd2ea260",
                "dimensions": {},
                "url": "https://static.wixstatic.com/media/73f2e2_6935813e12584abda0e43d71cd2ea260~mv2.png/v1/fill/w_630,h_94,al_c,q_85,usm_0.66_1.00_0.01/Spotnana%403x.webp"
              }
            },
            "bookingTmc": {
              "id": {
                "id": "f49d00fe-1eda-4304-ba79-a980f565281d"
              },
              "name": "string",
              "logo": {
                "data": "6935813e12584abda0e43d71cd2ea260",
                "dimensions": {},
                "url": "https://static.wixstatic.com/media/73f2e2_6935813e12584abda0e43d71cd2ea260~mv2.png/v1/fill/w_630,h_94,al_c,q_85,usm_0.66_1.00_0.01/Spotnana%403x.webp"
              }
            }
          }
        }
      }
    ],
    "isSelfSignUpEnabled": true,
    "announcements": [
      {
        "title": "Spotnana on Mission to Unbundle Travel",
        "description": "Amex Ventures Joins Spotnana on Mission to Unbundle Travel.",
        "linkUrl": "https://medium.com/inside-spotnana/amex-ventures-joins-spotnana-on-mission-to-unbundle-travel-3cdb2ecceff4",
        "linkDisplayText": "New announcement"
      }
    ],
    "companyLogo": {
      "data": "6935813e12584abda0e43d71cd2ea260",
      "dimensions": {
        "height": 120,
        "width": 240
      },
      "url": "https://static.wixstatic.com/media/73f2e2_6935813e12584abda0e43d71cd2ea260~mv2.png/v1/fill/w_630,h_94,al_c,q_85,usm_0.66_1.00_0.01/Spotnana%403x.webp"
    },
    "contractedBy": {
      "id": "f49d00fe-1eda-4304-ba79-a980f565281d"
    },
    "isActive": true,
    "companyRoles": [
      "ORG"
    ],
    "supportConfig": {
      "contactNumbers": [
        {
          "countryCode": 91,
          "countryCodeSource": "FROM_NUMBER_WITH_PLUS_SIGN",
          "extension": "222",
          "isoCountryCode": "IN",
          "italianLeadingZero": true,
          "nationalNumber": 8150,
          "numberOfLeadingZeros": 1,
          "preferredDomesticCarrierCode": "7",
          "rawInput": "77777",
          "type": "MOBILE"
        }
      ],
      "emailAddresses": [
        "support@spotnana.com"
      ],
      "freshdeskConfig": {
        "enabled": true,
        "hasCredentials": false,
        "credentials": {
          "webCredentials": {
            "domain": "string",
            "appId": "string",
            "appKey": "string"
          },
          "mobileCredentials": {
            "domain": "string",
            "appId": "string",
            "appKey": "string"
          }
        }
      },
      "tier": "SEAT1A",
      "genesysConfig": {
        "enabled": true,
        "dataUrl": "string"
      },
      "portalUrls": [
        "www.support.spotnana.com"
      ],
      "zendeskConfig": {
        "enabled": true,
        "integrationId": "1234567890",
        "androidIntegrationId": "12345