Integration

Webhook, API and A2A. One event language.

Local content fingerprints, correlated lifecycle events and clearly scoped technical proofs.

Canonical interaction

A normal question-and-answer interaction uses session_id for the conversation or run and correlation_id for the individual turn. The content stays in your own system and is fingerprinted there.

SequenceEventExpected evidence
1interaction.startedinput_hash
2model.response.completed / failedinput_hash, output_hash, duration
3output.delivered / blockedoutput_hash, optional reason code
4interaction.completed / failedinput/output hash, total duration
Evidence quality: Expected fields can be rated complete or partial. A partial event stays stored but is not presented as a complete interaction proof.

1. Webhook

The webhook is the direct route for backends, no-code workflows, chatbots, voice systems and local models. The secret URL belongs exclusively in server-side configuration.

POST https://azalee.garden/api/webhook?token=wh_…
Content-Type: application/json

{
  "event": {
    "event_type": "interaction.started",
    "status": "started",
    "sequence": 1,
    "session_id": "sess_42",
    "correlation_id": "turn_9",
    "input_hash": "sha-256:<local-hash>",
    "model_name": "configured-model",
    "prompt_version": "support-v3"
  },
  "metadata": { "source": "customer_backend", "storage": "hash_only" }
}

Do not send: raw prompts, model replies, transcripts, files, tool arguments, tool results, email addresses, customer records, passwords, API keys, tokens or secrets.

2. Local helper and SDK

Node.js and Python helpers can fingerprint input and output locally, send the lifecycle events and continue the session chain. Tool handlers are instrumented through wrappers. Delivery is fail-open.

const answer = await audit.interaction(
  userMessage,
  () => runModel(userMessage),
  { sessionId: conversationId, correlationId: turnId }
);

3. Policy, risk and human approval

4. A2A enrollment

An agent starts the machine-readable flow, publishes a signed host challenge and then waits for the approval of the precisely bound human owner. Active credentials only come into existence after a successful host check and human approval.

Scope of claims

Azalee confirms the specific technical fingerprint, ordering, inclusion or timestamp question at hand. That is not an automatic confirmation of the truth, legality or completeness of all real system actions.