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

# Snooze Interaction

> Hide one interaction until a deadline you set

Snooze **one** interaction: hide it from the Signals feed, the digest and the critical alerts until `snooze_until`, after which it comes back on its own.

Interaction-scoped and self-expiring, which is the whole difference from [dismiss](https://docs.clustr-ai.com/api-reference/dismiss-competitor-target.md): that one is person-scoped and permanent. Snooze is for "I have seen this, ask me again later"; dismiss is for "this person is not relevant".

The three id fields identify the interaction. Take them straight off a row from [the feed](https://docs.clustr-ai.com/api-reference/list-competitor-interactions.md): `rep_linkedin_id`, `target_linkedin_id`, `post_key`.

Idempotent: re-snoozing overwrites the deadline. Omitting both `snooze_until` and `days` un-snoozes.

```bash cURL theme={null}
curl -X POST https://api.clustr-ai.com/api/public/competitor-interactions/snooze \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "actor_linkedin_id": "per_bs9t25pnx8ax5p80ckexz9r35s",
    "target_linkedin_id": "per_pfc2a7z0j6r9sbtedxy7gayf39",
    "post_key": "urn:li:activity:7212345678901234567",
    "snooze_until": "2026-08-05T08:00:00Z"
  }'
```

```python Python theme={null}
import requests

requests.post(
    "https://api.clustr-ai.com/api/public/competitor-interactions/snooze",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={
        "actor_linkedin_id": "per_bs9t25pnx8ax5p80ckexz9r35s",
        "target_linkedin_id": "per_pfc2a7z0j6r9sbtedxy7gayf39",
        "post_key": "urn:li:activity:7212345678901234567",
        "snooze_until": "2026-08-05T08:00:00Z",
    },
)
```

```javascript JavaScript theme={null}
await fetch("https://api.clustr-ai.com/api/public/competitor-interactions/snooze", {
  method: "POST",
  headers: { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({
    actor_linkedin_id: "per_bs9t25pnx8ax5p80ckexz9r35s",
    target_linkedin_id: "per_pfc2a7z0j6r9sbtedxy7gayf39",
    post_key: "urn:li:activity:7212345678901234567",
    snooze_until: "2026-08-05T08:00:00Z",
  }),
});
```

```json 200 theme={null}
{
  "success": true,
  "data": { "ok": true, "snoozed_until": "2026-08-05T08:00:00Z" }
}
```

```json 400 theme={null}
{
  "success": false,
  "error": {
    "message": "actor_linkedin_id, target_linkedin_id and post_key are required",
    "code": "BAD_REQUEST"
  }
}
```


## OpenAPI

````yaml POST /competitor-interactions/snooze
openapi: 3.1.0
info:
  title: Clustr Public API
  description: >
    Programmatic access to your Clustr network: import connectors, search warm
    intros (opportunities), and manage target accounts.


    ## Authentication

    All endpoints require a Bearer token (API key) in the `Authorization`
    header.


    ```

    Authorization: Bearer <your_api_key>

    ```


    API keys can be created and managed from the [API settings
    page](https://app.clustr-ai.com/api).
  version: '1.0'
  contact:
    name: Clustr Support
    url: https://clustr-ai.com
servers:
  - url: https://api.clustr-ai.com/api/public
    description: Production
security:
  - BearerAuth: []
paths:
  /competitor-interactions/snooze:
    post:
      tags:
        - Competitor Monitoring
      summary: Snooze Interaction
      description: >-
        Hides one interaction from the feed, the digest and the critical alerts
        until `snooze_until`; it then reappears automatically. A snooze applies
        to one interaction and expires, while Dismiss a Person silences a person
        until you undo it. To lift a snooze, send neither `snooze_until` nor
        `days`.
      operationId: snoozeCompetitorInteraction
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - actor_linkedin_id
                - target_linkedin_id
                - post_key
              properties:
                actor_linkedin_id:
                  type: string
                  description: >-
                    The Clustr ID (`per_…`) of the competitor's salesperson.
                    Their LinkedIn id (`rep_linkedin_id` on

                    the feed entry) also works.
                target_linkedin_id:
                  type: string
                  description: >-
                    The engaged person's Clustr ID (`per_…`). Their LinkedIn id
                    also works.
                post_key:
                  type: string
                  description: The interaction's `post_key`, as the feed returns it.
                snooze_until:
                  type: string
                  format: date-time
                  description: >-
                    The moment the snooze ends, as an RFC 3339 timestamp. Prefer
                    it over `days`: you know the user's timezone, so you can
                    turn "until Monday morning" into the right moment.
                days:
                  type: integer
                  description: >-
                    Snoozes for this many days from now, as a simpler
                    alternative. `snooze_until` takes precedence when both are
                    sent.
      responses:
        '200':
          description: Snoozed
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - data
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    type: object
                    additionalProperties: true
        '401':
          description: Invalid or missing API key
        '403':
          description: Competitor monitoring is not enabled for this workspace
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ErrorResponse:
      type: object
      required:
        - success
        - error
      properties:
        success:
          type: boolean
          example: false
        error:
          type: object
          properties:
            message:
              type: string
              example: Invalid request body
            code:
              type: string
              example: BAD_REQUEST
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: The API key you created on the API settings page of the Clustr app.

````

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