v3.2.1
API Status: Operational

API Documentation

Welcome to the Aevum Zenth Conglomerate API. Our platform provides unified programmatic access to cross-divisional data streams, telemetry ingestion, analytics reporting, and enterprise orchestration across 400+ subsidiaries.

ℹ️
Note: This API follows RESTful conventions, uses JSON for request/response payloads, and requires authentication via API Key or Bearer Token. All endpoints are served over HTTPS.

Authentication

All requests to the Aevum Zenth API must be authenticated. You can obtain credentials through the Developer Portal or your Enterprise Dashboard.

API Key

Include your API key in the Authorization header:

# Replace YOUR_API_KEY with your actual key
curl -X GET "https://api.aevumzenth.com/v3/divisions" \
  -H "Authorization: ApiKey YOUR_API_KEY" \
  -H "Content-Type: application/json"
import requests

headers = {
    "Authorization": "ApiKey YOUR_API_KEY",
    "Content-Type": "application/json"
}

response = requests.get("https://api.aevumzenth.com/v3/divisions", headers=headers)
print(response.json())
const axios = require('axios');

const response = await axios.get(
  'https://api.aevumzenth.com/v3/divisions',
  {
    headers: {
      'Authorization': 'ApiKey YOUR_API_KEY',
      'Content-Type': 'application/json'
    }
  }
);
console.log(response.data);

Bearer Token (OAuth 2.0)

For service-to-service communication, use OAuth 2.0 Client Credentials flow. Tokens expire after 3600 seconds.

# Obtain token
curl -X POST "https://auth.aevumzenth.com/oauth/token" \
  -d "grant_type=client_credentials" \
  -d "client_id=YOUR_CLIENT_ID" \
  -d "client_secret=YOUR_CLIENT_SECRET" \
  -H "Content-Type: application/x-www-form-urlencoded"

Base URL & Versioning

All API requests must be made to:

https://api.aevumzenth.com/v3

Major version bumps may introduce breaking changes. We recommend pinning to v3 and monitoring our changelog for updates. Minor/patch updates are backward-compatible.

Core Endpoints

GET /divisions

Retrieves a paginated list of all active conglomerate divisions, including metadata, operational status, and cross-reference IDs.

Query Parameters

Parameter Type Required Description
page integer No Page number (default: 1)
limit integer No Results per page (max: 100)
status string No Filter by operational status: active, beta, decommissioned

Response 200 OK

{
  "data": [
    {
      "id": "div_aev_energy_01",
      "name": "Aevum Energy & Power",
      "sector": "Energy",
      "status": "active",
      "api_version": "3.2.1",
      "endpoints_base": "https://api.aevumzenth.com/v3/divisions/div_aev_energy_01"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 25,
    "total": 400
  }
}
POST /data/ingest

Ingests structured telemetry or operational data into the Zenth Data Lake. Supports batch and streaming payloads.

Request Body

Field Type Required Description
division_id string Yes Target division identifier
payload array Yes Array of data objects (max 500 per request)
schema_version string No Optional schema versioning (default: latest)

Response 202 Accepted

{
  "status": "queued",
  "batch_id": "zth_batch_8f9a2c",
  "records_accepted": 245,
  "processing_eta": "12s"
}
GET /analytics/reports

Generates or retrieves cross-divisional analytics reports. Supports custom date ranges, KPI aggregation, and export formats.

Query Parameters

Parameter Type Required Description
start_date string Yes ISO 8601 format
end_date string Yes ISO 8601 format
format string No Output format: json, csv, parquet

Error Codes

The API uses standard HTTP status codes and returns detailed error objects in the response body.

⚠️
Important: Aevum Zenth uses custom error codes prefixed with ZTH- for domain-specific validation and policy violations.
Code HTTP Status Description
ZTH-400 400 Invalid request payload or missing required parameters
ZTH-401 401 Authentication failed or token expired
ZTH-403 403 Insufficient permissions for requested division
ZTH-429 429 Rate limit exceeded. Check X-RateLimit-Reset header
ZTH-500 500 Internal processing error. Contact support if persistent

Error Response Format

{
  "error": {
    "code": "ZTH-400",
    "message": "Invalid payload: 'division_id' must match pattern ^div_[a-z0-9_]+$",
    "details": [
      {
        "field": "division_id",
        "issue": "format_mismatch"
      }
    ],
    "request_id": "zth_req_9a8b7c"
  }
}

Rate Limits

API access is governed by tier-based rate limiting. Limits are applied per API key and reset according to the specified window.

Plan Requests / min Batch Size Concurrent Streams
Free 60 50 records 1
Pro 1,200 500 records 5
Enterprise Unlimited 5,000 records Dedicated

Rate limit headers are included in every response:

  • X-RateLimit-Limit: Maximum requests allowed
  • X-RateLimit-Remaining: Requests left in current window
  • X-RateLimit-Reset: Unix timestamp when the window resets

SDKs & Libraries

Official client libraries are available for rapid integration. All SDKs are open-source and maintained by the Zenth Developer Experience team.

Language Package Repository Version
Python pip install aevum-zenth github.com/aevum/zenth-py 3.2.0
Node.js npm i @aevum/zenth-sdk github.com/aevum/zenth-node 3.2.1
Go go get github.com/aevum/zenth-go github.com/aevum/zenth-go 2.1.4
Rust cargo add zenth-rs github.com/aevum/zenth-rs 1.0.2
📦
Community SDKs: Looking for Java, Ruby, or Swift? Check our Community Hub for third-party maintained clients.

Webhooks

Register webhook endpoints to receive real-time events for divisional updates, data processing completions, and alert triggers.

Event Types

  • division.status_changed - Operational status updates
  • data.ingest.complete - Batch processing finished
  • analytics.report.ready - Generated report available
  • security.alert.triggered - Policy or anomaly detection

Webhook Signature Verification

All webhooks include a X-Aevum-Signature header. Verify using HMAC-SHA256 with your webhook secret:

import hmac
import hashlib

def verify_webhook(payload, signature, secret):
    expected = hmac.new(
        secret.encode(),
        payload,
        hashlib.sha256
    ).hexdigest()
    return hmac.compare_digest(expected, signature)