Skip to content

API Reference

OpenEdge production API:

text
https://api.open4x.com

Application services are mounted under:

text
/v1/apps

Authentication

API Key

Use API keys for server-side integrations:

http
X-API-Key: sk_xxx

API keys are shown once and stored as hashes.

JWT

Use JWT for console-authenticated workflows:

http
Authorization: Bearer <token>

Do not hardcode JWTs in long-running production services.

ScopeCapability
bot:sendSend bot messages and replies.
file:readRead or download files.
file:writeUpload or mutate files.
push:sendSend Webhook Push messages.
tron:leaseQuote, create, and query TRON energy lease orders.
ai:invokeCall AI chat, streaming, and embeddings endpoints.
socialops:writeIngest SocialOps webhook events.
socialops:readRead SocialOps inbox threads and messages.

Standard Errors

Some current endpoints return a simple error object:

json
{
  "error": "Insufficient balance"
}

Newer APIs should move toward structured errors:

json
{
  "error": {
    "code": "insufficient_balance",
    "message": "Insufficient balance",
    "request_id": "req_xxx"
  }
}

Recommended error codes:

HTTPCodeMeaning
400invalid_requestThe request body or parameters are invalid.
401unauthorizedMissing or invalid credentials.
402insufficient_balanceThe account does not have enough balance.
403forbiddenThe key or user is missing required permission.
404not_foundThe resource was not found.
409cost_limit_exceededThe request exceeds max_cost or quote constraints.
422verification_failedBusiness verification failed.
429rate_limit_exceededRate limit or budget exceeded.
502upstream_failedUpstream provider failed.

Service Endpoints

ServiceEndpoint
AI chatPOST /v1/apps/ai/:alias/chat
AI streamingPOST /v1/apps/ai/:alias/chat/stream
AI embeddingsPOST /v1/apps/ai/:alias/embeddings
Webhook PushPOST /v1/apps/webhook-push/:alias/send
TRON quotePOST /v1/apps/tron/quote
TRON leasePOST /v1/apps/tron/lease
TRON lease listGET /v1/apps/tron/leases
TRON lease detailGET /v1/apps/tron/leases/:id
SocialOps webhookPOST /v1/apps/socialops/:alias/webhook/:provider
SocialOps inboxGET /v1/apps/socialops/:alias/inbox
SocialOps thread messagesGET /v1/apps/socialops/:alias/threads/:thread_id/messages
SocialOps reply queuePOST /v1/apps/socialops/:alias/threads/:thread_id/replies
File service/v1/apps/file/*
Bot service/v1/apps/bot/*

Health Check

bash
curl https://api.open4x.com/health

Expected response:

json
{
  "status": "ok",
  "db": "ok",
  "ts": "2026-06-19T14:48:46.146Z"
}