components:
  responses: {}
  schemas:
    SortableInstallFields:
      enum:
        - product_id
        - product_first_verified_date
        - product_last_verified_date
        - product_intensity
        - vendor_id
      title: SortableInstallFields
      type: string
    CompanyInfoRequest:
      description: >-
        Find a company based on the input, and return all firmographic
        information about it.
      properties:
        company_id:
          $ref: '#/components/schemas/Id'
        fields:
          $ref: '#/components/schemas/CompanyDataFields'
      required:
        - company_id
      title: CompanyInfoRequest
      type: object
    ProductCategoriesResponse:
      description: Response schema for product categories
      example:
        count: 1
        data:
          - id: 1
            name: Cloud Computing
      properties:
        count:
          description: Record count
          type: integer
        data:
          items:
            $ref: '#/components/schemas/ProductCategory'
          type: array
      title: ProductCategoriesResponse
      type: object
    SICUS1987Response:
      description: Response schema for SIC US 1987
      example:
        count: 1
        data:
          - code: '33636'
            codeStandard: '5912'
            id: 3FCEDF144BE9F3DFF1145DB6C515FB34
            name: Foo Bar
            parentId: 264DD858DB942CAD06F24FF25DF56716
      properties:
        count:
          description: Record count
          type: integer
        data:
          items:
            $ref: '#/components/schemas/SICUS1987'
          type: array
      title: SICUS1987Response
      type: object
    Company:
      description: Company schema
      example:
        company_id: 6FA567B72D78B7E3EA746973FBBD1D5
        company_name: Adidas North America, Inc.
        domain_name: https://www.adidas.com
      properties:
        company_id:
          description: Company ID
          type: string
        company_name:
          description: Company name
          type: string
        domain_name:
          description: Company main domain_name
          type: string
      required:
        - company_id
        - company_name
        - domain_name
      title: Company
      type: object
    VendorsResponse:
      description: Response schema for vendors
      example:
        count: 1
        data:
          - id: '10056'
            name: Vendor Name
            url: https://vendor.com
      properties:
        count:
          description: Record count
          type: integer
        data:
          items:
            $ref: '#/components/schemas/Vendor'
          type: array
      title: VendorsResponse
      type: object
    InstallObject:
      allOf:
        - $ref: '#/components/schemas/InstallObjectIdentifiers'
      properties:
        product_attributes:
          items:
            type: string
          type: array
        product_category_id:
          type: string
        product_category_level1_name:
          type: string
        product_category_level2_name:
          type: string
        product_category_level3_name:
          type: string
        product_category_level4_name:
          type: string
        product_category_level5_name:
          type: string
        product_description:
          type: string
        product_first_verified_date:
          format: date
          type: string
        product_intensity:
          type: integer
        product_last_verified_date:
          format: date
          type: string
        product_locations:
          type: integer
        vendor_domain_name:
          type: string
        vendor_id:
          type: integer
        vendor_name:
          type: string
      title: InstallObject
      type: object
    CompanyIntentResponse:
      description: A list of intent data for a company and the full count of intent data.
      properties:
        count:
          type: integer
        data:
          items:
            $ref: '#/components/schemas/CompanyIntentObject'
          type: array
      title: CompanyIntentResponse
      type: object
    AnyNoneNumericInclusionFilter:
      description: >-
        Inclusion filter object using integer IDs. Can filter ids by ANY_PRESENT
        or NONE_PRESENT inclusion methods
      example:
        ids:
          - 16994
        inclusion_method: ANY_PRESENT
      properties:
        ids:
          description: Numeric IDs
          items:
            type: integer
          minItems: 1
          type: array
        inclusion_method:
          $ref: '#/components/schemas/AnyNoneInclusionMethod'
      required:
        - ids
        - inclusion_method
      title: AnyNoneNumericInclusionFilter
      type: object
    FAIRole:
      description: FAI Role schema
      example:
        id: 3FCEDF144BE9F3DFF1145DB6C515FB34
        name: Fake Role
      properties:
        id:
          $ref: '#/components/schemas/Id'
        name:
          description: FAI Role name
          type: string
      required:
        - id
        - name
      title: FAIRole
      type: object
    CompanyObjectIdentifiers:
      description: A smaller object to identify a Company, no firmographic information.
      properties:
        company_name:
          type: string
        domain_name:
          type: string
        domain_name_normalized:
          type: string
        hg_id:
          type: string
      title: CompanyObjectIdentifiers
      type: object
    IntentTopicsResponse:
      description: Response schema for Intent Topics
      example:
        count: 1
        data:
          - category: technology
            id: 3C974F539EF4BC6A0504AAB13C506780
            name: SysFoo
      properties:
        count:
          description: Record count
          type: integer
        data:
          items:
            $ref: '#/components/schemas/IntentTopic'
          type: array
      title: IntentTopicsResponse
      type: object
    CompanySpendSortedSpendField:
      example:
        direction: DESC
        field: spend
      properties:
        direction:
          $ref: '#/components/schemas/SortDirection'
        field:
          $ref: '#/components/schemas/CompanySpendSortFields'
      required:
        - field
        - direction
      title: CompanySpendSortedSpendField
      type: object
    FAIDepartment:
      description: FAI Department schema
      example:
        id: 3FCEDF144BE9F3DFF1145DB6C515FB34
        name: Foo Bar
        roles:
          - id: 3FCEDF144BE9F3DFF1145DB6C515FB35
            name: Fake Role
      properties:
        id:
          $ref: '#/components/schemas/Id'
        name:
          description: FAI Department name
          type: string
        roles:
          description: FAI Roles. Note - not all departments have roles
          items:
            $ref: '#/components/schemas/FAIRole'
          type: array
      required:
        - id
        - name
        - roles
      title: FAIDepartment
      type: object
    NAICS2012Response:
      description: Response schema for NAICS 2012
      example:
        count: 1
        data:
          - code: '33636'
            id: 3FCEDF144BE9F3DFF1145DB6C515FB34
            name: Foo Bar
            parentId: 264DD858DB942CAD06F24FF25DF56716
      properties:
        count:
          description: Record count
          type: integer
        data:
          items:
            $ref: '#/components/schemas/NAICS2012'
          type: array
      title: NAICS2012Response
      type: object
    Offset:
      default: 0
      description: Used for paginating records.
      minimum: 0
      title: Offset
      type: integer
    InstallFieldNames:
      enum:
        - product_id
        - product_name
        - product_description
        - vendor_id
        - vendor_name
        - vendor_domain_name
        - product_category_id
        - product_category_level1_name
        - product_category_level2_name
        - product_category_level3_name
        - product_category_level4_name
        - product_category_level5_name
        - product_attributes
        - product_first_verified_date
        - product_last_verified_date
        - product_intensity
        - product_locations
        - country_code
      title: InstallFieldNames
      type: string
    IntentBuyersJourneyResponse:
      description: Response schema for Intent buyers journey
      example:
        count: 1
        data:
          - description: Foo bar description
            id: 2E64D9D97CF79E96941A831E40507CA2
            name: Evaluating
      properties:
        count:
          description: Record count
          type: integer
        data:
          items:
            $ref: '#/components/schemas/IntentBuyerJourney'
          type: array
      title: IntentBuyersJourneyResponse
      type: object
    FAIDepartmentResponse:
      description: Response schema for FAI Department
      example:
        count: 1
        data:
          - id: 3FCEDF144BE9F3DFF1145DB6C515FB34
            name: Foo Bar
            roles:
              - id: 3FCEDF144BE9F3DFF1145DB6C515FB35
                name: Fake Role
      properties:
        count:
          description: Record count
          type: integer
        data:
          items:
            $ref: '#/components/schemas/FAIDepartment'
          type: array
      title: FAIDepartmentResponse
      type: object
    CompanySpendFieldNames:
      description: Allowed fields to be selected and returned in the response.
      enum:
        - company_id
        - spend
        - category_id
        - category_name
        - category_description
        - country_code
        - country_name
      title: CompanySpendFieldNames
      type: string
    ProductCategory:
      description: Product Category schema
      example:
        id: 1
        name: Cloud Computing
      properties:
        id:
          $ref: '#/components/schemas/Id'
        name:
          description: Product Category name
          type: string
      required:
        - id
        - name
      title: ProductCategory
      type: object
    StatesResponse:
      description: Response schema for states
      example:
        count: 1
        data:
          - country:
              alpha2: FR
            id: AEA8D2254D475DED13FD3F4339C6B8G
            name: Île-de-France
      properties:
        count:
          description: Record count
          type: integer
        data:
          items:
            $ref: '#/components/schemas/State'
          type: array
      title: StatesResponse
      type: object
    Limit:
      default: 10
      description: The number of records to return in the request.
      maximum: 1000
      title: Limit
      type: integer
    ProductCategoriesFilter:
      allOf:
        - $ref: '#/components/schemas/AnyNoneIdInclusionFilter'
      description: Filter by Product Category IDs
      example:
        ids:
          - 1698C53EBC888758570396E0334965C1
        inclusion_method: ANY_PRESENT
      title: ProductCategoriesFilter
      type: object
    SelectedCompanySearchFields:
      default:
        - company_id
        - company_name
        - domain_name
        - domain_name_normalized
      description: List of fields to be selected.
      example:
        - company_id
        - company_name
        - domain_name
        - domain_name_normalized
      items:
        $ref: '#/components/schemas/CompanySearchFieldNames'
      nullable: true
      title: SelectedCompanySearchFields
      type: array
    CompanyIntentsSelectFields:
      default:
        - topic_id
        - url
        - signal_strength
        - signal_trend
      description: A list of data points to be returned in the API response.
      example:
        - topic_id
        - topic_name
        - url
        - signal_strength
        - signal_trend
        - location_strength
        - buyers_journey_name
        - context_name_array
        - state_name
        - country_name
        - region_name
        - datestamp
      items:
        $ref: '#/components/schemas/CompanyIntentFieldNames'
      minItems: 1
      nullable: false
      title: CompanyIntentsSelectFields
      type: array
    RangeFilter:
      example:
        max: 100
        min: 25
      oneOf:
        - $ref: '#/components/schemas/MinFilter'
        - $ref: '#/components/schemas/MaxFilter'
        - $ref: '#/components/schemas/MinMaxFilter'
      title: RangeFilter
      type: object
    CompanyFieldSorts:
      default:
        - direction: ASC
          field: company_name
      description: List of Sort objects
      example:
        - direction: DESC
          field: company_name
      items:
        $ref: '#/components/schemas/SortedCompanyField'
      title: CompanyFieldSorts
      type: array
    CompanySpendRequest:
      description: >-
        A search query to get a list of spend data for a company, the can be
        optionally filtered by category ids.
      properties:
        fields:
          $ref: '#/components/schemas/CompanySpendsSelectFields'
        filters:
          $ref: '#/components/schemas/CompanySpendFilters'
        limit:
          $ref: '#/components/schemas/Limit'
        offset:
          $ref: '#/components/schemas/Offset'
        sorts:
          $ref: '#/components/schemas/CompanySpendSorts'
      required:
        - filters
      title: CompanySpendRequest
      type: object
    CompanySearchResponse:
      description: A list of companies and their identification information.
      properties:
        count:
          description: The total number of companies that match the search criteria.
          type: integer
        data:
          items:
            $ref: '#/components/schemas/CompanyObjectIdentifiers'
          type: array
      title: CompanySearchResponse
      type: object
    CompanyFiltersIntent:
      description: |2
          Filters based around intent signals.
          Intent signals are signals that indicate a company is showing interest in a particular topic.
      example:
        signal_score: MEDIUM
        topics:
          ids:
            - 19861D3AC60455102792F87A33AF533F
          inclusion_method: ANY_PRESENT
      properties:
        signal_score:
          $ref: '#/components/schemas/IntentSignalScoreFilter'
        topics:
          $ref: '#/components/schemas/IntentTopicsFilter'
      required:
        - topics
        - signal_score
      title: CompanyFiltersIntent
      type: object
    AnyIdInclusionFilter:
      description: >-
        Inclusion filter object for use with hex encoded IDs. Can filter ids by
        ANY_PRESENT inclusion method
      example:
        ids:
          - 1698C53EBC888758570396E0334965C1
        inclusion_method: ANY_PRESENT
      properties:
        ids:
          description: Hex Encoded IDs
          items:
            $ref: '#/components/schemas/Id'
          minItems: 1
          type: array
        inclusion_method:
          $ref: '#/components/schemas/AnyInclusionMethod'
      required:
        - ids
        - inclusion_method
      title: AnyIdInclusionFilter
      type: object
    CompanyFaiFieldNames:
      description: Allowed fields to be selected and returned in the response.
      enum:
        - company_id
        - product_id
        - product_name
        - department_id
        - department_name
        - department_usage_share
        - department_signal_strength
        - role_id
        - role_name
        - role_signal_strength_at_location
        - role_usage_share
        - signal_country_name
        - signal_state_name
        - signal_city_name
        - last_verified_at
        - is_decision_maker
        - is_influencer
      title: CompanyFaiFieldNames
      type: string
    NAICS2012:
      description: NAICS 2012 schema
      example:
        code: '33636'
        id: 3FCEDF144BE9F3DFF1145DB6C515FB34
        name: Foo Bar
        parentId: 264DD858DB942CAD06F24FF25DF56716
      properties:
        code:
          description: NAICS code
          type: string
        id:
          $ref: '#/components/schemas/Id'
        name:
          description: NAICS name
          type: string
        parentId:
          $ref: '#/components/schemas/Id'
      required:
        - code
        - id
        - name
        - parentId
      title: NAICS2012
      type: object
    FindCompaniesResponse:
      description: Response schema for find companies
      example:
        count: 1
        data:
          - company_id: 6FA567B72D78B7E3EA746973FBBD1D5
            company_name: Adidas North America, Inc.
            domain_name: https://www.adidas.com
      properties:
        count:
          description: Record count
          type: integer
        data:
          items:
            $ref: '#/components/schemas/Company'
          type: array
      title: FindCompaniesResponse
      type: object
    IntentBuyerJourney:
      description: Intent Buyer Journey schema
      example:
        description: Foo bar description
        id: 2E64D9D97CF79E96941A831E40507CA2
        name: Evaluating
      properties:
        description:
          description: Intent Buyer Journey description
          enum:
            - Researching
            - Evaluating
          type: string
        id:
          $ref: '#/components/schemas/Id'
        name:
          description: Intent Buyer Journey name
          type: string
      required:
        - id
        - name
        - description
      title: IntentBuyerJourney
      type: object
    SortedInstallField:
      example:
        direction: DESC
        field: product_id
      properties:
        direction:
          $ref: '#/components/schemas/SortDirection'
        field:
          $ref: '#/components/schemas/SortableInstallFields'
      required:
        - field
        - direction
      title: SortedInstallField
      type: object
    ProductAttributesResponse:
      description: Response schema for product attributes
      example:
        count: 1
        data:
          - childrenAttributes:
              - description: >-
                  Cloud Application Performance Management (or Cloud APM)
                  software allows businesses to manage and monitor resources
                  that provide support for cloud-based applications. Cloud APM
                  software helps administrators identify, address, and resolve
                  issues that impact both back-end functions (such as costs,
                  security, resource availability, traffic, latency, or
                  application errors) and end-user experiences. The goal of
                  Cloud APM is to improve application responsiveness, uptime,
                  and UX.
                id: 2
                level: 2
                name: Cloud Application Performance Management
            description: >-
              Cloud Computing refers to the delivery of computing services
              (hardware and software) via public, private, or hybrid cloud
              environments. Cloud Computing software includes but is not limited
              to servers, software, storage, networking, analytics, cloud APM,
              cloud CPG, cost optimization, workload management, data security,
              IT operations, and development environments.
            id: 1
            level: 1
            name: Cloud Computing
      properties:
        count:
          description: Record count
          type: integer
        data:
          items:
            $ref: '#/components/schemas/Product'
          type: array
      title: ProductAttributesResponse
      type: object
    CompanyDataFields:
      default:
        - company_id
        - company_name
        - domain_name
        - domain_name_normalized
      description: A list of data points to be returned in the API response.
      example:
        - company_id
        - company_name
        - domain_name
        - domain_name_normalized
        - company_level
        - city_name
        - state_name
        - postal_code
        - country_name
        - country_code
        - continent_name
        - subcontinent_name
        - geopolitical_name
        - industry_id
        - industry_name
        - naics_code
        - naics_name
        - sic_codes
        - sic_names
        - revenue_total
        - revenue_band
        - employees_total
        - employees_band
        - it_spend
        - forbes_2000_rank
        - fortune_500_rank
        - global_hq_company_name
        - global_hq_domain_name
        - global_hq_domain_name_normalized
        - global_hq_hg_id
        - global_hq_city_name
        - global_hq_state_name
        - global_hq_postal_code
        - global_hq_country_name
        - global_hq_country_code
        - global_hq_subcontinent_name
        - global_hq_continent_name
        - global_hq_geopolitical_name
        - global_hq_employees_band
        - global_hq_revenue_band
        - global_hq_industry_id
        - global_hq_industry_name
        - global_hq_naics_code
        - global_hq_naics_name
        - global_hq_sic_codes
        - global_hq_sic_names
        - global_hq_forbes_2000_rank
        - global_hq_fortune_500_rank
      items:
        $ref: '#/components/schemas/CompanyFieldNames'
      title: CompanyDataFields
      type: array
    CompanyIntentSortFields:
      enum:
        - topic_id
        - signal_strength
        - datestamp
      title: CompanyIntentSortFields
      type: string
    AnyNameInclusionFilter:
      description: Inclusion filter object (using string names as IDs)
      example:
        ids:
          - CA
          - APAC
        inclusion_method: ANY_PRESENT
      properties:
        ids:
          description: Name IDs
          items:
            type: string
          minItems: 1
          type: array
        inclusion_method:
          $ref: '#/components/schemas/AnyInclusionMethod'
      required:
        - ids
        - inclusion_method
      title: AnyNameInclusionFilter
      type: object
    CompanyInstallFilters:
      description: Filters based around the install records detected at a company.
      example:
        product_attributes:
          ids:
            - 222
          inclusion_method: ANY_PRESENT
        product_categories:
          ids:
            - 319D067B229178F03BCFA1DA4AC4DEDE
          inclusion_method: ANY_PRESENT
        products:
          - ids:
              - 814
            inclusion_method: ANY_PRESENT
        vendors:
          - ids:
              - 316
            inclusion_method: ANY_PRESENT
      properties:
        product_attributes:
          $ref: '#/components/schemas/ProductAttributesFilterCompanyInstalls'
        product_categories:
          $ref: '#/components/schemas/ProductCategoriesFilter'
        products:
          description: >-
            Filter based on the associated products for an install record. Can
            provide a list of product filters so different inclusion methods may
            be combined.
          items:
            $ref: '#/components/schemas/ProductFilter'
          minItems: 1
          type: array
        vendors:
          description: >-
            Filter based on the associated vendor for an install record. Can
            provide a list of vendor filters so different inclusion methods may
            be combined.
          items:
            $ref: '#/components/schemas/VendorFilter'
          minItems: 1
          type: array
      title: CompanyInstallFilters
      type: object
    SortDirection:
      default: ASC
      description: Sort direction
      enum:
        - ASC
        - DESC
      title: SortDirection
      type: string
    SortedCompanyField:
      description: Sort object
      example:
        direction: DESC
        field: revenue_range_min
      properties:
        direction:
          $ref: '#/components/schemas/SortDirection'
        field:
          $ref: '#/components/schemas/CompanySearchFieldNames'
      required:
        - field
        - direction
      title: SortedCompanyField
      type: object
    SelectedInstallFields:
      default:
        - product_id
        - product_name
        - vendor_name
        - product_last_verified_date
        - product_intensity
        - country_code
      description: List of fields to be selected.
      items:
        $ref: '#/components/schemas/InstallFieldNames'
      nullable: true
      title: SelectedInstallFields
      type: array
    State:
      description: State schema
      example:
        country:
          alpha2: FR
        id: AEA8D2254D475DED13FD3F4339C6B8G
        name: Île-de-France
      properties:
        country:
          properties:
            alpha2:
              description: Country code (alpha-2)
              type: string
          required:
            - alpha2
          type: object
        id:
          $ref: '#/components/schemas/Id'
        name:
          description: State name
          type: string
      required:
        - country
        - id
        - name
      title: State
      type: object
    IntentTopic:
      description: Intent Topic schema
      example:
        category: technology
        id: 3C974F539EF4BC6A0504AAB13C506780
        name: SysFoo
      properties:
        category:
          description: Intent Topic category
          type: string
        id:
          $ref: '#/components/schemas/Id'
        name:
          description: Intent Topic name
          type: string
      required:
        - id
        - name
        - displayName
        - category
      title: IntentTopic
      type: object
    CompanyFaiResponse:
      description: Response object for a company's functional area intelligence
      properties:
        count:
          type: integer
        data:
          items:
            $ref: '#/components/schemas/CompanyFaiData'
          type: array
      title: CompanyFaiResponse
      type: object
    CompanyIntentRequest:
      description: >-
        A search query to get a list of intent data for a company, the can be
        optionally filtered by topic ids.
      properties:
        fields:
          $ref: '#/components/schemas/CompanyIntentsSelectFields'
        filters:
          $ref: '#/components/schemas/CompanyIntentFilters'
        limit:
          $ref: '#/components/schemas/Limit'
        offset:
          $ref: '#/components/schemas/Offset'
        sorts:
          $ref: '#/components/schemas/CompanyIntentSorts'
      required:
        - filters
      title: CompanyIntentRequest
      type: object
    InstallsFilters:
      description: >-
        Filter Product Installs by various criteria. Must provide either
        company_id OR company_ids, but not both.
      example:
        company_id: 1698C53EBC888758570396E0334965C1
        country_codes:
          ids:
            - US
          inclusion_method: ANY_PRESENT
        product_attributes:
          ids:
            - 222
          inclusion_method: ANY_PRESENT
        product_categories:
          ids:
            - 319D067B229178F03BCFA1DA4AC4DEDE
          inclusion_method: ANY_PRESENT
        products:
          ids:
            - 814
          inclusion_method: ANY_PRESENT
        vendors:
          ids:
            - 316
          inclusion_method: ANY_PRESENT
          product_count:
            max: 10
            min: 1
      properties:
        company_id:
          $ref: '#/components/schemas/Id'
        company_ids:
          description: Array of company IDs
          items:
            $ref: '#/components/schemas/Id'
          maxItems: 1000
          minItems: 1
          type: array
        country_codes:
          $ref: '#/components/schemas/CountryCodeFilter'
        product_attributes:
          $ref: '#/components/schemas/ProductAttributesFilter'
        product_categories:
          $ref: '#/components/schemas/ProductCategoriesFilter'
        products:
          $ref: '#/components/schemas/ProductFilter'
        vendors:
          $ref: '#/components/schemas/VendorFilter'
      title: InstallsFilters
      type: object
    CompanyInfoListRequest:
      description: >-
        Find companies based on the input, and return all firmographic
        information about them.
      properties:
        company_ids:
          description: Array of company IDs to retrieve
          items:
            $ref: '#/components/schemas/Id'
          maxItems: 1000
          minItems: 1
          type: array
        fields:
          $ref: '#/components/schemas/CompanyDataFields'
        limit:
          $ref: '#/components/schemas/Limit'
        offset:
          $ref: '#/components/schemas/Offset'
      required:
        - company_ids
      title: CompanyInfoListRequest
      type: object
    CompanyInfoListResponse:
      description: Firmographic data about the companies.
      properties:
        count:
          description: The number of companies returned.
          type: integer
        data:
          items:
            allOf:
              - $ref: '#/components/schemas/CompanyObjectIdentifiers'
              - $ref: '#/components/schemas/CompanyObject'
            type: object
          type: array
      title: CompanyInfoListResponse
      type: object
    CompanyIntentObject:
      properties:
        buyers_journey_name:
          type: string
        context_name_array:
          items:
            type: string
          type: array
        country_name:
          type: string
        datestamp:
          type: string
        location_strength:
          type: integer
        region_name:
          type: string
        signal_strength:
          type: integer
        signal_trend:
          type: number
        state_name:
          type: string
        topic_id:
          type: string
        topic_name:
          type: string
        url:
          type: string
      title: CompanyIntentObject
      type: object
    CompanyFaiData:
      description: Functional area intelligence data for a company
      properties:
        company_id:
          $ref: '#/components/schemas/Id'
        decision_maker_presence:
          type: boolean
        department_id:
          $ref: '#/components/schemas/Id'
        department_name:
          type: string
        department_signal_strength:
          type: integer
        department_usage_share:
          type: integer
        influencer_presence:
          type: boolean
        last_verified_at:
          type: string
        product_id:
          type: integer
        product_name:
          type: string
        role_id:
          nullable: true
          type: string
        role_name:
          nullable: true
          type: string
        role_signal_share:
          nullable: true
          type: integer
        role_usage_share:
          nullable: true
          type: integer
        signal_city_name:
          type: string
        signal_country_name:
          type: string
        signal_state_name:
          type: string
        total_count:
          type: integer
      title: CompanyFaiData
      type: object
    CompanyFirmographicFilters:
      description: Firmographic based filters for companies.
      example:
        country_codes:
          - ids:
              - US
            inclusion_method: ANY_PRESENT
        employees:
          max: 2500000
          min: 1500000
        industries:
          - ids:
              - 16
            inclusion_method: ANY_PRESENT
        region_names:
          ids:
            - AMER
          inclusion_method: ANY_PRESENT
        revenue:
          max: 700000000000
          min: 600000000000
      properties:
        country_codes:
          $ref: '#/components/schemas/CountryCodesFilter'
        employees:
          $ref: '#/components/schemas/EmployeesFilter'
        industries:
          description: |2
              Filter by the industry which a company is categorized by.
              Accepts a list of HG Insights derived identifiers along with an inclusion method, with the inclusion method specifying whether companies should be included or excluded from the results based on the provided industry ids.
          example:
            - ids:
                - 16
              inclusion_method: NONE_PRESENT
          items:
            $ref: '#/components/schemas/AnyNoneNumericInclusionFilter'
          minItems: 1
          type: array
        region_names:
          $ref: '#/components/schemas/AnyNameInclusionFilter'
        revenue:
          $ref: '#/components/schemas/RevenueFilter'
        state_ids:
          $ref: '#/components/schemas/AnyIdInclusionFilter'
      title: CompanyFirmographicFilters
      type: object
    CompanyFilters:
      description: Filters object
      example:
        company_identifiers:
          company_ids:
            ids:
              - 1698C53EBC888758570396E0334965C1
            inclusion_method: ANY_PRESENT
        corporate_hierarchy:
          is_domestic_parent: true
          is_global_headquarters: true
        firmographics:
          country_codes:
            - ids:
                - US
              inclusion_method: ANY_PRESENT
          employees:
            max: 2500000
            min: 1500000
          industries:
            - ids:
                - 16
              inclusion_method: ANY_PRESENT
          region_names:
            ids:
              - AMER
            inclusion_method: ANY_PRESENT
          revenue:
            max: 700000000000
            min: 600000000000
        installs:
          product_attributes:
            ids:
              - 222
            inclusion_method: ANY_PRESENT
          product_categories:
            ids:
              - 319D067B229178F03BCFA1DA4AC4DEDE
            inclusion_method: ANY_PRESENT
          products:
            - ids:
                - 814
              inclusion_method: ANY_PRESENT
          vendors:
            - ids:
                - 316
              inclusion_method: ANY_PRESENT
        intent:
          signal_score: MEDIUM
          topics:
            ids:
              - 19861D3AC60455102792F87A33AF533F
            inclusion_method: ANY_PRESENT
        spend:
          - categories:
              ids:
                - 3B36D42E7F8E60BE58BA4356B6AF40C
              inclusion_method: ANY_PRESENT
            range:
              min: 2000000000
      properties:
        company_identifiers:
          $ref: '#/components/schemas/CompanyIdentifierFilters'
        corporate_hierarchy:
          $ref: '#/components/schemas/CompanyCorporateHierarchyFilters'
        firmographics:
          $ref: '#/components/schemas/CompanyFirmographicFilters'
        installs:
          $ref: '#/components/schemas/CompanyInstallFilters'
        intent:
          $ref: '#/components/schemas/CompanyFiltersIntent'
        spend:
          description: Filter results based on spend filters
          items:
            $ref: '#/components/schemas/SpendFilter'
          minItems: 1
          type: array
      title: CompanyFilters
      type: object
    CompanyInstallsResponse:
      description: A list of installs for a company, and number of total installs found.
      properties:
        count:
          description: The number of installs at the company fitting the criteria.
          type: integer
        data:
          items:
            $ref: '#/components/schemas/InstallObject'
          type: array
      title: CompanyInstallsResponse
      type: object
    CompanySearchRequest:
      description: A search query to get a list of companies based on filter criteria.
      example:
        fields:
          - company_id
          - company_name
          - domain_name
          - domain_name_normalized
        filters:
          company_identifiers:
            company_ids:
              ids:
                - 1698C53EBC888758570396E0334965C1
              inclusion_method: ANY_PRESENT
          corporate_hierarchy:
            is_domestic_parent: true
            is_global_headquarters: true
          firmographics:
            country_codes:
              - ids:
                  - US
                inclusion_method: ANY_PRESENT
            employees:
              max: 2500000
              min: 1500000
            industries:
              - ids:
                  - 16
                inclusion_method: ANY_PRESENT
            region_names:
              ids:
                - AMER
              inclusion_method: ANY_PRESENT
            revenue:
              max: 700000000000
              min: 600000000000
          installs:
            product_attributes:
              ids:
                - 222
              inclusion_method: ANY_PRESENT
            product_categories:
              ids:
                - 319D067B229178F03BCFA1DA4AC4DEDE
              inclusion_method: ANY_PRESENT
            products:
              - ids:
                  - 814
                inclusion_method: ANY_PRESENT
            vendors:
              - ids:
                  - 316
                inclusion_method: ANY_PRESENT
          intent:
            signal_score: MEDIUM
            topics:
              ids:
                - 19861D3AC60455102792F87A33AF533F
              inclusion_method: ANY_PRESENT
          spend:
            - categories:
                ids:
                  - 3B36D42E7F8E60BE58BA4356B6AF40C
                inclusion_method: ANY_PRESENT
              range:
                min: 2000000000
        limit: 10
        offset: 0
        sorts:
          - direction: DESC
            field: company_name
      properties:
        fields:
          $ref: '#/components/schemas/SelectedCompanySearchFields'
        filters:
          $ref: '#/components/schemas/CompanyFilters'
        limit:
          $ref: '#/components/schemas/Limit'
        offset:
          $ref: '#/components/schemas/Offset'
        sorts:
          $ref: '#/components/schemas/CompanyFieldSorts'
      required:
        - filters
        - fields
      title: CompanySearchRequest
      type: object
    CountryCodesFilter:
      description: >
        Filter by the country in which a company is based.

        Accepts a list of alpha-2 codes along with an inclusion method, with the
        inclusion method specifying whether companies should be included or
        excluded from the results based on the provided country codes.

        Alpha-2 codes are based on the ISO 3166 international standard. A
        complete list can be found here: https://www.iso.org/obp/ui/#search",
      example:
        - ids:
            - CA
            - US
          inclusion_method: ANY_PRESENT
        - ids:
            - GB
          inclusion_method: NONE_PRESENT
      items:
        $ref: '#/components/schemas/CountryCodeFilter'
      minItems: 1
      title: CountryCodesFilter
      type: array
    CompanyFaiRequest:
      description: >-
        Retrieve functional area intelligence data for a company based on
        certain criteria.
      properties:
        fields:
          $ref: '#/components/schemas/CompanyFaiSelectFields'
        filters:
          $ref: '#/components/schemas/CompanyFaiFilters'
      required:
        - filters
      title: CompanyFaiRequest
      type: object
    CompanyFieldNames:
      description: >-
        Allowed fields to be selected and returned in the response. Includes
        deprecated OppGen fields for backwards compatibility.
      enum:
        - company_id
        - company_name
        - domain_name
        - domain_name_normalized
        - company_level
        - city_name
        - state_name
        - postal_code
        - country_name
        - country_code
        - continent_name
        - subcontinent_name
        - geopolitical_name
        - industry_id
        - industry_name
        - naics_code
        - naics_name
        - sic_codes
        - sic_names
        - revenue_total
        - revenue_band
        - employees_total
        - employees_band
        - it_spend
        - forbes_2000_rank
        - fortune_500_rank
        - global_hq_company_name
        - global_hq_domain_name
        - global_hq_domain_name_normalized
        - global_hq_hg_id
        - global_hq_city_name
        - global_hq_state_name
        - global_hq_postal_code
        - global_hq_country_name
        - global_hq_country_code
        - global_hq_subcontinent_name
        - global_hq_continent_name
        - global_hq_geopolitical_name
        - global_hq_employees_band
        - global_hq_revenue_band
        - global_hq_industry_id
        - global_hq_industry_name
        - global_hq_naics_code
        - global_hq_naics_name
        - global_hq_sic_codes
        - global_hq_sic_names
        - global_hq_forbes_2000_rank
        - global_hq_fortune_500_rank
      title: CompanyFieldNames
      type: string
    MaxFilter:
      description: Maximum range filter object
      example:
        max: 50
      maxProperties: 1
      properties:
        max:
          description: Maximum value
          minimum: 0
          type: integer
      required:
        - max
      title: MaxFilter
      type: object
    CompanyFaiSelectFields:
      default:
        - company_id
        - product_name
        - department_name
        - role_name
      description: List of fields to be selected.
      example:
        - company_id
        - product_name
        - department_name
        - role_name
      items:
        $ref: '#/components/schemas/CompanyFaiFieldNames'
      nullable: true
      title: CompanyFaiSelectFields
      type: array
    SpendCategoriesResponse:
      description: Response schema for Spend categories
      example:
        count: 1
        data:
          - exportName: export_foo_bar
            id: 5D8B4B61BA2C56471268612D83903B6
            name: Application Led Outsourcing
            nameTree:
              - Total IT
              - Total External IT
              - Services
              - Application Led Outsourcing
            parentId: 1DF1C16E82351BD6ABC74D230191CD1E
      properties:
        count:
          description: Record count
          type: integer
        data:
          items:
            $ref: '#/components/schemas/SpendCategories'
          type: array
      title: SpendCategoriesResponse
      type: object
    EmployeesFilter:
      description: >-
        Filter by the number of employees working at a company. Some companies
        are listed as having a single discrete number of employees, while others
        are listed as a range. By default this filter will match against both.
      example:
        has_fixed_employees: true
        max: 2500
        min: 500
      properties:
        has_fixed_employees:
          description: >-
            Whether to limit the companies returned to those with a fixed number
            of employees (and exclude those listed as a range).
          nullable: true
          type: boolean
        max:
          description: The maximum number of employees to match against.
          minimum: 0
          nullable: true
          type: integer
        min:
          description: The minimum number of employees to match against.
          minimum: 0
          nullable: true
          type: integer
      title: EmployeesFilter
      type: object
    IntentContextTypesResponse:
      description: Response schema for Intent Context Types
      example:
        count: 1
        data:
          - description: Foo bar description
            id: 2E64D9D97CF79E96941A831E40507CA2
            name: Displacement
      properties:
        count:
          description: Record count
          type: integer
        data:
          items:
            $ref: '#/components/schemas/IntentContextTypes'
          type: array
      title: IntentContextTypesResponse
      type: object
    AnyAllIdInclusionFilter:
      description: >-
        Inclusion filter object for use with hex encoded IDs. Can filter ids by
        ANY_PRESENT or ALL_PRESENT inclusion methods
      example:
        ids:
          - 1698C53EBC888758570396E0334965C1
        inclusion_method: ANY_PRESENT
      properties:
        ids:
          description: Hex Encoded IDs
          items:
            $ref: '#/components/schemas/Id'
          minItems: 1
          type: array
        inclusion_method:
          $ref: '#/components/schemas/AnyAllInclusionMethod'
      required:
        - ids
        - inclusion_method
      title: AnyAllIdInclusionFilter
      type: object
    CompanyCorporateHierarchyFilters:
      description: Filters based on a company's corporate hierarchy classification.
      example:
        is_domestic_parent: true
        is_global_headquarters: true
      properties:
        is_corporate_parent:
          description: >-
            Filter based on if a company is classified as a corporate parent or
            not.
          type: boolean
        is_domestic_parent:
          description: >-
            Filter based on if a company is classified as a domestic parent or
            not.
          type: boolean
        is_global_headquarters:
          description: >-
            Filter based on if a company is classified as a global headquarters
            or not.
          type: boolean
      title: CompanyCorporateHierarchyFilters
      type: object
    NotFoundResponse:
      properties:
        errors:
          items:
            properties:
              detail:
                type: 'null'
              source:
                type: 'null'
              title:
                example: Not Found
                type: string
            required:
              - title
              - detail
            type: object
          type: array
      title: NotFoundResponse
      type: object
    CompanyInfoResponse:
      allOf:
        - $ref: '#/components/schemas/CompanyObjectIdentifiers'
        - $ref: '#/components/schemas/CompanyObject'
      description: Firmographic data about the company.
      title: CompanyInfoResponse
      type: object
    ProductFilter:
      allOf:
        - $ref: '#/components/schemas/AnyNoneNumericInclusionFilter'
      description: Filter by Product IDs
      example:
        ids:
          - 16994
        inclusion_method: ANY_PRESENT
      title: ProductFilter
      type: object
    Country:
      description: Country schema
      example:
        alpha2: FR
        id: 6FA567B72D78B7E3EA746973FBBD1D5
        name: France
        region:
          id: 22F89A300F983190022374848C4353B0
          name: EMEA
      properties:
        alpha2:
          description: Country code (alpha-2)
          type: string
        id:
          $ref: '#/components/schemas/Id'
        name:
          description: Country name
          type: string
        region:
          properties:
            id:
              $ref: '#/components/schemas/Id'
            name:
              description: Region name
              type: string
          required:
            - id
            - name
          type: object
      required:
        - alpha2
        - id
        - name
        - region
      title: Country
      type: object
    CompanyIntentSorts:
      items:
        $ref: '#/components/schemas/CompanyIntentSortedIntentField'
      title: CompanyIntentSorts
      type: array
    SpendCategories:
      description: Spend categories schema
      example:
        exportName: export_foo_bar
        id: 5D8B4B61BA2C56471268612D83903B6
        name: Application Led Outsourcing
        nameTree:
          - Total IT
          - Total External IT
          - Services
          - Application Led Outsourcing
        parentId: 1DF1C16E82351BD6ABC74D230191CD1E
      properties:
        exportName:
          description: Spend category export name
          type: string
        id:
          $ref: '#/components/schemas/Id'
        name:
          description: Spend category name
          type: string
        nameTree:
          description: Spend category name tree
          items:
            type: string
          type: array
        parentId:
          description: Spend category parent ID
          type: string
      required:
        - id
        - name
        - exportName
        - nameTree
        - parentId
      title: SpendCategories
      type: object
    CountryCodeFilter:
      description: Inclusion filter object (using string names as IDs)
      example:
        ids:
          - CA
          - US
        inclusion_method: ANY_PRESENT
      properties:
        ids:
          description: Country Codes
          items:
            maxLength: 2
            minLength: 2
            type: string
          minItems: 1
          type: array
        inclusion_method:
          $ref: '#/components/schemas/AnyNoneInclusionMethod'
      required:
        - ids
        - inclusion_method
      title: CountryCodeFilter
      type: object
    ProductsResponse:
      description: Response schema for products
      example:
        count: 1
        data:
          - category:
              id: 63E88D6A88D45AB23B4CB4E71CB5A2E
            description: Foo bar is an amazing product!
            id: 32
            name: Foo Bar
            vendor:
              id: 493
      properties:
        count:
          description: Record count
          type: integer
        data:
          items:
            $ref: '#/components/schemas/Product'
          type: array
      title: ProductsResponse
      type: object
    CompanyIntentFilters:
      example:
        company_id: 1698C53EBC888758570396E0334965C1
        topic_ids:
          - 243E8A9405E4B25CBCDB2D0DC14ED608
          - 243F7993B10E4519E189D18FCF58388C
          - 24435A2522405B507389E2CB4784C4DD
      properties:
        company_id:
          $ref: '#/components/schemas/Id'
        topic_ids:
          items:
            $ref: '#/components/schemas/Id'
          nullable: true
          type: array
      required:
        - company_id
      title: CompanyIntentFilters
      type: object
    IntentTopicsFilter:
      allOf:
        - $ref: '#/components/schemas/AnyAllIdInclusionFilter'
      description: Filter based on the topics associated with an intent signal.
      example:
        ids:
          - 19861D3AC60455102792F87A33AF533F
        inclusion_method: ANY_PRESENT
      title: IntentTopicsFilter
      type: object
    SpendObject:
      properties:
        category_description:
          type: string
        category_id:
          type: string
        category_name:
          type: string
        company_id:
          type: string
        country_code:
          type: string
        country_name:
          type: string
        spend:
          type: integer
      title: SpendObject
      type: object
    CountriesResponse:
      description: Response schema for countries
      example:
        count: 1
        data:
          - alpha2: FR
            id: 6FA567B72D78B7E3EA746973FBBD1D5
            name: France
            region:
              id: 22F89A300F983190022374848C4353B0
              name: EMEA
      properties:
        count:
          description: Record count
          type: integer
        data:
          items:
            $ref: '#/components/schemas/Country'
          type: array
      title: CountriesResponse
      type: object
    InstallObjectIdentifiers:
      description: A smaller object to identify a Company, no firmographic information.
      properties:
        product_id:
          type: integer
        product_name:
          type: string
      title: InstallObjectIdentifiers
      type: object
    CompanySpendFilters:
      description: >-
        Filters for company spend data. Must provide either company_id OR
        company_ids, but not both.
      example:
        category_ids:
          - 03B36D42E7F8E60BE58BA4356B6AF40C
          - 3B7D551F81A8A448041BF23C85E3D21B
        company_id: 1698C53EBC888758570396E0334965C1
      properties:
        category_ids:
          description: Array of category IDs to filter by
          items:
            $ref: '#/components/schemas/Id'
          type: array
        company_id:
          $ref: '#/components/schemas/Id'
        company_ids:
          description: Array of company IDs
          items:
            $ref: '#/components/schemas/Id'
          maxItems: 1000
          minItems: 1
          type: array
      title: CompanySpendFilters
      type: object
    CompanyIntentFieldNames:
      description: Allowed fields to be selected and returned in the response.
      enum:
        - topic_id
        - topic_name
        - url
        - signal_strength
        - signal_trend
        - location_strength
        - buyers_journey_name
        - context_name_array
        - state_name
        - country_name
        - region_name
        - datestamp
      title: CompanyIntentFieldNames
      type: string
    MinFilter:
      description: Minimum range filter object
      example:
        min: 25
      maxProperties: 1
      properties:
        min:
          description: Minimum value
          minimum: 0
          type: integer
      required:
        - min
      title: MinFilter
      type: object
    CompanyIntentSortedIntentField:
      properties:
        direction:
          $ref: '#/components/schemas/SortDirection'
        field:
          $ref: '#/components/schemas/CompanyIntentSortFields'
      required:
        - field
        - direction
      title: CompanyIntentSortedIntentField
      type: object
    CompanySearchFieldNames:
      description: Allowed fields to be selected and returned in the response.
      enum:
        - company_id
        - company_name
        - domain_name
        - domain_name_normalized
      title: CompanySearchFieldNames
      type: string
    AnyNumericInclusionFilter:
      description: >-
        Inclusion filter object using integer IDs. Can filter ids by the
        ANY_PRESENT inclusion method.
      example:
        ids:
          - 16994
        inclusion_method: ANY_PRESENT
      properties:
        ids:
          description: Numeric IDs
          items:
            type: integer
          minItems: 1
          type: array
        inclusion_method:
          $ref: '#/components/schemas/AnyInclusionMethod'
      required:
        - ids
        - inclusion_method
      title: AnyNumericInclusionFilter
      type: object
    CompanyFaiFilters:
      description: >-
        Filters to be used to narrow down the functional area intelligence data
        to return. Must provide either company_id OR company_ids, but not both.
      example:
        company_id: 0252985AFE13886BC6FFA5CEBD75F4FA
        departments:
          - 0D32106BCB6DE321930CF34574EA388C
          - 3D4C638DA5F85D025963F99FE90B1B1A
          - 2C329EF27D7F8CB49D656D5502B9E939
        products:
          - 1150
          - 805
          - 25421
          - 826
          - 814
          - 562
        roles:
          - 2AB3F09BBBA80FF82B8FD5916954C46A
          - 2E6BAB5FC1C661EDD7A863D4DCA3415B
          - 21C896AFCD34E446180844D91359246E
          - 39FD56FC1455D4D872DB14F656225740
      properties:
        company_id:
          $ref: '#/components/schemas/Id'
        company_ids:
          description: Array of company IDs
          items:
            $ref: '#/components/schemas/Id'
          maxItems: 1000
          minItems: 1
          type: array
        departments:
          description: >-
            Return functional area intelligence records which are based on the
            provided department ids.
          items:
            $ref: '#/components/schemas/Id'
          minItems: 1
          nullable: false
          type: array
        products:
          description: >-
            Return functional area intelligence records which are based on the
            provided product ids.
          items:
            type: integer
          minItems: 1
          nullable: false
          type: array
        roles:
          description: >-
            Return functional area intelligence records which are based on the
            provided department role ids.
          items:
            $ref: '#/components/schemas/Id'
          minItems: 1
          nullable: false
          type: array
      required:
        - products
        - departments
      title: CompanyFaiFilters
      type: object
    CompanyIdentifierFilters:
      description: Filters based around company identifiers.
      example:
        company_ids:
          ids:
            - 1698C53EBC888758570396E0334965C1
          inclusion_method: ANY_PRESENT
      properties:
        company_ids:
          allOf:
            - $ref: '#/components/schemas/AnyIdInclusionFilter'
          description: |2
              A list of hex encoded company identifiers to filter your results by.
              Any company that matches one of the provided identifiers will be returned.
          example:
            ids:
              - 1C4B141E475CD272E44F67087E0FDFD4
            inclusion_method: ANY_PRESENT
          type: object
        company_ids_including_corporate_relatives:
          allOf:
            - $ref: '#/components/schemas/AnyIdInclusionFilter'
          description: |2
              A list of hex encoded company identifiers to filter your results by.
              Results will include both the companies which match the provided IDs, as well as all other companies within it's corporate hierarchy.
          example:
            ids:
              - 1698C53EBC888758570396E0334965C1
            inclusion_method: ANY_PRESENT
          type: object
      title: CompanyIdentifierFilters
      type: object
    Vendor:
      description: Vendor schema
      example:
        id: '10056'
        name: Vendor Name
        url: https://vendor.com
      properties:
        id:
          $ref: '#/components/schemas/Id'
        name:
          description: Vendor name
          type: string
        url:
          description: Vendor URL
          type: string
      required:
        - id
        - name
        - url
      title: Vendor
      type: object
    Industry:
      description: Industry schema
      example:
        id: 63E88D6A88D45AB23B4CB4E71CB5A2E
        name: Foo Bar
      properties:
        id:
          $ref: '#/components/schemas/Id'
        name:
          description: Industry name
          type: string
      required:
        - id
        - name
      title: Industry
      type: object
    CompanySpendSorts:
      items:
        $ref: '#/components/schemas/CompanySpendSortedSpendField'
      title: CompanySpendSorts
      type: array
    UnauthorizedResponse:
      properties:
        errors:
          items:
            properties:
              detail:
                example: The token provided is not valid
                type: string
              source:
                type: 'null'
              title:
                example: Unauthorized
                type: string
            required:
              - title
              - detail
            type: object
          type: array
      title: UnauthorizedResponse
      type: object
    IntentContextTypes:
      description: Intent Context Types schema
      example:
        description: Foo bar description
        id: 2E64D9D97CF79E96941A831E40507CA2
        name: Displacement
      properties:
        description:
          description: Intent Context Type description
          type: string
        id:
          $ref: '#/components/schemas/Id'
        name:
          description: Intent Context Type name
          type: string
      required:
        - id
        - name
        - description
      title: IntentContextTypes
      type: object
    AnyAllInclusionMethod:
      description: Inclusion method for just ANY_PRESENT or ALL_PRESENT
      enum:
        - ANY_PRESENT
        - ALL_PRESENT
      title: AnyAllInclusionMethod
      type: string
    AnyNoneIdInclusionFilter:
      description: >-
        Inclusion filter object for use with hex encoded IDs. Can filter ids by
        ANY_PRESENT or NONE_PRESENT inclusion methods
      example:
        ids:
          - 1698C53EBC888758570396E0334965C1
        inclusion_method: ANY_PRESENT
      properties:
        ids:
          description: Hex Encoded IDs
          items:
            $ref: '#/components/schemas/Id'
          minItems: 1
          type: array
        inclusion_method:
          $ref: '#/components/schemas/AnyNoneInclusionMethod'
      required:
        - ids
        - inclusion_method
      title: AnyNoneIdInclusionFilter
      type: object
    CompanySpendsSelectFields:
      default:
        - company_id
        - spend
        - category_id
        - country_code
      description: A list of data points to be returned in the API response.
      items:
        $ref: '#/components/schemas/CompanySpendFieldNames'
      title: CompanySpendsSelectFields
      type: array
    SICUS1987:
      description: SIC US 1987 schema
      example:
        code: '33636'
        codeStandard: '5912'
        id: 3FCEDF144BE9F3DFF1145DB6C515FB34
        name: Foo Bar
        parentId: 264DD858DB942CAD06F24FF25DF56716
      properties:
        code:
          description: SIC US 1987 code
          type: string
        codeStandard:
          description: SIC US 1987 code standard
          type: string
        id:
          $ref: '#/components/schemas/Id'
        name:
          description: SIC US 1987 name
          type: string
        parentId:
          description: Parent SIC US 1987 ID
          type: string
      required:
        - code
        - id
        - name
        - parentId
        - codeStandard
      title: SICUS1987
      type: object
    AnyNoneInclusionMethod:
      description: Inclusion method for just ANY_PRESENT or NONE_PRESENT
      enum:
        - ANY_PRESENT
        - NONE_PRESENT
      title: AnyNoneInclusionMethod
      type: string
    JsonErrorResponse:
      properties:
        errors:
          items:
            properties:
              detail:
                example: null value where string expected
                type: string
              source:
                properties:
                  pointer:
                    example: /data/attributes/petName
                    type: string
                required:
                  - pointer
                type: object
              title:
                example: Invalid value
                type: string
            required:
              - title
              - source
              - detail
            type: object
          type: array
      required:
        - errors
      title: JsonErrorResponse
      type: object
    ProductAttributesFilterCompanyInstalls:
      allOf:
        - $ref: '#/components/schemas/AnyNumericInclusionFilter'
      description: >-
        Filter based on the product attributes associated with an install
        record.
      example:
        ids:
          - 222
        inclusion_method: ANY_PRESENT
      title: ProductAttributesFilterCompanyInstalls
      type: object
    ProductAttributesFilter:
      allOf:
        - $ref: '#/components/schemas/AnyNoneNumericInclusionFilter'
      description: Filter by Product Attribute IDs
      example:
        ids:
          - 16994
        inclusion_method: ANY_PRESENT
      title: ProductAttributesFilter
      type: object
    CompanySpendResponse:
      description: A list of spend data for a company and the full count of spend data.
      properties:
        count:
          type: integer
        data:
          items:
            $ref: '#/components/schemas/SpendObject'
          type: array
      title: CompanySpendResponse
      type: object
    AnyInclusionMethod:
      description: Inclusion method for just ANY_PRESENT
      enum:
        - ANY_PRESENT
      title: AnyInclusionMethod
      type: string
    CompanySpendSortFields:
      enum:
        - spend
        - category_id
        - country_code
      title: CompanySpendSortFields
      type: string
    IntentSignalScoreFilter:
      default: HIGH
      description: |2
          Filter based on the signal score for an intent signal.
          Accepts either "MEDIUM" (from 65 to 84), and "HIGH" (from 85 to 100).
      enum:
        - MEDIUM
        - HIGH
      example: MEDIUM
      title: IntentSignalScoreFilter
      type: string
    SpendFilter:
      description: Filter by USD spent by a company in certain categories.
      example:
        categories:
          ids:
            - 3B36D42E7F8E60BE58BA4356B6AF40C
          inclusion_method: ANY_PRESENT
        range:
          min: 2000000000
      minProperties: 2
      properties:
        categories:
          $ref: '#/components/schemas/AnyIdInclusionFilter'
        range:
          $ref: '#/components/schemas/RangeFilter'
      required:
        - categories
        - range
      title: SpendFilter
      type: object
    Id:
      description: A unique hexadecimal identifier for the desired field.
      example: 1698C53EBC888758570396E0334965C1
      oneOf:
        - type: string
        - type: integer
      title: Id
    VendorFilter:
      allOf:
        - $ref: '#/components/schemas/AnyNoneNumericInclusionFilter'
      description: Filter by Vendor IDs
      example:
        ids:
          - 16994
        inclusion_method: ANY_PRESENT
      title: VendorFilter
      type: object
    CompanyInstallsRequest:
      description: >-
        A search query to get a list of installs for a company based on filter
        criteria.
      properties:
        fields:
          $ref: '#/components/schemas/SelectedInstallFields'
        filters:
          $ref: '#/components/schemas/InstallsFilters'
        limit:
          $ref: '#/components/schemas/Limit'
        offset:
          $ref: '#/components/schemas/Offset'
        sorts:
          $ref: '#/components/schemas/InstallFieldSorts'
      required:
        - filters
      title: CompanyInstallsRequest
      type: object
    IndustryResponse:
      description: Response schema for Industry
      example:
        count: 1
        data:
          - id: 63E88D6A88D45AB23B4CB4E71CB5A2E
            name: Foo Bar
      properties:
        count:
          description: Record count
          type: integer
        data:
          items:
            $ref: '#/components/schemas/Industry'
          type: array
      title: IndustryResponse
      type: object
    MinMaxFilter:
      description: MinMax range filter object
      example:
        max: 50
        min: 25
      properties:
        max:
          description: Maximum value
          minimum: 0
          type: integer
        min:
          description: Minimum value
          minimum: 0
          type: integer
      required:
        - min
        - max
      title: MinMaxFilter
      type: object
    Product:
      description: Product schema
      example:
        childrenAttributes:
          - description: >-
              Cloud Application Performance Management (or Cloud APM) software
              allows businesses to manage and monitor resources that provide
              support for cloud-based applications. Cloud APM software helps
              administrators identify, address, and resolve issues that impact
              both back-end functions (such as costs, security, resource
              availability, traffic, latency, or application errors) and
              end-user experiences. The goal of Cloud APM is to improve
              application responsiveness, uptime, and UX.
            id: 2
            level: 2
            name: Cloud Application Performance Management
        description: >-
          Cloud Computing refers to the delivery of computing services (hardware
          and software) via public, private, or hybrid cloud environments. Cloud
          Computing software includes but is not limited to servers, software,
          storage, networking, analytics, cloud APM, cloud CPG, cost
          optimization, workload management, data security, IT operations, and
          development environments.
        id: 1
        level: 1
        name: Cloud Computing
      properties:
        childrenAttributes:
          items:
            properties:
              description:
                description: Product Attribute description
                type: string
              id:
                $ref: '#/components/schemas/Id'
              level:
                description: Product Attribute level
                type: integer
              name:
                description: Product Attribute name
                type: string
            required:
              - description
              - id
              - level
              - name
            type: object
          type: array
        description:
          description: Product Attribute description
          type: string
        id:
          $ref: '#/components/schemas/Id'
        level:
          description: Product Attribute level
          type: integer
        name:
          description: Product Attribute name
          type: string
      required:
        - childrenAttributes
        - description
        - id
        - level
        - name
      title: Product
      type: object
    InstallFieldSorts:
      default:
        - direction: DESC
          field: product_intensity
      items:
        $ref: '#/components/schemas/SortedInstallField'
      title: InstallFieldSorts
      type: array
    RevenueFilter:
      description: >-
        Filter by the revenue earned by a company. Some companies are listed as
        having a single discrete revenue value, while others are listed as a
        range. By default this filter will match against both.
      example:
        has_fixed_revenue: true
        max: 50000000
        min: 10000000
      properties:
        has_fixed_revenue:
          description: >-
            Whether to limit the companies returned to those listed with a
            single/fixed revenue value (and exclude those listed as a range).
          nullable: true
          type: boolean
        max:
          description: The maximum revenue to match against.
          minimum: 0
          nullable: true
          type: integer
        min:
          description: The minimum revenue to match against.
          minimum: 0
          nullable: true
          type: integer
      title: RevenueFilter
      type: object
    CompanyObject:
      properties:
        city_name:
          type: string
        global_hq_postal_code:
          type: integer
        global_hq_naics_code:
          type: string
        sic_names:
          items:
            type: string
          type: array
        continent_name:
          type: string
        global_hq_company_name:
          type: string
        global_hq_forbes_2000_rank:
          minimum: 1
          nullable: true
          type: integer
        global_hq_sic_names:
          items:
            type: string
          type: array
        it_spend:
          nullable: true
          type: integer
        global_hq_domain_name_normalized:
          type: string
        forbes_2000_rank:
          minimum: 1
          nullable: true
          type: integer
        country_name:
          type: string
        revenue_band:
          description: Revenue band
          type: string
        global_hq_subcontinent_name:
          type: string
        global_hq_industry_id:
          type: integer
        global_hq_hg_id:
          type: string
        geopolitical_name:
          type: string
        employees_total:
          description: Number of employees
          nullable: true
          type: integer
        global_hq_geopolitical_name:
          type: string
        postal_code:
          type: string
        global_hq_naics_name:
          type: string
        industry_name:
          type: string
        global_hq_fortune_500_rank:
          minimum: 1
          nullable: true
          type: integer
        industry_id:
          type: integer
        global_hq_state_name:
          type: string
        sic_codes:
          items:
            type: string
          type: array
        global_hq_revenue_band:
          type: string
        global_hq_employees_band:
          type: string
        employees_band:
          description: Employees band
          type: string
        global_hq_domain_name:
          type: string
        global_hq_continent_name:
          type: string
        country_code:
          type: string
        company_level:
          type: string
        state_name:
          type: string
        subcontinent_name:
          type: string
        global_hq_city_name:
          type: string
        global_hq_industry_name:
          type: string
        global_hq_country_name:
          type: string
        fortune_500_rank:
          minimum: 1
          nullable: true
          type: integer
        revenue_total:
          description: Revenue in USD
          nullable: true
          type: integer
        naics_code:
          type: string
        global_hq_country_code:
          type: string
        global_hq_sic_codes:
          items:
            type: string
          type: array
        naics_name:
          type: string
      title: CompanyObject
      type: object
  securitySchemes:
    authorization:
      in: header
      name: Authorization
      type: apiKey
