Create event

Writes one feed row by hand and pushes it to every screen watching.

POST /v1/patrol/event

Addresshttps://api.hanzo.ai/v1/patrol/event
MethodPOST
Operationpost_patrol_event
AuthAuthorization: Bearer $HANZO_API_KEY

Writes one feed row by hand and pushes it to every screen watching. It is how a controller puts something on the record that no automatic write would have produced.

Request

6 fields, body application/json (required).

FieldInTypeRequiredDescription
detailbodystring—Detail is the longer account.
levelbodystring—Level is red, amber, green or cyan.
sitebodystring—Site is the site it is about, by document name.
sourcebodystring—Source is what raised it.
titlebodystring—Title is the one line the feed shows.
unitbodystring—Unit is the unit it is about, by call sign.

Response

StatusBodyMeaning
201patrol.patrolEventOutcreated
defaultproblem-detailsrefused

201 body — 9 fields.

FieldInTypeAlwaysDescription
databodypatrol.patrolEvent—
data.atbodystring—At is when it was raised.
data.detailbodystring—Detail is the longer account, or empty.
data.levelbodystring—Level is red, amber, green or cyan.
data.namebodystring—Name is the event's document name.
data.sitebodystring—Site is the site the event is about, or empty.
data.sourcebodystring—Source is what raised it.
data.titlebodystring—Title is the one line the feed shows.
data.unitbodystring—Unit is the unit the event is about, or empty.

Failure carries the platform error shape — see Errors.

Examples

hanzo patrol event create
import { Configuration, PatrolApi } from 'hanzoai';

const api = new PatrolApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.postPatrolEvent({ detail: "<detail>", level: "<level>" });
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import PatrolApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = PatrolApi(client).post_patrol_event(detail="<detail>", level="<level>")
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.PatrolAPI.PostPatrolEvent(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, patrol_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = patrol_api::post_patrol_event(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.PatrolApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new PatrolApi(client).postPatrolEvent();
curl -X POST https://api.hanzo.ai/v1/patrol/event \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "detail": "<detail>",
       "level": "<level>"
     }'

MCP reaches patrol through the patrol tool, which names its 26 operations with its own verbs — this one among them, under a name only MCP declares. describe explains any of them:

curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "describe",
         "arguments": {
           "op": "get_patrol_camera"
         }
       }
     }'

Patrol API · All Hanzo APIs · Interactive reference

Was this page useful?