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

# Bulk dismiss recommended actions

> Dismisses multiple recommended actions in a single request with one shared reason. Items that are currently new or confirmed are moved to dismissed; the same reason and comment are persisted for all items. Items already dismissed are reported in skipped — the rest of the batch proceeds normally (partial-success semantics, not all-or-nothing). IDs not found in the current org/workspace scope are reported in skipped with reason not_found.



## OpenAPI

````yaml https://openapi.shareofmodel.ai/swagger.json post /v1/organizations/{organization_id}/workspaces/{workspace_id}/recommended-actions/bulk-dismiss
openapi: 3.0.3
info:
  title: Share Of Model API
  version: v1
  description: >-
    ## Model Context Protocol (MCP)


    In addition to this REST API, Share of Model exposes a **Model Context
    Protocol** server that lets AI assistants (Claude Desktop, Claude Code, MCP
    Inspector, custom agents…) call our endpoints directly as tools. Any
    MCP-compatible client can interact with Share of Model without writing
    custom integration code — connect once with your usual login and start
    asking the assistant to query the data for you.


    ### Connecting from Claude Desktop


    Open **Settings → Connectors**, scroll to the bottom and click **Add custom
    connector**, then paste `https://mcp.shareofmodel.ai/mcp/`. A browser window
    opens for you to log in with your Share of Model account (same login as the
    web app), and the assistant gains access to the tools.


    ### Connecting from Claude Code


    ```bash

    claude mcp add --transport http share-of-model
    https://mcp.shareofmodel.ai/mcp/

    ```


    The first time you call a tool, Claude Code opens your browser to complete
    the login.


    ### Connecting from MCP Inspector


    ```bash

    npx @modelcontextprotocol/inspector

    ```


    In the Inspector UI, pick **Streamable HTTP** as transport, paste
    `https://mcp.shareofmodel.ai/mcp/`, and click **Connect**. The first
    connection prompts you to log in.


    ### Available tools


    Only endpoints tagged `mcp` in this OpenAPI spec are exposed as MCP tools,
    and only read-only (`GET`) routes are exposed. Everything tagged `mcp` below
    is callable from any compliant MCP client.


    ### Example prompts


    Once connected, try asking your assistant things like:


    - _"List the workspaces I have access to."_

    - _"Show me the latest searches in workspace X."_

    - _"Compare the share of model between brand A and brand B over the last 30
    days."_


    For more details on the protocol itself, see the [Model Context Protocol
    specification](https://modelcontextprotocol.io/).
servers:
  - description: Production API
    url: https://api.shareofmodel.ai/
  - description: Development API
    url: https://api.dev.shareofmodel.ai/
security: []
tags:
  - name: Auth
    description: Endpoints needed for API authentication.
  - name: Organizations
    description: Endpoints related to organizations, to list all available organizations.
  - name: Workspaces
    description: Endpoints related to workspaces, to list all available workspaces.
  - name: Analyses
    description: Endpoints related to analyses and analyses management.
  - name: Asset Evaluations
    description: Endpoints related to assets and asset evaluations.
  - name: Brand Catalog
    description: Endpoints related to general brand information.
  - name: Content Briefs
    description: Endpoints related to content briefs generation and optimisation.
  - name: Metrics
    description: >+
      Endpoints related to brand metrics.


      **LEXICON**



      **Brand Awareness**: What opinion the LLMs have concerning specific
      brands, related to certain categories.



      **Brand Perception**: The general sentiment of the LLMs towards a brand,

      based on the pros and cons they mention.

paths:
  /v1/organizations/{organization_id}/workspaces/{workspace_id}/recommended-actions/bulk-dismiss:
    post:
      tags:
        - Recommended Action
      summary: Bulk dismiss recommended actions
      description: >-
        Dismisses multiple recommended actions in a single request with one
        shared reason. Items that are currently new or confirmed are moved to
        dismissed; the same reason and comment are persisted for all items.
        Items already dismissed are reported in skipped — the rest of the batch
        proceeds normally (partial-success semantics, not all-or-nothing). IDs
        not found in the current org/workspace scope are reported in skipped
        with reason not_found.
      operationId: bulk_dismiss_recommended_actions
      parameters:
        - in: path
          name: organization_id
          schema:
            type: string
            format: uuid
          description: Organization identifier
          required: true
        - in: path
          name: workspace_id
          schema:
            type: string
            format: uuid
          description: Workspace identifier
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkDismissRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BulkDismissRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BulkDismissRequest'
          '*/*':
            schema:
              $ref: '#/components/schemas/BulkDismissRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkDismissResponse'
          description: >-
            Partial-success result. succeeded lists dismissed IDs; skipped lists
            IDs that were already dismissed or not_found.
        '400':
          description: >-
            ids is missing/empty/invalid, or reason is missing or not a valid
            dismiss reason
        '401':
          description: Authentication credentials were not provided or are invalid
        '403':
          description: Permission denied
        '500':
          description: Server error
      security:
        - Bearer: []
components:
  schemas:
    BulkDismissRequest:
      type: object
      properties:
        ids:
          type: array
          items:
            type: string
            format: uuid
          description: List of recommended action UUIDs to dismiss
        reason:
          enum:
            - not_relevant
            - already_implemented
            - not_feasible
            - deprioritised
          type: string
          x-spec-enum-id: af269a7a5c2316c8
          description: >-
            Shared dismiss reason applied to every item in the batch. One of:
            not_relevant, already_implemented, not_feasible, deprioritised


            * `not_relevant` - not_relevant

            * `already_implemented` - already_implemented

            * `not_feasible` - not_feasible

            * `deprioritised` - deprioritised
        comment:
          type: string
          nullable: true
          description: Optional free-text comment applied to all dismissed items
      required:
        - ids
        - reason
    BulkDismissResponse:
      type: object
      properties:
        succeeded:
          type: array
          items:
            type: string
            format: uuid
          description: IDs that were successfully dismissed
        skipped:
          type: array
          items:
            $ref: '#/components/schemas/BulkDismissSkippedItem'
          description: IDs that were not processed and the reason why
      required:
        - skipped
        - succeeded
    BulkDismissSkippedItem:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Recommended action ID
        reason:
          enum:
            - already_confirmed
            - already_dismissed
            - not_found
          type: string
          x-spec-enum-id: ce32dfc2847dd354
          description: |-
            Why this item was not processed

            * `already_confirmed` - already_confirmed
            * `already_dismissed` - already_dismissed
            * `not_found` - not_found
      required:
        - id
        - reason
  securitySchemes:
    Bearer:
      type: apiKey
      in: header
      name: Authorization

````