🛡️ Portarus: the gateway for AI agents Discover more →

Delivery envelope

Every field of the _portarus object appended to delivered payloads.

Last updated October 1, 2026

Every delivered message includes a _portarus object (v2) appended to the original payload. Parse this in your agent to know what happened.

Fields

FieldTypeDescription
user_idstring | nullExtracted user identifier.
messagestring | nullExtracted message content.
timestampstringISO-8601 processing time.
languagestring | nullDetected language (ISO-639-3).
status.processedbooleantrue = passed all filters.
status.reasonsstring[]Which filters blocked it (empty when processed).
messagesobjectWhen unifier is on: quantity, batch_id, items[].
keyword_routingobjectAlways present: matched, keywords, route.
securityobjectOnly when Security Envelope is on: result, status, per-filter verdicts.
meta.vnumberSchema version (currently 2).
meta.trace_idstringUnique request identifier.
meta.passthroughstring | null"paused" = gateway paused, no filters applied.
meta.latency_msnumberPipeline time in milliseconds.
meta.gateway_namestringYour gateway's name.

Example — allowed message

{
  "user_id": "user123",
  "message": "Hello, I need help with billing",
  "_portarus": {
    "user_id": "user123",
    "message": "Hello, I need help with billing",
    "timestamp": "2026-09-08T14:32:01.000Z",
    "language": "eng",
    "status": { "processed": true, "reasons": [] },
    "keyword_routing": { "matched": false, "keywords": [], "route": null },
    "meta": {
      "v": 2, "trace_id": "tr_a1b2c3d4e5",
      "passthrough": null, "latency_ms": 47,
      "gateway_name": "Production WhatsApp"
    }
  }
}

Example — blocked + security envelope

{
  "user_id": "user456",
  "message": "buy buy buy buy buy ...",
  "_portarus": {
    "user_id": "user456",
    "message": "buy buy buy buy buy ...",
    "timestamp": "2026-09-08T14:33:12.000Z",
    "language": "eng",
    "status": { "processed": false, "reasons": ["rate_limit_exceeded"] },
    "security": {
      "result": "blocked", "status": "analyzed",
      "rate_limit": "abuse", "dedup": "pass",
      "max_tokens": "pass", "token_count": 42
    },
    "keyword_routing": { "matched": false, "keywords": [], "route": null },
    "meta": {
      "v": 2, "trace_id": "tr_f6g7h8i9j0",
      "passthrough": null, "latency_ms": 23,
      "gateway_name": "Production WhatsApp"
    }
  }
}