Spotnana Companies API

APIs to onboard and manage company.

Operations 21

POST /v2/companies Create company #
GET /v2/companies List companies #
GET /v2/companies/{companyId} Get company #
PUT /v2/companies/{companyId} Update company #
DELETE /v2/companies/{companyId} Delete company #
GET /v2/companies/{companyId}/features Get company features #
PATCH /v2/companies/{companyId}/features Update Company Features #
GET /v2/companies/{companyId}/travel-content-config Get company travel content config #
PUT /v2/companies/{companyId}/travel-content-config Update company travel content config #
DELETE /v2/companies/{companyId}/travel-content-config Delete company travel content config #
PUT /v2/companies/{companyId}/white-label-config Updates white label config #
GET /v2/companies/{companyId}/white-label-config Get white label config #
DELETE /v2/companies/{companyId}/white-label-config Delete white label config #
PUT /v2/companies/{companyId}/managers-config Updates company managers config #
GET /v2/companies/{companyId}/managers-config Get company managers config #
DELETE /v2/companies/{companyId}/managers-config Delete company managers config #
PUT /v2/companies/{companyId}/color-config Updates Color config #
GET /v2/companies/{companyId}/color-config Get color config #
POST /v2/companies/{companyId}/vendor-preferences Upload company vendor preferences csv file #
PUT /v2/companies/{companyId}/preference-tiers Store tier levels with labels #
GET /v2/companies/{companyId}/preference-tiers Read company preference tiers #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/spotnana-companies-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

spotnana-companies-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Air Companies API
  version: v2
  description: APIs to perform search, checkout and book an air pnr
servers:
- url: https://api-ext-sboxmeta.partners.spotnana.com
  description: Sandbox URL
security:
- Bearer: []
tags:
- name: Companies
  description: APIs to onboard and manage company.
