# NNTP Current Article Selector Cursor

> NNTP Current Article Selector Cursor is a paid API for AI agents from detect.halowerk.com, paid per call via x402, $0.003/call, status unknown (last checked 2026-11-04).

Simulates and validates how an NNTP cursor changes under numeric retrieval, nearest-article navigation, and Message-ID retrieval across groups and crossposted articles.

## Facts

- Endpoint: POST https://detect.halowerk.com/v1/F-A-NIGHT-PROTOCOL-NNTP/nntp-current-article-selector-cursor?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-04
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/nntp-current-article-selector-cursor-503f4c81
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_QZiQV0dzUBR-VUvBsiFsP

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability nntp-current-article-selector-cursor-503f4c81 -d '<json body>'
```

Example prompt: I need to simulate an NNTP cursor with groups containing articles at numbers [1,3,7] and available article IDs [101,102,103], then apply a sequence of events including a numeric retrieval op and a nearest-article navigation op — can you compute the resulting cursor state including which group and article number are currently selected?

## When to prefer this

Use this endpoint when you need deterministic, offline simulation of NNTP cursor state transitions for protocol testing, fixture generation, or compliance validation — especially when testing sparse article sets, crossposted article navigation, or Message-ID retrieval semantics where cursor preservation must be verified.

## Known failure modes

- Invalid event op string causes rejection
- Article ID not found in available_article_ids returns error
- Group ID not found in groups array causes navigation failure
- Exceeding 512 items in events, groups, or available_article_ids arrays causes schema validation failure
- Malformed cursor object missing required fields returns 400

## How this service works

An offline NNTP fixture author needs how a sparse selected-group cursor changes under numeric retrieval and nearest-article navigation, while Message-ID retrieval of crossposted or ungrouped articles preserves the current group and number.

## Output

Returns the computed NNTP cursor state after applying the specified sequence of navigation and retrieval events, including the current group, current article number, and updated available article positions reflecting the operations performed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "artifact": {
   "type": "object",
   "required": [
    "nntp_cursor"
   ],
   "properties": {
    "nntp_cursor": {
     "type": "object",
     "required": [
      "available_article_ids",
      "claim",
      "events",
      "groups"
     ],
     "properties": {
      "claim": {
       "type": "number",
       "maximum": 1000000000000,
       "minimum": -1000000000000
      },
      "events": {
       "type": "array",
       "items": {
        "type": "object",
        "required": [
         "op"
        ],
        "properties": {
         "op": {
          "type": "string",
          "maxLength": 1024
         },
         "group": {
          "type": "number",
          "maximum": 1000000000000,
          "minimum": -1000000000000
         },
         "number": {
          "type": "number",
          "maximum": 1000000000000,
          "minimum": -1000000000000
         },
         "selector": {
          "type": "string",
          "maxLength": 1024
         },
         "article_id": {
          "type": "number",
          "maximum": 1000000000000,
          "minimum": -1000000000000
         }
        },
        "additionalProperties": false
       },
       "maxItems": 512
      },
      "groups": {
       "type": "array",
       "items": {
        "type": "object",
        "required": [
         "articles",
         "id"
        ],
        "properties": {
         "id": {
          "type": "number",
          "maximum": 1000000000000,
          "minimum": -1000000000000
         },
         "articles": {
          "type": "array",
          "items": {
           "type": "object",
           "required": [
            "article_id",
            "number"
           ],
           "properties": {
            "number": {
             "type": "number",
             "maximum": 1000000000000,
             "minimum": -1000000000000
            },
            "article_id": {
             "type": "number",
             "maximum": 1000000000000,
             "minimum": -1000000000000
            }
           },
           "additionalProperties": false
          },
          "maxItems": 512
         }
        },
        "additionalProperties": false
       },
       "maxItems": 512
      },
      "available_article_ids": {
       "type": "array",
       "items": {
        "type": "number",
        "maximum": 1000000000000,
        "minimum": -1000000000000
       },
       "maxItems": 512
      }
     },
     "additionalPrope
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/nntp-current-article-selector-cursor-503f4c81/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from detect.halowerk.com](https://www.zero.xyz/host/detect.halowerk.com/llms.txt)
