FUTURE Reliability Pack API

Base URL: https://reliability-pack-worker.animixel.workers.dev

OpenAPI: /openapi.json

Subscribe: https://buy.stripe.com/fZucN6fbS7rYgJ06tG1VK00

Agent integration

Base URL: https://reliability-pack-worker.animixel.workers.dev
Auth header: x-api-key
OpenAPI: https://reliability-pack-worker.animixel.workers.dev/openapi.json
Agent card: https://reliability-pack-worker.animixel.workers.dev/.well-known/agent.json
MCP manifest: https://reliability-pack-worker.animixel.workers.dev/mcp/manifest.json
LLMS discovery: https://reliability-pack-worker.animixel.workers.dev/llms.txt

Auth

Private endpoints require header x-api-key. To get a key: subscribe via billing flow and provision a paid key from admin process.

Trial policy: up to 50 API requests or 7 days (whichever comes first), then upgrade to paid plan.

Optional header x-agent-name can set an internal alias for analytics attribution (never exposed in public endpoints).

Rate Limits

Rate limit is enforced per key+IP (default 600 req/min). On limit, API returns 429 and Retry-After.

Traceability

All responses include header x-request-id. JSON API responses also include request_id in body.

/openapi.json keeps a strict OpenAPI body; use header x-request-id there.

Endpoints

GET  /health
GET  /api/version
POST /api/normalize
POST /api/contract-test
POST /api/contract-test/schedule
POST /api/evidence-pack
GET  /api/runs/:run_id
GET  /api/stats
GET  /api/public-stats
GET  /api/public-analytics
GET  /api/public-ops
GET  /api/admin/actors-usage?hours=24 (internal key)
GET  /api/admin/external-recurrence?days=30 (internal key)
GET  /api/admin/trial-risk-report?days=30 (internal key)
POST /api/admin/provision-internal-key (internal key)
POST /api/admin/provision-trial-key (internal key)

Examples

POST /api/normalize
Request:
{
  "input": {"age":"42","active":"true","note":null}
}
Response:
{
  "run_id":"run_x",
  "ok":true,
  "normalized":{"age":42,"active":true},
  "changes_applied":["remove_nulls","infer_types"]
}

Normalize handles JSON-like payload cleanup and type inference. It does not resolve natural-language date/time intent.

POST /api/contract-test
Request:
{
  "tool_url":"https://httpbin.org/get",
  "method":"GET",
  "expected_status":200,
  "max_latency_ms":5000
}
Response:
{
  "run_id":"run_x",
  "ok":true,
  "passed":true,
  "source_health":"healthy",
  "schema_checked":true,
  "schema_valid":true,
  "latency_ms":350
}
POST /api/evidence-pack
Request:
{
  "claim":"Source was reachable",
  "sources":[{"url":"https://httpbin.org/get"}],
  "hash_algorithm":"sha256"
}
Response:
{
  "run_id":"run_x",
  "evidence_id":"ev_x",
  "verified":true,
  "pack_hash":"sha256:..."
}

Error codes

400 bad_request / invalid_target_url
401 unauthorized
402 trial_expired_or_exhausted
402 subscription_not_active (admin provisioning)
429 rate_limited
500 server_error
503 service_misconfigured

Evidence Pack Format

Includes: claim, processed sources, per-source content hash (sha256), pack hash (sha256), timestamps via run logs, and run/evidence identifiers for replay.

Verify by re-fetching source, recomputing sha256, and comparing with stored hashes.

Run status model

/api/runs/:run_id returns status as one of: succeeded, failed, not_found.

Discovery

https://reliability-pack-worker.animixel.workers.dev/llms.txt
https://reliability-pack-worker.animixel.workers.dev/.well-known/agent.json
https://reliability-pack-worker.animixel.workers.dev/mcp/manifest.json

Legal

https://reliability-pack-worker.animixel.workers.dev/terms
https://reliability-pack-worker.animixel.workers.dev/privacy
https://reliability-pack-worker.animixel.workers.dev/license

Back to landing