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

# Get an account's buying committee

> Decision-makers at the account who have NOT engaged a competitor themselves (contact_type Buying Committee). The account's signals came from other people; never describe them as something these people did.



## OpenAPI

````yaml /openapi.json get /accounts/{account_id}/buying-committee
openapi: 3.1.0
info:
  title: Letterdrop Competitor Monitoring API
  version: 2.0.0
  license:
    name: Proprietary
    url: https://letterdrop.com/terms
  description: >-
    Read your workspace's Competitor Monitoring data: the accounts where people
    engaged your competitors, the contacts and signals behind each, their CRM
    context, your outreach, and the dashboard metrics.


    The API speaks the same language as the New Competitor Deal webhook (payload
    version v2): a field has the same name and the same values in both, so
    whatever you build on one reads the other.


    **Versioning.** The major version is in the path (/api/v2). Within v2
    changes are additive only (new optional fields, filters, endpoints), so
    ignore fields you do not recognise. The v1 competitor-monitoring endpoints
    keep working unchanged.


    **Rate limits.** Per workspace: 10 requests/second and 600/minute, plus 20
    uncached computations/minute (analytics count as 4). Cached reads
    (meta.cache = hit), including every later page of a list you already
    started, use no computation budget. Every response carries RateLimit-Limit /
    RateLimit-Remaining / RateLimit-Reset; a 429 carries Retry-After.


    **Freshness.** Results are cached for a few minutes (analytics and filter
    options a little longer); meta.data_as_of says when the data was computed.
    Signals are collected daily, so polling faster than every few minutes
    returns the same data.
servers:
  - url: https://api.letterdrop.com/api/v2
security: []
tags:
  - name: Accounts
    description: Companies with competitor signals, and what we know about each.
  - name: Contacts
    description: The people behind the signals.
  - name: Analytics
    description: The dashboard metrics, one endpoint each.
  - name: Filters
    description: Every key of every object, and how to select and filter on it.
externalDocs:
  description: Developer reference
  url: https://api.letterdrop.com/api/v2/docs
paths:
  /accounts/{account_id}/buying-committee:
    get:
      tags:
        - Accounts
      summary: Get an account's buying committee
      description: >-
        Decision-makers at the account who have NOT engaged a competitor
        themselves (contact_type Buying Committee). The account's signals came
        from other people; never describe them as something these people did.
      operationId: getAccountBuyingCommittee
      parameters:
        - name: account_id
          in: path
          required: true
          description: The account_id of an account, URL-encoded (domain%3Aacme.com).
          schema:
            type: string
        - name: include
          in: query
          required: false
          description: contact_info adds contact_work_email and contact_phone_number.
          schema:
            type: string
        - name: fields
          in: query
          required: false
          description: Comma-separated fields of each item to return; omit for all.
          schema:
            type: string
            maxLength: 4000
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    properties:
                      account_id:
                        type: string
                      buying_committee:
                        type: array
                        items:
                          $ref: '#/components/schemas/Contact'
                  meta:
                    $ref: '#/components/schemas/Meta'
              example:
                data:
                  account_id: domain:acme.com
                  buying_committee:
                    - contact_name: Sam Lee
                      contact_job_title: Director of Finance
                      contact_linkedin_url: https://example.com/in/sam-lee
                      contact_type: Buying Committee
                      contact_role: decision_maker
                      contact_bucket: strong
                      contact_buying_committee_role: economic_buyer
                      contact_first_signal_date: ''
                      contact_latest_signal_date: ''
                      signal_freshness: ''
                      recommended_channels: Email
                      recommended_email: true
                      recommended_linkedin: false
                      recommended_call: false
                      outreach_contacted: false
                      outreach_replied: false
                      outreach_contacted_by_name: ''
                      outreach_contacted_by_email: ''
                      signals: []
                meta:
                  api_version: '2'
                  data_as_of: '2026-11-02T09:36:28.016Z'
                  cache: hit
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/Unprocessable'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/ServerError'
      security:
        - WorkspaceKey: []
        - BearerAuth:
            - mcp.read
