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

# content_intelligence:write

> Act on recommendations and bulk-dismiss

<code>content\_intelligence:write</code>

The `content_intelligence:write` scope allows you to act on content intelligence recommendations and bulk-dismiss multiple recommendations at once. Use this scope in automation workflows that create content from recommendations and close the feedback loop.

## Endpoints

| Method | Path                                        | Description                     |
| ------ | ------------------------------------------- | ------------------------------- |
| `POST` | `/public/content-intelligence/{id}/act`     | Mark recommendation as acted on |
| `POST` | `/public/content-intelligence/bulk-dismiss` | Bulk dismiss recommendations    |

***

## Act on a recommendation

```
POST /public/content-intelligence/{id}/act
```

Marks a recommendation as acted on, linking it to the article that was created from it. This closes the feedback loop so the pipeline knows the gap has been addressed.

### Path parameters

| Name | Type          | Required | Description       |
| ---- | ------------- | -------- | ----------------- |
| `id` | string (UUID) | Yes      | Recommendation ID |

### Request body

| Name         | Type          | Required | Description                                        |
| ------------ | ------------- | -------- | -------------------------------------------------- |
| `article_id` | string (UUID) | Yes      | ID of the article created from this recommendation |

### Example

<CodeGroup>
  ```bash cURL theme={"theme":{"light":"github-light","dark":"github-dark"}}
  curl -X POST https://api.app.hrizn.io/v1/public/content-intelligence/c3a1f8b2-7e4d-4a9c-b5e6-1234567890ab/act \
    -H "X-API-Key: hzk_your_key_here" \
    -H "Content-Type: application/json" \
    -d '{"article_id": "a1b2c3d4-5e6f-7890-abcd-ef1234567890"}'
  ```

  ```typescript TypeScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
  const res = await fetch(
    "https://api.app.hrizn.io/v1/public/content-intelligence/c3a1f8b2-7e4d-4a9c-b5e6-1234567890ab/act",
    {
      method: "POST",
      headers: {
        "X-API-Key": "hzk_your_key_here",
        "Content-Type": "application/json",
      },
      body: JSON.stringify({ article_id: "a1b2c3d4-5e6f-7890-abcd-ef1234567890" }),
    }
  );
  const data = await res.json();
  ```

  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import requests

  response = requests.post(
      "https://api.app.hrizn.io/v1/public/content-intelligence/c3a1f8b2-7e4d-4a9c-b5e6-1234567890ab/act",
      headers={
          "X-API-Key": "hzk_your_key_here",
          "Content-Type": "application/json",
      },
      json={"article_id": "a1b2c3d4-5e6f-7890-abcd-ef1234567890"},
  )
  data = response.json()
  ```

  ```php PHP theme={"theme":{"light":"github-light","dark":"github-dark"}}
  $ch = curl_init("https://api.app.hrizn.io/v1/public/content-intelligence/c3a1f8b2-7e4d-4a9c-b5e6-1234567890ab/act");
  curl_setopt_array($ch, [
      CURLOPT_POST => true,
      CURLOPT_HTTPHEADER => [
          "X-API-Key: hzk_your_key_here",
          "Content-Type: application/json",
      ],
      CURLOPT_POSTFIELDS => json_encode(["article_id" => "a1b2c3d4-5e6f-7890-abcd-ef1234567890"]),
      CURLOPT_RETURNTRANSFER => true,
  ]);
  $data = json_decode(curl_exec($ch));
  ```
</CodeGroup>

### Response -- `200 OK`

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "data": {
    "id": "c3a1f8b2-7e4d-4a9c-b5e6-1234567890ab",
    "status": "acted_on",
    "acted_on_article_id": "a1b2c3d4-5e6f-7890-abcd-ef1234567890",
    "updated_at": "2026-03-02T10:30:00.000Z"
  }
}
```

### Status codes

| Code  | Description                                                                 |
| ----- | --------------------------------------------------------------------------- |
| `200` | Recommendation marked as acted on                                           |
| `400` | Invalid request body                                                        |
| `401` | Missing or invalid API key                                                  |
| `403` | API key does not have `content_intelligence:write` scope                    |
| `404` | Recommendation or article not found, or recommendation not in active status |
| `429` | Rate limit exceeded                                                         |
| `500` | Internal server error                                                       |