info:
  description: >
    # Overview of the HG Insights API


    The HG Insights API provides comprehensive, data-driven insights into global
    technology markets and company landscapes.  This API can be leveraged to
    seamlessly integrate HG’s firmographic and technographic data into platforms
    and internal processes.


    Today, the API allows you to search our database of entities, understand our
    catalog of filters and products, and enrich firmographic and install data by
    HG ID.


    # Summary of Endpoints


    ## Data Catalog API


    This endpoint is to help make sure you have the correctly formatted inputs
    in other calls.  This is an important resource that should be used to make
    sure parameters of other endpoints lead to successful calls.


    Closely review the ReDoc/Swagger before making these calls, as some require
    additional inputs in the query parameters.


    This catalog will generate lists for the following areas of the product:

    - Countries

    - FAI Departments

    - FAI Roles

    - Industries

    - Intent Buyers Journey

    - Intent Context Types

    - Intent Topics

    - NAICS 2012

    - Product Attributes

    - Product Categories

    - Products

    - SIC

    - Spend Categories

    - States

    - Vendors


    Data Catalog


    ## Company Match API


    This endpoint allows you to find entities in our dataset by name, country
    and/or URL.


    Some entities can return a number of records back due to areas of deep
    location granularity in our data set.  As a result, we allow you to return
    between 1 and 10 possible matches based on your input.


    This endpoint will return the HG ID, Name and URL back to you for matching
    records.  HG ID will be an important parameter in firmographic and install
    endpoints.


    Company Match API


    ## Company Search API


    This endpoint allows you to find companies based on our wide variety of
    search criteria.


    We’ll return back to you the count of companies that match your criteria, as
    well as an array of Name, Domain, Domain Normalized and HG ID.  The array
    will be limited based on the value set in the request.  HG ID will be an
    important parameter in firmographic and install endpoints.


    Pay careful attention to the request body scheme to ensure a successful
    call.  We highly recommend consulting the data catalog endpoint for help
    exploring options and selecting the right syntax.


    Company Search API


    ## Company Firmographics API


    This endpoint allows the user to retrieve firmographic information about a
    company.  Response will cover all fields available in the Platform today,
    including firmographics for both the target company and the GHQ.


    An HG ID must be included in the parameter for this call to be successful,
    and the call will return data for that single HG ID.


    Company Firmographics API


    ## Company Installs API


    This endpoint allows the user to retrieve product install information about
    a company.


    Filter your request by specific product datapoints relating to the id, name,
    vendor and category details, along with localization of the install.


    An HG ID must be included in the parameter for this call to be successful,
    and the call will return data for that single HG ID.


    Company Installs API


    ## Spend API


    This endpoint allows the user to retrieve IT Spend Budget data about a
    company.


    Requests can be filtered to only specific IT Spend Budget categories, or all
    categories can be returned in the call.


    An HG ID must be included in the parameter for this call to be successful,
    and the call will return data for that single HG ID.


    Spend API


    ## Functional Area Intelligence


    HG Insights’ Functional Area Intelligence solution predicts where detected
    technologies are used on both a departmental and location-specific level
    within an organization. Given a product in a department, we will return top
    locations where a Decision Maker or Influencer is present.


    An HG ID, product(s) and department(s) must be included in the parameter for
    this call to be successful, you may also optionally include roles to further
    target the returned data. The call will return data for that single HG ID.


    Functional Area Intelligence API


    ## Intent API


    HG Contextual Intent is a solution designed for companies looking to
    leverage the power of customer buying patterns. This intent data is then
    contextualized with each company’s technographic profile to provide refined
    insights that support laser-focused company targeting.


    A HG ID must be included in the parameter for this call to be successful,
    and the call will return data for that single HG ID. Requests can be
    filtered to only specific Intent topics, or all provisioned topics can be
    returned in the call. Available intent topics are limited to those
    provisioned to your organization.


    # API Structure + Base URL


    The API is structured around REST commands with HTTPS response codes to
    indicate either successful calls or errors produced.  Responses are all JSON
    objects.


    When making API requests in URL, you must do so over HTTPS - calls made over
    HTTP will fail.


    # Note: Configuration for Large Data Transfer


    Some endpoints, especially the ones inside our Data Catalog can return a lot
    of data. To reduce the data transfer and increase response time, the client
    should use the
    [Content-Encoding](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding)
    header and specify a compression method, like gzip.


    # Tokens & Authentication


    To access our data, you will need a token - this is a small piece of code
    that verifies a user or application to access an API.  This token is needed
    for all API endpoints.


    **Does the token rotate?:** This token will be refreshed periodically and
    should be used in the request header to authenticate the request.


    **How to Obtain a Token:** This token will be supplied to you via your CSM.


    **Security Best Practices:** Keep your API token confidential and regenerate
    tokens if compromised.  Use HTTPS for all API requests


    # API Errors


    ## Error Codes


    The API uses standard HTTP status codes to indicate the success or failure
    of a request.


    | Code | Description | Notes |

    |------|-------------|-------|

    | 200  | OK          |       |

    | 401  | Unauthorized | Probably a missing token or an invalid token |

    | 404  | Not found | The requested resource was not found |

    | 422 | Unprocessable Entity | Most likely the request body is invalid
    because of missing or invalid parameters validated by the Open API Spec |



    ## Error messages


    The error messages follow always the same pattern for syntax errors:


    ```json

    {
      "errors": [
        {
          "title": "Invalid request",
          "detail": "The request is invalid",
          "source": {
            "pointer": "/data/attributes/first-name"
          }
        }
      ]
    }

    ```
  license:
    name: HG Insights terms of service
    url: https://hginsights.com/contact-hg/terms-of-service
  title: HG Insights API
  version: ''