components:
  schemas:
    Contact:
      type: object
      description: >-
        A person at an account: someone who engaged a competitor (Engaged
        Contact), or a decision-maker who did not (Buying Committee).
      x-field-groups:
        - Contact
        - Signal
        - Outreach
        - Recommended
      properties:
        contact_name:
          type: string
          description: Full name.
          x-group: Contact
        contact_job_title:
          type: string
          description: Current job title.
          x-group: Contact
        contact_linkedin_url:
          type: string
          description: Social profile URL.
          x-group: Contact
        contact_work_email:
          type: string
          description: >-
            Work email this workspace already enriched. Only with
            include=contact_info; empty means not enriched yet.
          x-group: Contact
        contact_phone_number:
          type: string
          description: >-
            Phone this workspace already enriched. Only with
            include=contact_info.
          x-group: Contact
        contact_type:
          type: string
          x-values:
            - Engaged Contact
            - Buying Committee
          description: >-
            Engaged Contact: this person produced signals. Buying Committee: a
            decision-maker at the account who has NOT engaged a competitor.
          x-group: Contact
        contact_role:
          type:
            - string
            - 'null'
          description: >-
            Role in a purchase (e.g. champion, decision_maker). Null when not
            classified.
          x-group: Contact
        contact_bucket:
          type:
            - string
            - 'null'
          description: >-
            How strong a fit the person is (strong, potential, weak). Null when
            not classified.
          x-group: Contact
        contact_buying_committee_role:
          type: string
          description: >-
            Seniority classification of the person (e.g. business_evaluator).
            Not committee membership.
          x-group: Contact
        contact_first_signal_date:
          type: string
          x-format: YYYY-MM-DD, or empty
          description: >-
            This person's first dated signal. Empty when all their signals are
            Historic.
          x-group: Signal
        contact_latest_signal_date:
          type: string
          x-format: YYYY-MM-DD, or empty
          description: >-
            This person's latest dated signal. Empty when all their signals are
            Historic.
          x-group: Signal
        signal_freshness:
          type: string
          x-values:
            - Recent
            - Historic
            - Stale
          description: Freshness of this person's latest signal.
          x-group: Signal
        recommended_channels:
          type: string
          description: >-
            The recommended outreach as one label, e.g. "Email + Call". Empty
            when there is no recommendation.
          x-group: Recommended
        recommended_email:
          type: boolean
          description: Email is recommended.
          x-group: Recommended
        recommended_linkedin:
          type: boolean
          description: Social outreach is recommended.
          x-group: Recommended
        recommended_call:
          type: boolean
          description: A call is recommended.
          x-group: Recommended
        outreach_contacted:
          type: boolean
          description: Your team has reached out to this person (CRM).
          x-group: Outreach
        outreach_replied:
          type: boolean
          description: This person replied (CRM).
          x-group: Outreach
        outreach_contacted_by_name:
          type: string
          description: Who on your team reached out.
          x-group: Outreach
        outreach_contacted_by_email:
          type: string
          description: Their email.
          x-group: Outreach
        signals:
          type: array
          items:
            $ref: '#/components/schemas/Signal'
          description: >-
            This person's signals, newest first. Empty for a Buying Committee
            member.
          x-group: Signal
    Meta:
      type: object
      required:
        - api_version
        - data_as_of
        - cache
      properties:
        api_version:
          type: string
          const: '2'
        data_as_of:
          type: string
          format: date-time
          description: >-
            When the data in this response was computed. Responses are cached
            for a few minutes; this tells you how fresh they are.
        cache:
          type: string
          enum:
            - hit
            - miss
            - shared
            - 'off'
          description: >-
            hit = served from cache; miss = computed for this request; shared =
            joined a computation already running for the same query.
    Signal:
      type: object
      description: One interaction between a contact and a competitor's employee.
      x-field-groups:
        - Signal
        - Competitor
      properties:
        signal_id:
          type: string
          description: Stable id of this signal. The webhook sends the same id.
          x-group: Signal
        signal_summary:
          type: string
          description: >-
            One sentence: who did what with whom, e.g. "Engaged with a VP of
            Sales at HubSpot".
          x-group: Signal
        signal_post_url:
          type: string
          description: The post the interaction was on, when there is one. Empty otherwise.
          x-group: Signal
        signal_freshness:
          type: string
          x-values:
            - Recent
            - Historic
            - Stale
          description: >-
            Recent: observed since monitoring began. Historic: a relationship
            that existed before monitoring began. Stale: the account's signals
            have aged past your sales cycle.
          x-group: Signal
        signal_date:
          type: string
          x-format: YYYY-MM-DD, or empty
          description: >-
            When the signal happened. Empty for a Historic signal, whose real
            date is unknown.
          x-group: Signal
        signal_collected_date:
          type: string
          x-format: YYYY-MM-DD, or empty
          description: >-
            When Letterdrop recorded the signal. For a Historic signal this is
            the only date there is.
          x-group: Signal
        competitor_name:
          type: string
          description: The competitor the signal involves.
          x-group: Competitor
        competitor_rep_title:
          type: string
          description: >-
            Job title of the competitor's employee in the signal. Names are not
            published.
          x-group: Competitor
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
              enum:
                - invalid_request
                - invalid_json
                - invalid_cursor
                - cursor_expired
                - unauthorized
                - forbidden
                - account_not_found
                - not_found
                - rate_limited
                - internal_error
            message:
              type: string
            details:
              type: array
              items:
                type: object
                properties:
                  path:
                    type: string
                  message:
                    type: string
              description: 'For invalid_request: one entry per parameter that failed.'
  responses:
    Unauthorized:
      description: Missing or invalid credential.
      x-status: 401
      x-codes:
        - unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: The credential lacks the mcp.read scope.
      x-status: 403
      x-codes:
        - forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: No such account in this workspace, or no such route.
      x-status: 404
      x-codes:
        - account_not_found
        - not_found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unprocessable:
      description: A parameter failed validation; details lists each one.
      x-status: 422
      x-codes:
        - invalid_request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    TooManyRequests:
      description: Rate limited; wait Retry-After seconds.
      x-status: 429
      x-codes:
        - rate_limited
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      headers:
        Retry-After:
          schema:
            type: integer
          description: Seconds to wait.
    ServerError:
      description: Our fault; retry, and contact support if it persists.
      x-status: 500
      x-codes:
        - internal_error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    WorkspaceKey:
      type: apiKey
      in: header
      name: api-key
    BearerAuth:
      type: http
      scheme: bearer

````

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