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

# Twitter post monitor status & live engagement

> Get 1 post monitor with its post, author, event types, active state, pause reason & 6 metrics. Each metric shows its current value & gain since tracking began.

**200**

```json theme={null}
{
  "id": "31",
  "postId": "2104984505677430978",
  "postUrl": "https://x.com/xquik/status/2104984505677430978",
  "authorId": "1661816432185823232",
  "authorUsername": "xquik",
  "authorName": "Xquik",
  "text": "We shipped post monitors.",
  "postedAt": "2026-09-29T17:19:49.000Z",
  "eventTypes": [
    "post.reply.new"
  ],
  "isActive": true
}
```

**400**

```json theme={null}
{
  "error": "invalid_input",
  "message": "Invalid input. Check the request body."
}
```

**401**

```json theme={null}
{
  "error": "unauthenticated",
  "message": "Authentication required. Provide a valid API key or bearer token."
}
```

**403**

```json theme={null}
{
  "error": "forbidden",
  "message": "This API key calls paid X read routes only, such as GET /api/v1/x/tweets/search. Create a Full access key at dashboard.xquik.com/account?tab=api-keys to call this route."
}
```

**404**

```json theme={null}
{
  "error": "not_found",
  "message": "Resource not found."
}
```

**429**

```json theme={null}
{
  "error": "rate_limit_exceeded",
  "message": "Too many requests. Try again later.",
  "retryAfter": 60
}
```

> For the complete documentation index, see [llms.txt](/llms.txt).

Read 1 post monitor by ID. Use it to check live metrics, the pause state, or
the event types before you change alerts.

**Free.** This endpoint does not consume credits.

```bash cURL theme={null}
curl https://xquik.com/api/v1/monitors/posts/31 \
  -H "x-api-key: xq_YOUR_KEY_HERE" |
  jq -c '{
    post_monitor_id: .id,
    post_url: .postUrl,
    text: .text,
    is_active: .isActive,
    paused_reason: (.pausedReason // null),
    views: .metrics.views.current,
    likes: .metrics.likes.current,
    like_gain: .metrics.likes.gain
  }'
```

```javascript Node.js theme={null}
const monitorId = "31";
const response = await fetch(`https://xquik.com/api/v1/monitors/posts/${monitorId}`, {
  headers: { "x-api-key": "xq_YOUR_KEY_HERE" },
});
const monitor = await response.json();
const state = {
  post_monitor_id: monitor.id,
  post_url: monitor.postUrl,
  text: monitor.text,
  is_active: monitor.isActive,
  paused_reason: monitor.pausedReason ?? null,
  views: monitor.metrics.views.current,
  likes: monitor.metrics.likes.current,
  like_gain: monitor.metrics.likes.gain,
};
process.stdout.write(`${JSON.stringify(state)}\n`);
```

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

monitor_id = "31"
response = requests.get(
    f"https://xquik.com/api/v1/monitors/posts/{monitor_id}",
    headers={"x-api-key": "xq_YOUR_KEY_HERE"},
)
monitor = response.json()
state = {
    "post_monitor_id": monitor["id"],
    "post_url": monitor["postUrl"],
    "text": monitor["text"],
    "is_active": monitor["isActive"],
    "paused_reason": monitor.get("pausedReason"),
    "views": monitor["metrics"]["views"]["current"],
    "likes": monitor["metrics"]["likes"]["current"],
    "like_gain": monitor["metrics"]["likes"]["gain"],
}
print(json.dumps(state))
```

## Check 1 monitor before you act

| Question | Field | Next step |
| - | - | - |
| Is it the right post? | `postUrl` & `text` | `text` is the newest version Xquik read. |
| Can it send events? | `isActive` & `pausedReason` | Resume with `isActive: true` once X shows it. |
| Which events does it send? | `eventTypes` | Match your webhook subscriptions to this list. |
| How did engagement move? | `metrics.*.gain` | Read hourly buckets for the trend. |

`pausedReason` is `insufficient_credits` when the balance could not pay an
hour. Add credits, then resume. The other 3 reasons mean X stopped showing the
post.

Read stored events with `GET /events?postMonitorId={id}`. Read hourly values
with [Post Monitor Metrics](/api-reference/monitors/post-metrics.md).

## Path parameters

**id** `string` *required*

The post monitor ID. [Create Post Monitor](/api-reference/monitors/create-post.md) & [List Post Monitors](/api-reference/monitors/list-posts.md) return it.

## Headers

**x-api-key** `string` *required*

Your API key. Session cookie authentication is also supported. Generate a key from the [dashboard](https://dashboard.xquik.com/en/account?tab=api-keys).

## Response

### 200 OK

**id** `string`

Unique post monitor ID.

**name** `string`

Your label for the monitor, when set.

**postId** `string`

ID of the post you gave.

**postUrl** `string`

Link to the post.

**authorId** `string`

Permanent X user ID of the post's author.

**authorUsername** `string`

Username of the post's author.

**authorName** `string`

Display name of the post's author.

**text** `string`

Text of the newest version Xquik read.

**postedAt** `string`

ISO 8601 time X published the post.

**eventTypes** `string[]`

Post event types this monitor sends.

**isActive** `boolean`

Whether the monitor is active.

**createdAt** `string`

ISO 8601 creation timestamp.

**nextBillingAt** `string`

Next hourly credit charge time.

**pausedReason** `string`

`insufficient_credits`, `x_post_deleted`, `x_post_protected` or `x_post_unavailable`. Absent when
active or paused by you.

**pausedAt** `string`

When Xquik paused the monitor.

**metrics** `object`

`views`, `likes`, `retweets`, `replies`, `quotes` & `bookmarks`. Each holds `current` & `gain`
since tracking began. Both are `null` when X shows no count.

### 400 Invalid input

The monitor ID is not valid.

### 401 Unauthenticated

Missing or invalid API key.

### 404 Not found

No post monitor has this ID on your account.

### 429 Rate limited

Too many requests. Wait for the `Retry-After` header before retrying.

> [!NOTE]
>
> **Related.** [Update Post Monitor](/api-reference/monitors/update-post.md), [Delete Post Monitor](/api-reference/monitors/delete-post.md), [Post Monitor Metrics](/api-reference/monitors/post-metrics.md), or [List Events](/api-reference/events/list.md).


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