openapi: 3.0.0
paths:
  /data-api/v1/catalog/countries:
    get:
      callbacks: {}
      description: List all countries
      operationId: list_countries
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountriesResponse'
          description: Countries
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Unprocessable Entity
      summary: List countries
      tags:
        - Catalog
        - Geography
  /data-api/v1/catalog/fai_departments:
    get:
      callbacks: {}
      description: List all FAI departments
      operationId: list_fai_departments
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FAIDepartmentResponse'
          description: FAI departments
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Unprocessable Entity
      summary: List FAI departments
      tags:
        - Catalog
        - FAI
  /data-api/v1/catalog/industries:
    get:
      callbacks: {}
      description: List all industries
      operationId: list_industries
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IndustryResponse'
          description: Industries
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Unprocessable Entity
      summary: List industries
      tags:
        - Catalog
        - Industry
  /data-api/v1/catalog/intent_buyers_journey:
    get:
      callbacks: {}
      description: List all intent buyers journey
      operationId: list_intent_buyers_journey
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntentBuyersJourneyResponse'
          description: Intent buyers journey
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Unprocessable Entity
      summary: List intent buyers journey
      tags:
        - Catalog
        - Intent
  /data-api/v1/catalog/intent_context_types:
    get:
      callbacks: {}
      description: List all intent context types
      operationId: list_intent_context_types
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntentContextTypesResponse'
          description: Intent context types
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Unprocessable Entity
      summary: List intent context types
      tags:
        - Catalog
        - Intent
  /data-api/v1/catalog/intent_topics:
    get:
      callbacks: {}
      description: List all intent topics
      operationId: list_intent_topics
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntentTopicsResponse'
          description: Intent topics
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Unprocessable Entity
      summary: List intent topics
      tags:
        - Catalog
        - Intent
  /data-api/v1/catalog/naics2012:
    get:
      callbacks: {}
      description: List all NAICS 2012
      operationId: list_naics2012
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NAICS2012Response'
          description: NAICS 2012
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Unprocessable Entity
      summary: List NAICS 2012
      tags:
        - Catalog
        - Industry
  /data-api/v1/catalog/product_attributes:
    get:
      callbacks: {}
      description: List all products attributes
      operationId: list_product_attributes
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductAttributesResponse'
          description: Products Attributtes
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Unprocessable Entity
      summary: List products attributes
      tags:
        - Catalog
        - Technographic
  /data-api/v1/catalog/product_categories:
    get:
      callbacks: {}
      description: List all product categories
      operationId: list_product_categories
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductCategoriesResponse'
          description: Product Categories
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Unprocessable Entity
      summary: List product categories
      tags:
        - Catalog
        - Technographic
  /data-api/v1/catalog/products:
    get:
      callbacks: {}
      description: List all products
      operationId: list_products
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductsResponse'
          description: Products
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Unprocessable Entity
      summary: List products
      tags:
        - Catalog
        - Technographic
  /data-api/v1/catalog/provisioned_intent_topics:
    get:
      callbacks: {}
      description: List all intent topics which are provisioned for the user's organization
      operationId: list_provisioned_intent_topics
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntentTopicsResponse'
          description: Provisioned intent topics
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Unprocessable Entity
      summary: List provisioned intent topics
      tags:
        - Catalog
        - Intent
  /data-api/v1/catalog/sicus1987:
    get:
      callbacks: {}
      description: List all SIC US 1987
      operationId: list_sicus1987
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SICUS1987Response'
          description: SIC US 1987
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Unprocessable Entity
      summary: List SIC US 1987
      tags:
        - Catalog
        - Industry
  /data-api/v1/catalog/spend_categories:
    get:
      callbacks: {}
      description: List all spend categories
      operationId: list_spend_categories
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpendCategoriesResponse'
          description: Spend categories
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Unprocessable Entity
      summary: List spend categories
      tags:
        - Catalog
        - Spend
  /data-api/v1/catalog/states:
    get:
      callbacks: {}
      description: List all states
      operationId: list_states
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatesResponse'
          description: States
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Unprocessable Entity
      summary: List states
      tags:
        - Catalog
        - Geography
  /data-api/v1/catalog/vendors:
    get:
      callbacks: {}
      description: List vendors by search term
      operationId: list_vendors
      parameters:
        - description: Vendor name
          in: query
          name: name
          required: false
          schema:
            example: Ford
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VendorsResponse'
          description: Vendors
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Error
      summary: List vendors
      tags:
        - Catalog
        - Technographic
  /data-api/v1/company/firmographic:
    post:
      callbacks: {}
      description: >
        Returns detailed information about the specified company, including
        firmographics, installed technologies, and more.


        Results are internally sorted by revenue (descending).


        It's also possible to specify what fields from the API should be
        returned. By default, only some fields are returned.
      operationId: company_info
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyInfoRequest'
        description: Company Info Request
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyInfoResponse'
          description: Company Info Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Unprocessable Entity
      summary: Firmographic
      tags:
        - Company
        - Companies
  /data-api/v1/company/firmographics:
    post:
      callbacks: {}
      description: >
        Returns detailed information about the specified companies, including
        firmographics, installed technologies, and more.


        Results are internally sorted by revenue (descending).


        It's also possible to specify what fields from the API should be
        returned. By default, only some fields are returned.
      operationId: companies_info
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyInfoListRequest'
        description: Company Info List Request
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyInfoListResponse'
          description: Company Info List Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Unprocessable Entity
      summary: Firmographics
      tags:
        - Company
        - Companies
  /data-api/v1/company/functional_area_intelligence:
    post:
      callbacks: {}
      description: >
        Lookup functional area intelligence data for a company based on a
        company's ID, products, departments, and roles.


        Results have an internal limit of 10.


        It's also possible to specify what fields from the API should be
        returned. By default, only some fields are returned.
      operationId: company_fai
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyFaiRequest'
        description: Company FAI Request
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyFaiResponse'
          description: Company FAI Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Unprocessable Entity
      summary: Functional Area Intelligence
      tags:
        - Company
        - FAI
  /data-api/v1/company/installs:
    post:
      callbacks: {}
      description: >
        Retrieve a list of technologies (and corresponding details) which a
        company has been detected to have used or 'installed'.


        It's also possible to specify what fields from the API should be
        returned. By default, only some fields are returned.
      operationId: company_installs
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyInstallsRequest'
        description: Company Installs Request
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyInstallsResponse'
          description: Company Installs Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Unprocessable Entity
      summary: Product installs
      tags:
        - Company
        - Technographic
  /data-api/v1/company/intent:
    post:
      callbacks: {}
      description: >
        Returns intent data about the specified company.


        It's also possible to specify what fields from the API should be
        returned. By default, only some fields are returned.
      operationId: company_intent
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyIntentRequest'
        description: Company Intent Request
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyIntentResponse'
          description: Company Intent Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Unprocessable Entity
      summary: Company Intent
      tags:
        - Company
        - Intent
  /data-api/v1/company/match:
    get:
      callbacks: {}
      description: |
        Match to HG companies by company name, country code and/or domain URL.

        Limited to maximum of 10 companies and sorted by relevance and revenue.
      operationId: find_companies
      parameters:
        - description: Name of the company to search for.
          in: query
          name: company_name
          required: false
          schema:
            example: Ford Motor Company
            type: string
        - description: >-
            The country where the company's global headquarters resides. Can be
            a country name or an ISO 3166 alpha-2 code.
          in: query
          name: country_code
          required: false
          schema:
            example: United States
            type: string
        - description: The domain URL associated with the company.
          in: query
          name: domain_name
          required: false
          schema:
            example: ford.com
            type: string
        - description: The limit of results to be returned. Default of 10.
          in: query
          name: limit
          required: false
          schema:
            example: 10
            maximum: 10
            minimum: 1
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FindCompaniesResponse'
          description: Companies
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Error
      summary: Match Companies
      tags:
        - Company
        - Companies
  /data-api/v1/company/search:
    post:
      callbacks: {}
      description: Retrieve a list of companies and their corresponding details.
      operationId: search_companies
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanySearchRequest'
        description: Search for companies
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanySearchResponse'
          description: Search Companies Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Unprocessable Entity
      summary: Search & Filter Companies
      tags:
        - Company
        - Companies
  /data-api/v1/company/spend:
    post:
      callbacks: {}
      description: >
        Returns spend data about the specified company.


        It's also possible to specify what fields from the API should be
        returned. By default, only some fields are returned.
      operationId: company_spend
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanySpendRequest'
        description: Company Spend Request
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanySpendResponse'
          description: Company Spend Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Unprocessable Entity
      summary: Spend
      tags:
        - Company
        - Spend
security:
  - authorization: []
servers:
  - url: https://api.hginsights.com
tags: []
x-tagGroups:
  - name: API endpoints by context
    tags:
      - Geography
      - Industry
      - Technographic
      - Intent
      - FAI
      - Companies
      - Spend
  - name: API endpoints by type
    tags:
      - Catalog
      - Company
