API Reference

The Hoziron HTTP API provides programmatic access to all platform capabilities. URLs are unversioned — the API version is specified via request header.

Base URL

http://127.0.0.1:4200/

In production with TLS:

https://hoziron.company.com/

Authentication

When authentication is enabled, include the API key in the Authorization header:

curl -H "Authorization: Bearer hzn_sk_a1b2c3d4..." https://hoziron.company.com/agents

Without authentication (local development), no header is needed.

Common Response Format

Success

{
  "agents": [...]
}

Error

{
  "error": {
    "category": "ValidationError",
    "message": "Agent configuration requires at least one trigger",
    "details": {
      "missing_field": "triggers"
    }
  }
}

Error Categories

CategoryHTTP StatusDescription
ValidationError400Invalid input or configuration
NotFound404Resource doesn't exist
InvalidState409Operation not valid for current state
Duplicate409Resource already exists
MemoryViolation403Cross-agent memory access denied
ProviderError502Upstream LLM provider failure
InitError500Platform initialization failure
Internal500Unexpected internal error

Content Type

All request and response bodies use application/json unless noted otherwise.

The /metrics endpoint returns text/plain (Prometheus exposition format).

Endpoint Reference

SectionEndpointsReference
Health & Status/health, /status, /metricshealth-status.md
Agents/agents/...agents.md
Workflows/workflows/..., /runs/...workflows.md
Competencies/competencies/...competencies.md
Skills/skills/...skills.md
Channels/channels/...channels.md
Memory/agents/{id}/memory/...memory.md
Triggers/triggers/...triggers.md
Schedules/agents/{id}/schedules/..., /schedules/...schedules.md
Approvals/approvals/...approvals.md
Auth/auth/...auth.md
Security/security/...security.md
Integrations/integrations/...integrations.md
Catalog/catalog/...catalog.md
Webhooks/webhooks/...webhooks.md
Devices/devices/...devices.md
Cron/cron/...cron.md
Usage & Budget/usage/..., /budget/...usage-budget.md
OpenAI Compatible/chat/completionsopenai-compat.md

ID Format

All resource IDs are UUIDs (v4):

550e8400-e29b-41d4-a716-446655440000

Invalid IDs return:

{
  "error": {
    "category": "ValidationError",
    "message": "Invalid agent ID: 'not-a-uuid'"
  }
}

HTTP Status Codes

CodeMeaning
200Success
201Created (POST that creates a resource)
204No Content (successful DELETE)
400Bad Request (validation error)
401Unauthorized (missing/invalid auth)
403Forbidden (insufficient role)
404Not Found
409Conflict (invalid state, duplicate)
500Internal Server Error
502Bad Gateway (provider error)