> ## Documentation Index
> Fetch the complete documentation index at: https://docs.monaco.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Estimate a TAM Preview's Qualifier cost

> Price the Qualifier research of a Preview request before running it, in AI signal credits at the list rate: matched companies x the AI signal rate. Creates, researches and charges nothing. The Preview charges nothing either; the research is charged, per usable answer, only when that Preview's Import is accepted.



## OpenAPI

````yaml https://api.monaco.com/openapi.json post /v1/tam/preview/estimate
openapi: 3.1.0
info:
  title: Monaco Public API
  description: Public API for Monaco
  version: 1.0.0
servers:
  - url: https://api.monaco.com
security: []
paths:
  /v1/tam/preview/estimate:
    post:
      tags:
        - TAM
      summary: Estimate a TAM Preview's Qualifier cost
      description: >-
        Price the Qualifier research of a Preview request before running it, in
        AI signal credits at the list rate: matched companies x the AI signal
        rate. Creates, researches and charges nothing. The Preview charges
        nothing either; the research is charged, per usable answer, only when
        that Preview's Import is accepted.
      operationId: estimate_tam_preview
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TamPreviewRequest-Input'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicItemResponse_TamPreviewEstimate_'
        4XX:
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
components:
  schemas:
    TamPreviewRequest-Input:
      properties:
        request_id:
          type: string
          format: uuid
          title: Request Id
          description: Keep this ID when repeating the same Preview request.
        contact_filters:
          $ref: '#/components/schemas/TamContactFilters'
        exclude_companies_without_titles:
          type: boolean
          title: Exclude Companies Without Titles
          default: false
        tag_ids:
          items:
            type: string
            format: uuid
          type: array
          title: Tag Ids
        contact_tag_ids:
          items:
            type: string
            format: uuid
          type: array
          title: Contact Tag Ids
        tag_existing_accounts:
          type: boolean
          title: Tag Existing Accounts
          description: >-
            Add tag_ids to existing Accounts reused by this Import too. False
            tags only Accounts this Import creates; existing tags are always
            kept.
          default: true
        tag_existing_contacts:
          type: boolean
          title: Tag Existing Contacts
          description: >-
            Add contact_tag_ids to existing Contacts reused by this Import too.
            False tags only Contacts this Import creates; existing tags are
            always kept.
          default: true
        qualifier_signal_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Qualifier Signal Id
          description: >-
            The Account AI field whose researched answer decides which companies
            pass. Any AI-filled Account field of this organization can be this
            run's Qualifier. Leave it empty to run no Qualifier.
        qualifier_rule:
          anyOf:
            - $ref: '#/components/schemas/TamQualifierRule'
            - type: 'null'
          description: >-
            The passing answer for qualifier_signal_id, as {"operator":
            "equals", "value": …}. Rule operators: equals | contains (contains
            ignores case; use it for text and multi-select). A researched answer
            that does not pass the rule excludes the company and its people, the
            same as a failed or unanswered one; passing rows remain importable
            and Import writes each passing answer into the field. Required with
            qualifier_signal_id.
        company_filters:
          $ref: '#/components/schemas/TamCompanyFilters-Input'
        search_input:
          anyOf:
            - $ref: '#/components/schemas/TamSearchPreviewInput-Input'
            - type: 'null'
          description: Exact Search criteria supplied by the caller for this Preview.
      additionalProperties: false
      type: object
      required:
        - request_id
        - company_filters
      title: TamPreviewRequest
    PublicItemResponse_TamPreviewEstimate_:
      properties:
        data:
          $ref: '#/components/schemas/TamPreviewEstimate'
        meta:
          $ref: '#/components/schemas/ResponseMeta'
      type: object
      required:
        - data
      title: PublicItemResponse[TamPreviewEstimate]
    PublicErrorResponse:
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetail'
      type: object
      required:
        - error
      title: PublicErrorResponse
    TamContactFilters:
      properties:
        include_keywords:
          items:
            type: string
          type: array
          title: Include Keywords
        exclude_keywords:
          items:
            type: string
          type: array
          title: Exclude Keywords
        seniority:
          anyOf:
            - type: string
              enum:
                - Individual Contributor
                - Senior Individual Contributor
                - Manager
                - Senior Manager
                - Director
                - Senior Director
                - VP
                - SVP
                - EVP
                - C-Level
                - Founder
            - type: 'null'
          title: Seniority
        countries:
          items:
            type: string
          type: array
          title: Countries
      additionalProperties: false
      type: object
      title: TamContactFilters
    TamQualifierRule:
      properties:
        operator:
          type: string
          enum:
            - equals
            - contains
          title: Operator
          default: equals
        value:
          anyOf:
            - type: boolean
            - type: integer
            - type: number
            - type: string
          title: Value
      additionalProperties: false
      type: object
      required:
        - value
      title: TamQualifierRule
    TamCompanyFilters-Input:
      properties:
        account_view_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Account View Id
        filtering_rules:
          anyOf:
            - $ref: '#/components/schemas/TamFilters-Input'
            - type: 'null'
        searching_rule:
          anyOf:
            - $ref: '#/components/schemas/TamSearchRule'
            - type: 'null'
      additionalProperties: false
      type: object
      title: TamCompanyFilters
    TamSearchPreviewInput-Input:
      properties:
        filtering_rules:
          anyOf:
            - $ref: '#/components/schemas/TamFilters-Input'
            - type: 'null'
        title_enrichment:
          anyOf:
            - $ref: '#/components/schemas/TamSearchTitleEnrichment'
            - type: 'null'
        searching_rule:
          anyOf:
            - $ref: '#/components/schemas/TamSearchRule'
            - type: 'null'
        grouping_rule:
          anyOf:
            - $ref: '#/components/schemas/TamGroupRule'
            - type: 'null'
        sorting_rules:
          items:
            $ref: '#/components/schemas/TamSortRule'
          type: array
          title: Sorting Rules
          default: []
        with_titles:
          type: boolean
          title: With Titles
          default: false
        title_search:
          items:
            type: string
          type: array
          title: Title Search
          default: []
        exclude_companies_in_tam:
          type: boolean
          title: Exclude Companies In Tam
          default: false
        max_candidates:
          anyOf:
            - type: integer
              minimum: 1
            - type: 'null'
          title: Max Candidates
        query_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Query Id
        account_view_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Account View Id
      additionalProperties: false
      type: object
      title: TamSearchPreviewInput
    TamPreviewEstimate:
      properties:
        companies:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          title: Companies
          description: >-
            Companies these criteria match, from the same Search source; null
            when the source reports no count. An upper bound: Preview
            eligibility only removes.
        cost:
          $ref: '#/components/schemas/TamResearchCost'
      type: object
      required:
        - companies
        - cost
      title: TamPreviewEstimate
      description: >-
        What a Preview's Qualifier research would cost; nothing is created or
        charged.
    ResponseMeta:
      properties:
        timestamp:
          type: string
          format: date-time
          title: Timestamp
          description: Server timestamp of the response
      type: object
      title: ResponseMeta
    ErrorDetail:
      properties:
        code:
          type: string
          title: Code
          description: Machine-readable error code
          examples:
            - not_found
        message:
          type: string
          title: Message
          description: Human-readable error message
          examples:
            - Resource not found
      type: object
      required:
        - code
        - message
      title: ErrorDetail
    TamFilters-Input:
      properties:
        operator:
          type: string
          enum:
            - and
            - or
          title: Operator
          default: and
        filters:
          items:
            anyOf:
              - $ref: '#/components/schemas/TamRule'
              - $ref: '#/components/schemas/TamFilters-Input'
          type: array
          minItems: 1
          title: Filters
      additionalProperties: false
      type: object
      required:
        - filters
      title: TamFilters
    TamSearchRule:
      properties:
        value:
          type: string
          title: Value
      additionalProperties: false
      type: object
      required:
        - value
      title: TamSearchRule
    TamSearchTitleEnrichment:
      properties:
        condition:
          type: string
          enum:
            - and
            - or
          title: Condition
          default: or
        criterias:
          items:
            $ref: '#/components/schemas/TamTitleCriterion'
          type: array
          title: Criterias
          default: []
      additionalProperties: false
      type: object
      title: TamSearchTitleEnrichment
    TamGroupRule:
      properties:
        field:
          type: string
          title: Field
      additionalProperties: false
      type: object
      required:
        - field
      title: TamGroupRule
    TamSortRule:
      properties:
        field:
          type: string
          title: Field
        direction:
          type: string
          title: Direction
          default: desc
      additionalProperties: false
      type: object
      required:
        - field
      title: TamSortRule
    TamResearchCost:
      properties:
        companies:
          anyOf:
            - type: integer
            - type: 'null'
          title: Companies
          description: Companies the Qualifier researches (the estimate's count).
        units:
          anyOf:
            - type: integer
            - type: 'null'
          title: Units
          description: >-
            Companies whose research returned a usable answer, pass or fail: the
            units charged. Failed or unanswered research is not charged. Known
            once READY.
        unit_rate:
          anyOf:
            - type: number
            - type: 'null'
          title: Unit Rate
          description: >-
            AI signal credits per answer at the list rate; null when
            unavailable.
        estimated_ai_signal_credits:
          anyOf:
            - type: integer
            - type: 'null'
          title: Estimated Ai Signal Credits
          description: >-
            companies x unit_rate at the list rate; null when the rate is
            unavailable.
        actual_ai_signal_credits:
          anyOf:
            - type: integer
            - type: 'null'
          title: Actual Ai Signal Credits
          description: units x unit_rate, known once READY.
        unit_product:
          type: string
          title: Unit Product
          description: The AI signal product these credits draw from.
        rate_basis:
          type: string
          const: list
          title: Rate Basis
          description: The global list rate, not a contracted rate.
          default: list
        charged:
          type: boolean
          title: Charged
          description: >-
            False until the customer's Import of this Preview is accepted; then
            true. A Preview that is never imported is never charged.
        charged_operation_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Charged Operation Id
          description: The accepted Import that charged the research.
      type: object
      required:
        - unit_product
        - charged
      title: TamResearchCost
      description: >-
        Qualifier research priced in AI signal credits, the unit every AI signal
        draws from.
    TamRule:
      properties:
        field:
          type: string
          title: Field
        condition:
          type: string
          title: Condition
        value:
          anyOf:
            - {}
            - type: 'null'
          title: Value
      additionalProperties: false
      type: object
      required:
        - field
        - condition
      title: TamRule
    TamTitleCriterion:
      properties:
        condition:
          type: string
          enum:
            - and
            - or
          title: Condition
          default: and
        job_function:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Job Function
        seniority:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Seniority
        negate:
          type: boolean
          title: Negate
          default: false
      additionalProperties: false
      type: object
      title: TamTitleCriterion

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.