paths:
  /v2/companies:
    post:
      tags:
      - Companies
      summary: Create company
      description: This endpoint creates a company. This is allowed only by TMC_ADMIN and above roles.
      operationId: createCompany
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCompanyRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityId'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
    get:
      tags:
      - Companies
      summary: List companies
      description: "This endpoint lists companies. If externalId is provided in query param, only the company having \nthe specified external ID is returned.\n"
      operationId: listCompanies
      parameters:
      - name: externalId
        in: query
        description: External id of the entity.
        required: false
        schema:
          type: string
        example: my-external-id
      - name: companyRole
        in: query
        description: Filter by a particular role
        required: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/CompanyRole'
        example: ORG
      - name: companyIds
        in: query
        description: Filter by a list of companies
        required: false
        schema:
          type: array
          items:
            type: string
            format: uuid
      - name: contractingTmcIds
        in: query
        description: Filter by contracting TMCs
        required: false
        schema:
          type: array
          items:
            type: string
            format: uuid
      - name: bookingTmcIds
        in: query
        description: Filter by booking TMCs
        required: false
        schema:
          type: array
          items:
            type: string
            format: uuid
      - name: offset
        in: query
        description: Indicates the start index to read companies from the server.
        schema:
          type: integer
          default: 0
          minimum: 0
      - name: limit
        in: query
        description: Maximum number of results to be fetched.
        schema:
          type: integer
          default: 100
          minimum: 0
          maximum: 100
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArrayOfReference'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /v2/companies/{companyId}:
    get:
      tags:
      - Companies
      summary: Get company
      description: This endpoint gets a company by ID.
      operationId: readCompany
      parameters:
      - name: companyId
        in: path
        description: Identifier for company. External id can be supplied in `X` prefixed form. For instance, if external_id = abc, then Xabc, has to be passed.
        required: true
        schema:
          type: string
        example: 4974a66b-7493-4f41-908c-58ba81093947
      - in: header
        name: x-application-id
        schema:
          type: string
          format: uuid
        example: 4974a66b-7493-4f41-908c-58ba81093947
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Company'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      tags:
      - Companies
      summary: Update company
      operationId: updateCompany
      description: This endpoint updates a company by ID.
      parameters:
      - name: companyId
        in: path
        description: Identifier for company.
        required: true
        schema:
          type: string
          format: uuid
        example: 4974a66b-7493-4f41-908c-58ba81093947
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Company'
      responses:
        '204':
          description: Updated Successfully
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      tags:
      - Companies
      summary: Delete company
      description: This endpoint deletes a company by ID.
      operationId: deleteCompany
      parameters:
      - name: companyId
        in: path
        description: Identifier for company.
        required: true
        schema:
          type: string
          format: uuid
        example: 4974a66b-7493-4f41-908c-58ba81093947
      responses:
        '204':
          description: Deleted Successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/companies/{companyId}/features:
    parameters:
    - name: companyId
      in: path
      description: Identifier for company.
      required: true
      schema:
        type: string
        format: uuid
      example: 4974a66b-7493-4f41-908c-58ba81093947
    - in: header
      name: X-Application-Id
      schema:
        type: string
        format: uuid
      example: 4974a66b-7493-4f41-908c-58ba81093947
    - name: companyRole
      in: query
      schema:
        $ref: '#/components/schemas/CompanyRole'
      example: TMC
    get:
      tags:
      - Companies
      summary: Get company features
      operationId: getCompanyFeatures
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureConfigs'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      tags:
      - Companies
      summary: Update Company Features
      operationId: updateCompanyFeaturesPatch
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFeaturesRequest'
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/companies/{companyId}/travel-content-config:
    parameters:
    - name: companyId
      in: path
      description: Identifier for company.
      required: true
      schema:
        type: string
        format: uuid
      example: 4974a66b-7493-4f41-908c-58ba81093947
    get:
      tags:
      - Companies
      summary: Get company travel content config
      operationId: getCompanyTravelContentConfig
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelContentConfig'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      tags:
      - Companies
      summary: Update company travel content config
      operationId: updateCompanyTravelContentConfig
      requestBody:
        description: Travel content config of a given company
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TravelContentConfig'
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      tags:
      - Companies
      summary: Delete company travel content config
      operationId: deleteCompanyTravelContentConfig
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/companies/{companyId}/white-label-config:
    parameters:
    - name: companyId
      in: path
      description: Identifier for company.
      required: true
      schema:
        type: string
        format: uuid
      example: 4974a66b-7493-4f41-908c-58ba81093947
    put:
      tags:
      - Companies
      summary: Updates white label config
      description: This endpoint stores white label config for the company at different entity levels.
      operationId: updateCompanyWhiteLabelConfig
      parameters:
      - name: companyRole
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/CompanyRole'
        example: ORG
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WhiteLabelConfig'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    get:
      tags:
      - Companies
      summary: Get white label config
      description: This endpoint fetches the white label config for the company.
      operationId: getCompanyWhiteLabelConfig
      parameters:
      - name: companyRole
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/CompanyRole'
        example: ORG
      - name: applicationId
        in: query
        required: false
        schema:
          type: string
          format: uuid
        example: 1234a66b-7493-4f41-908c-58ba81055667
        description: Application context to get white label config.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WhiteLabelConfig'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      tags:
      - Companies
      summary: Delete white label config
      description: This endpoint deletes the white label config for the company.
      operationId: deleteCompanyWhiteLabelConfig
      parameters:
      - name: companyRole
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/CompanyRole'
        example: ORG
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/companies/{companyId}/managers-config:
    parameters:
    - name: companyId
      in: path
      description: Identifier for company.
      required: true
      schema:
        type: string
        format: uuid
      example: 4974a66b-7493-4f41-908c-58ba81093947
    put:
      tags:
      - Companies
      summary: Updates company managers config
      description: This endpoint stores company managers config (account managers and customer success managers) for the company at different entity levels.
      operationId: updateCompanyManagersConfig
      parameters:
      - name: companyRole
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/CompanyRole'
        example: ORG
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyManagersConfig'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    get:
      tags:
      - Companies
      summary: Get company managers config
      description: This endpoint fetches the company managers config for the company.
      operationId: getCompanyManagersConfig
      parameters:
      - name: companyRole
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/CompanyRole'
        example: ORG
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyManagersConfig'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      tags:
      - Companies
      summary: Delete company managers config
      description: This endpoint deletes the company managers config for the company.
      operationId: deleteCompanyManagersConfig
      parameters:
      - name: companyRole
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/CompanyRole'
        example: ORG
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/companies/{companyId}/color-config:
    parameters:
    - name: companyId
      in: path
      description: Identifier for company.
      required: true
      schema:
        type: string
        format: uuid
      example: 4974a66b-7493-4f41-908c-58ba81093947
    put:
      tags:
      - Companies
      summary: Updates Color config
      description: This endpoint stores Color config for the company at some entity level.
      operationId: updateColorConfig
      parameters:
      - name: companyRole
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/CompanyRole'
        example: TMC
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ColorConfig'
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    get:
      tags:
      - Companies
      summary: Get color config
      description: This endpoint fetches the color config for the given entity.
      operationId: getColorConfig
      parameters:
      - name: companyRole
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/CompanyRole'
        example: TMC
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ColorConfig'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/companies/{companyId}/vendor-preferences:
    parameters:
    - name: companyId
      in: path
      description: Identifier for company.
      required: true
      schema:
        type: string
        format: uuid
      example: 4974a66b-7493-4f41-908c-58ba81093947
    post:
      tags:
      - Companies
      summary: Upload company vendor preferences csv file
      operationId: uploadCompanyPreferences
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UploadCompanyVendorPreferencesRequest'
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/companies/{companyId}/preference-tiers:
    parameters:
    - name: companyId
      in: path
      description: Identifier for company.
      required: true
      schema:
        type: string
        format: uuid
      example: 4974a66b-7493-4f41-908c-58ba81093947
    put:
      tags:
      - Companies
      summary: Store tier levels with labels
      description: This endpoint store the tiers with respective label for a company.
      operationId: storePreferenceTiers
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StorePreferenceTiersRequest'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    get:
      tags:
      - Companies
      summary: Read company preference tiers
      description: Read all preference tiers with respective label for a company.
      operationId: listPreferenceTiers
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPreferenceTiersResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    WebLinksConfig:
      type: object
      title: WebLinksConfig
      description: Weblinks which are parts of WhiteLabelConfig.
      properties:
        logoHeader:
          type: string
          example: https://duploservices-stage-email-assets-873909615026.s3.us-west-2.amazonaws.com/confirmation/spotnana3.png
        logoFooter:
          type: string
          example: https://duploservices-stage-email-assets-873909615026.s3-us-west-2.amazonaws.com/approval/spotnana-s-logo.png
        companyWebsiteAddress:
          type: string
          example: https://www.spotnana.com
        homePage:
          type: string
          example: https://stage-app.spotnana.com/flights
        itineraryPage:
          type: string
          example: https://stage-app.spotnana.com/trips/3375488451
        disclaimerPage:
          type: string
          example: https://www.spotnana.com/terms
        privacyPage:
          type: string
          example: https://www.spotnana.com/privacy-policy
        hardApprovalUrl:
          type: string
          example: https://stage-app.spotnana.com/hardapproval?approvalId=CgozMzQ5OTI4MzI2EiMKIQoMCgpQaWh1IEd1cHRhEhFwaWh1QHNwb3RuYW5hLmNvbQ%3D%3D&approverName=Pihu%20Gupta&travelerName=Pihu%20Gupta&tripName=TESting%201&tripId=2418132231&voidDate=Tuesday,%2021%20Jun%20at%2002:00%20UTC
        itineraryFlightStatsUrl:
          type: string
          example: https://stage-app.spotnana.com/trips/4694735622
        appEmbedScriptUrl:
          type: string
          example: https://customjs.partner.com
        logoNavigationLink:
          type: string
          example: http://www.spotnana.com
        illustration:
          type: string
          example: https://duploservices-stage-email-assets-873909615026.s3-us-west-2.amazonaws.com/approval/spotnana-s-logo.png
        poweredBySpotnana:
          type: boolean
          default: true
          example: false
        logoutRedirectUrl:
          type: string
          example: https://www.spotnana.com/signout
        faviconUrl:
          type: string
          description: Display logo on the browser title.
          example: http://www.spotnana.com
        appDownloadLinks:
          $ref: '#/components/schemas/AppDownloadLinksConfig'
        socialMediaLinks:
          $ref: '#/components/schemas/SocialMediaLinksConfig'
        termsOfUse:
          type: string
          description: Terms of service/legal agreement between a service provider and a person who wants to use service.
          example: https://www.spotnana.com/terms/
        illustrationActionUrl:
          type: string
          example: https://www.spotnana.com/login
        checkoutCoverImageUrl:
          type: string
          description: Cover image to be shown on checkout page.
          example: https://duploservices-email-assets-873909615026.s3-us-west-2.amazonaws.com/approval/spotnana-s-logo.png
        postCcVerificationCallbackUrl:
          type: string
          description: Post credit card verification callback URL.
          example: https://example.com/callback
        loyaltyLinkedImageUrl:
          type: string
          description: Image URL for loyalty linked page.
          example: https://example.com/loyalty-linked.png
        onboardingFinalizeImageUrl:
          type: string
          description: Image URL for onboarding finalize page.
          example: https://example.com/onboarding-finalize.png
        inviteUserImageUrl:
          type: string
          description: Image URL for invite user page.
          example: https://example.com/invite-user.png
        takeActionPath:
          type: string
          description: Email CTA routing override for embedded/white-labeled deployments. "Take action" CTA (Arranger email) destination — a full URL (e.g. a partner-hosted wrapping page that redirects into their embedded iframe), same convention as itineraryPage/hardApprovalUrl, used as-is with no base-URL prefixing. Unset falls back to the existing hardcoded native path.
          example: https://partner.com/embedded/take-action
        bookMyTripPath:
          type: string
          description: Email CTA routing override for embedded/white-labeled deployments. "Book my trip" CTA (event invite/reminder emails) destination — a full URL, same convention as itineraryPage/hardApprovalUrl, used as-is with no base-URL prefixing. Unset falls back to the existing hardcoded native path.
          example: https://partner.com/embedded/my-trip
        viewEventDetailsPath:
          type: string
          description: Email CTA routing override for embedded/white-labeled deployments. "View event details" CTA (event invite email) destination — a full URL, same convention as itineraryPage/hardApprovalUrl, used as-is with no base-URL prefixing. Unset falls back to the existing hardcoded native path.
          example: https://partner.com/embedded/my-trip
    CabinViewFareCategory:
      type: string
      enum:
      - UNKNOWN_CABIN_CATEGORY
      - BASIC
      - ECONOMY
      - PREMIUM_ECONOMY
      - ECONOMY_PLUS
      - BUSINESS
      - FIRST
      default: UNKNOWN_CABIN_CATEGORY
    NameSuffix:
      title: NameSuffix
      description: Suffix for name
      type: string
      enum:
      - NAME_SUFFIX_UNKNOWN
      - SR
      - JR
      - MD
      - PHD
      - II
      - III
      - IV
      - DO
      - ATTY
      - V
      - VI
      - ESQ
      - DC
      - DDS
      - VM
      - JD
      - SECOND
      - THIRD
      example: SR
    AppDownloadLinksConfig:
      type: object
      title: AppDownloadLinksConfig
      description: App store or QR links for downloading app.
      properties:
        androidPlayStoreUrl:
          type: string
          example: https://play.google.com/store/apps/details?id=com.spotnana
        iosAppStoreUrl:
          type: string
          example: https://apps.apple.com/in/app/spotnana-travel-booking/id1580021446
        qrCodeUrl:
          type: string
          example: https://www.spotnana.com
    SecondaryServiceProviderTmc:
      type: object
      title: SecondaryServiceProviderTmc
      description: Secondary service provider TMC info
      required:
      - tmcId
      - supplier
      - travelType
      properties:
        tmcId:
          $ref: '#/components/schemas/CompanyId'
          description: Id of the service provider TMC.
        supplier:
          $ref: '#/components/schemas/SupplierType'
          description: Supplier for which this service provider should be used.
        travelType:
          $ref: '#/components/schemas/TravelType'
          description: Travel type for which this service provider should be used.
    TmcInfo:
      type: object
      title: TmcInfo
      description: TMC config information.
      required:
      - id
      - primaryServiceProviderTmc
      properties:
        id:
          $ref: '#/components/schemas/CompanyId'
          description: TMC id.
        primaryServiceProviderTmc:
          $ref: '#/components/schemas/PrimaryServiceProviderTmc'
          description: Primary service provider TMC for the TMC.
        secondaryServiceProviderTmcs:
          type: array
          description: Secondary service provider TMCs for the TMC.
          items:
            $ref: '#/components/schemas/SecondaryServiceProviderTmc'
        partnerTmcId:
          $ref: '#/components/schemas/CompanyId'
          description: Useful to identify the clients onboarded by a PARTNER_TMC
    CompanyRole:
      type: string
      description: Role of the company.
      enum:
      - ORG
      - TMC
      - PARTNER_TMC
      - HR_FEED_CONNECTOR
      - TRIPS_DATA_CONNECTOR
      - GLOBAL
      example: ORG
    ErrorResponse:
      type: object
      properties:
        debugIdentifier:
          type: string
          description: Link to debug the error internally.
        errorMessages:
          type: array
          items:
            type: object
            properties:
              errorCode:
                type: string
                description: Error code to identify the specific errors.
              message:
                type: string
                description: Message containing details of error.
              errorParameters:
                type: array
                description: Error message parameters.
                items:
                  $ref: '#/components/schemas/ErrorParameter'
              errorDetail:
                type: string
                description: More details about the error.
    BrandingVisibility:
      type: object
      title: BrandingVisibility
      description: Per-surface visibility of branding elements. Additive — default shows everything.
      properties:
        headerLogo:
          $ref: '#/components/schemas/SurfaceVisibility'
        poweredBy:
          $ref: '#/components/schemas/SurfaceVisibility'
    ColorConfig:
      type: object
      title: ColorConfig
      description: Color configuration for customizable colors in the UI.
      properties:
        profileColors:
          $ref: '#/components/schemas/ProfileColors'
    PaymentMethod:
      type: string
      description: Payment method
      enum:
      - PAYMENT_METHOD_UNKNOWN
      - CREDIT_CARD
      - BREX_POINTS
      - CASH
      - QANTAS_POINTS
      - VENDOR_PROGRAM_PAYMENT
      - DELAYED_INVOICING
      - FLIGHT_CREDITS
      - QANTAS_TRAVEL_FUND
      - CUSTOM_VIRTUAL_PAYMENT
      - FLIGHT_PASS
      - MISCELLANEOUS_CREDIT_ORDER
      - NO_PREPAYMENT
      x-ignoreBreakingChanges:
      - PaymentMethod->MISCELLANEOUS_CREDIT_ORDER
      - PaymentMethod->NO_PREPAYMENT
      example: BREX_POINTS
    UserInfoEndpointResponseAttribute:
      type: object
      title: UserInfoEndpointResponseAttribute
      description: auth Code metadata to get the user authenticated.
      required:
      - name
      - jsonXpath
      properties:
        name:
          description: Attribute name
          type: string
          enum:
          - PID
          - EMAIL
          - EXTERNAL_ID
          example: PID
        jsonXpath:
          type: string
          description: Json xpath of the Attribute/Parameter value location
          example: $.user.email
    CreateCompanyRequest:
      type: object
      title: CreateCompanyRequest
      description: Request for company create.
      required:
      - name
      - billingCurrency
      - companyRoles
      properties:
        name:
          type: string
          description: Company name
          example: Spotnana
        emailDomains:
          type: array
          description: List of the company email domains
          uniqueItems: true
          items:
            type: string
            example: spotnana.com
        billingCurrency:
          type: string
          description: Billing currency of the company
          example: INR
        phoneNumbers:
          type: array
          description: List of company phone numbers
          items:
            $ref: '#/components/schemas/PhoneNumber'
        emergencyContactInfos:
          type: array
          description: List of company emergency contacts
          items:
            $ref: '#/components/schemas/EmergencyContactInfo'
        isSelfSignUpEnabled:
          type: boolean
          description: Boolean to show if company has self sign up enabled.
          example: true
        announcements:
          type: array
          description: Company announcements
          items:
            $ref: '#/components/schemas/Announcement'
        companyLogo:
          $ref: '#/components/schemas/Image'
          description: Company logo
        contractedBy:
          $ref: '#/components/schemas/CompanyId'
          description: Company ID which have contracted this company.
        companyRoles:
          type: array
          description: Company roles
          items:
            $ref: '#/components/schemas/CompanyRole'
        supportConfig:
          $ref: '#/components/schemas/SupportConfig'
          description: Support Configuration for company
          deprecated: true
          x-sunset: '2026-07-01'
        supportConfigs:
          type: array
          description: Support Configs for company
          items:
            $ref: '#/components/schemas/SupportConfig'
        ccEmailAddresses:
          type: array
          description: List of email addresses on which all confirmation emails will be cced. This is applicable only for company roles 'ORG'
          items:
            type: string
            example: example@gmail.com
        bccEmailAddresses:
          type: array
          description: List of email addresses on which all confirmation emails will be bcced. This is applicable only for company roles 'ORG'
          items:
            type: string
            example: example@gmail.com
        postalAddress:
          $ref: '#/components/schemas/PostalAddress'
          description: Postal address of the company.
        redirectUrl:
          type: string
          description: Redirect URL for the company. It is applicable only for company roles 'PARTNER_TMC'
        rewardsProgram:
          $ref: '#/components/schemas/RewardsProgram'
          description: Rewards Program corresponding to partner. It is applicable only for company roles 'PARTNER_TMC'.
          deprecated: true
          x-sunset: '2026-07-01'
        tmcDefaultConfiguration:
          $ref: '#/components/schemas/TmcDefaultConfiguration'
        

# --- truncated at 32 KB (105 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/spotnana/refs/heads/main/openapi/spotnana-companies-api-openapi.yml