# ISO 15765 Classic Normal-Addressing Flow-Controlled PDU Reassembly

> ISO 15765 Classic Normal-Addressing Flow-Controlled PDU Reassembly 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).

Reassembles complete classic CAN ISO-TP (ISO 15765) normal-addressed PDUs from raw frame sequences, handling sequence wrap, flow-control block credits, and STmin timing — no vehicle or device required.

## Facts

- Endpoint: POST https://detect.halowerk.com/v1/F-TD2000-DATASTRUCTURES-01/iso15765-classic-normal-addressing-flow-controlled-pdu-reassembly?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/iso-15765-classic-normal-addressing-flow-controlled-pdu-reassembly-30baee63
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_nJuOCzJ2oHWBNLVa7ppdb

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 iso-15765-classic-normal-addressing-flow-controlled-pdu-reassembly-30baee63 -d '<json body>'
```

Example prompt: I have a captured sequence of classic CAN frames (base64-encoded, with microsecond timestamps and sender/receiver direction) from an ISO 15765 normal-addressing session — can you reassemble the full ISO-TP PDUs, verify the flow-control block credits and STmin timing, and tell me if the sequence wraps and payloads look correct?

## When to prefer this

Use this endpoint when you need offline, deterministic reassembly and validation of classic CAN ISO-TP (ISO 15765-2) normal-addressed PDUs from a captured frame log — especially when you need flow-control credit and STmin timing verified, sequence wrap handled, and no live vehicle or ECU access is available. Prefer this over raw byte parsers when you also want per-message SHA-256 hashes and structured status reporting for each message and flow control frame.

## Known failure modes

- Malformed or truncated base64 frame data causes parsing failure
- Missing required frames (e.g. First Frame without Consecutive Frames) results in incomplete PDU status
- Sequence number wrap violations flagged in status field
- Frames array exceeding 128 items rejected
- Invalid direction enum values cause validation error
- STmin or block size inconsistencies reported in flow_controls status

## How this service works

Reconstruct complete classic CAN ISO-TP normal-addressed PDUs with sequence wrap, flow-control block credit and STmin timing; no vehicle/device access.

## Output

Returns the reassembled ISO-TP messages (each with first/last frame indices, payload byte count, SHA-256 hash, and status) plus parsed flow control frames (block size, separation time in microseconds, frame index, and status). Effectively a full audit of whether the frame sequence correctly reconstructs valid ISO 15765 PDUs under flow-control constraints.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "artifact": {
   "type": "object",
   "required": [
    "isoTp"
   ],
   "properties": {
    "isoTp": {
     "type": "object",
     "required": [
      "data",
      "claim"
     ],
     "properties": {
      "data": {
       "type": "object",
       "required": [
        "frames"
       ],
       "properties": {
        "frames": {
         "type": "array",
         "items": {
          "type": "object",
          "required": [
           "direction",
           "at_us",
           "gap_us",
           "data_base64"
          ],
          "properties": {
           "at_us": {
            "type": "integer",
            "maximum": 1000000000000,
            "minimum": 0
           },
           "gap_us": {
            "anyOf": [
             {
              "type": "null"
             },
             {
              "type": "integer",
              "maximum": 1000000000,
              "minimum": 0
             }
            ]
           },
           "direction": {
            "enum": [
             "sender",
             "receiver"
            ]
           },
           "data_base64": {
            "type": "string",
            "maxLength": 12,
            "minLength": 0
           }
          },
          "additionalProperties": false
         },
         "maxItems": 128,
         "minItems": 1
        }
       },
       "additionalProperties": false
      },
      "claim": {
       "anyOf": [
        {
         "type": "null"
        },
        {
         "type": "object",
         "required": [
          "flow_controls",
          "messages"
         ],
         "properties": {
          "messages": {
           "type": "array",
           "items": {
            "type": "object",
            "required": [
             "first_frame",
             "last_frame",
             "payload_bytes",
             "sha256",
             "status"
            ],
            "properties": {
             "sha256": {
              "anyOf": [
               {
                "type": "null"
               },
               {
                "type": "string",
                "maxLength": 64,
                "minLength": 0
               }
              ]
             },
             "status": {
              "type": "string",
              "maxLength": 20000,
              "minLength": 0
             },
             "last_frame": {
              "type": "number",
              "maximum": 1000000000000000,
              "minimum": -100
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/iso-15765-classic-normal-addressing-flow-controlled-pdu-reassembly-30baee63/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)