***

## Bulk dismiss recommendations

```
POST /public/content-intelligence/bulk-dismiss
```

Dismiss up to 50 recommendations in a single request.

### Request body

| Name  | Type             | Required | Description                        |
| ----- | ---------------- | -------- | ---------------------------------- |
| `ids` | string\[] (UUID) | Yes      | Array of recommendation IDs (1-50) |

### Example

<CodeGroup>
  ```bash cURL theme={"theme":{"light":"github-light","dark":"github-dark"}}
  curl -X POST https://api.app.hrizn.io/v1/public/content-intelligence/bulk-dismiss \
    -H "X-API-Key: hzk_your_key_here" \
    -H "Content-Type: application/json" \
    -d '{"ids": ["c3a1f8b2-7e4d-4a9c-b5e6-1234567890ab", "d4b2e9c3-8f5e-5b0d-c6f7-2345678901bc"]}'
  ```

  ```typescript TypeScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
  const res = await fetch(
    "https://api.app.hrizn.io/v1/public/content-intelligence/bulk-dismiss",
    {
      method: "POST",
      headers: {
        "X-API-Key": "hzk_your_key_here",
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        ids: [
          "c3a1f8b2-7e4d-4a9c-b5e6-1234567890ab",
          "d4b2e9c3-8f5e-5b0d-c6f7-2345678901bc",
        ],
      }),
    }
  );
  const data = await res.json();
  ```

  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import requests

  response = requests.post(
      "https://api.app.hrizn.io/v1/public/content-intelligence/bulk-dismiss",
      headers={
          "X-API-Key": "hzk_your_key_here",
          "Content-Type": "application/json",
      },
      json={"ids": [
          "c3a1f8b2-7e4d-4a9c-b5e6-1234567890ab",
          "d4b2e9c3-8f5e-5b0d-c6f7-2345678901bc",
      ]},
  )
  data = response.json()
  ```

  ```php PHP theme={"theme":{"light":"github-light","dark":"github-dark"}}
  $ch = curl_init("https://api.app.hrizn.io/v1/public/content-intelligence/bulk-dismiss");
  curl_setopt_array($ch, [
      CURLOPT_POST => true,
      CURLOPT_HTTPHEADER => [
          "X-API-Key: hzk_your_key_here",
          "Content-Type: application/json",
      ],
      CURLOPT_POSTFIELDS => json_encode(["ids" => [
          "c3a1f8b2-7e4d-4a9c-b5e6-1234567890ab",
          "d4b2e9c3-8f5e-5b0d-c6f7-2345678901bc",
      ]]),
      CURLOPT_RETURNTRANSFER => true,
  ]);
  $data = json_decode(curl_exec($ch));
  ```
</CodeGroup>

### Response -- `200 OK`

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "data": {
    "dismissed_count": 2,
    "dismissed": [
      {
        "id": "c3a1f8b2-7e4d-4a9c-b5e6-1234567890ab",
        "status": "dismissed",
        "updated_at": "2026-03-02T10:30:00.000Z"
      },
      {
        "id": "d4b2e9c3-8f5e-5b0d-c6f7-2345678901bc",
        "status": "dismissed",
        "updated_at": "2026-03-02T10:30:00.000Z"
      }
    ]
  }
}
```

### Status codes

| Code  | Description                                              |
| ----- | -------------------------------------------------------- |
| `200` | Success (dismissed\_count may be less than provided IDs) |
| `400` | Invalid request body                                     |
| `401` | Missing or invalid API key                               |
| `403` | API key does not have `content_intelligence:write` scope |
| `429` | Rate limit exceeded                                      |
| `500` | Internal server error                                    |

***

## Error response -- Missing scope

If your API key does not include `content_intelligence:write`, any request to these endpoints returns:

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "error": {
    "code": "forbidden",
    "message": "This API key requires one of the following scopes: content_intelligence:write",
    "details": {
      "required_scopes": ["content_intelligence:write"]
    }
  }
}
```
