---
title: "Save competitor exclusions"
method: POST
path: "/v1/commands/save_competitor_exclusions"
tags: ["Competitor research"]
---

# Save competitor exclusions

`POST /v1/commands/save_competitor_exclusions`

## Request

- Base URL: `https://app.agentlinkops.com`
- URL: `https://app.agentlinkops.com/v1/commands/save_competitor_exclusions`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Shared command transport. All logical arguments in JSON; no query or Idempotency-Key header. See canonical operation reference.

## Headers

- `X-Workspace-ID` string

## Request body

- SaveCompetitorExclusionsInput
  - `setId` string, required: set ID from create/list.
  - `expectedRevision` integer, required: Previously read revision; mismatches reject concurrent updates.
  - `rules` object[], required: Customer-owned exclusion rules for the selected competitor revision.
    - `grouping` 'page' | 'source_host', required
    - `value` string, required

## Response `200`

Command result, including queued admission.

- SaveCompetitorExclusionsOutput
  - `set_id` string, required
  - `revision` number, required: Optimistic concurrency revision; supply it as expectedRevision on the next write.
  - `current_revision` number, required
  - `set_revision_at_save` number, nullable, required
  - `saved_by` string, nullable, required
  - `saved_at` string, nullable, required
  - `rules` object[], required
    - `grouping` 'page' | 'source_host', required
    - `value` string, required

## Other responses

- `429`: Request-rate or usage refusal. Inspect error.code and recovery details before retrying.
- `default`: Error envelope. Non-configuration 5xx messages are masked and details omitted; allowlisted configuration errors retain static operator recovery.

---

[API](https://skmtc.dev/agentlinkops/apis/agentlinkops-http-api.md) · [All operations](https://skmtc.dev/agentlinkops/apis/agentlinkops-http-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agentlinkops/apis/agentlinkops-http-api/revisions/1bf30c2912b2?raw)
