Initializing Operalta...

REST API: Authentication & Company

Authentication, company context, metrics, structure, and shared API rules

Authenticate, scope to a company, read context, metrics, and structure.

01

Authentication

  • -Base URL: https://www.operalta.ai/api. Auth: Authorization: Bearer op_.... Multi-company keys can pin a company with X-Company-Id.
  • -Prefer explicit scopes: context:read, contacts:write, documents:read, artifacts:write, rooms:read, integrations:write.
  • -OAuth: /api/oauth/authorize, /api/oauth/token, /api/oauth/revoke, /api/oauth/introspect.
curl https://www.operalta.ai/api/company/context \
  -H "Authorization: Bearer op_..." \
  -H "X-Company-Id: optional-uuid"
02

Company context

  • -GET /api/company/context — profile, stage, vertical, positioning.
  • -POST /api/company/context — update.
  • -GET /api/companies/:id/context — by explicit company ID.
03

Metrics

  • -GET /api/company/metrics — canonical KPIs from the latest live actual period.
  • -Optional ?period=current (live actuals only).
  • -Use metrics together with company context when building external business-plan or forecast workflows; company type determines which metric labels and drivers are meaningful.
{
  "metrics": { "mrr": 42000, "arr": 504000, "runway": 18 },
  "source": "company_metrics_actual",
  "periodKey": "2026-02"
}
04

Company structure

  • -GET /api/company/structure — products, organization, budgets trees.
  • -Query: ?tree_type=products|organization|budgets|all&format=markdown|json.
  • -PUT /api/company/structure — update from markdown.
  • -GET /api/company/structure/node?node_id=&include=decisions,metrics,entries.
05

Errors & rate limits

  • -Errors: { error: string, code?: string, details?: object } with standard HTTP status codes.
  • -401 unauthorized · 403 insufficient scope · 404 not found · 409 conflict · 422 validation · 429 rate limit · 5xx server.
  • -Rate limit headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.