AI workflows your customers call — keys, quotas, metering and billing per tenant, and a licence that lets you sell it.

Workflow builders are built for your team. Orchent is built for your customers: every tenant gets scoped keys, quotas, run history and daily usage your billing reads from. Self-hosted, priced per run, licensed for resale.

Start free Read the docs
RUN TENANT FLOW STATUS TOKENS DURATION
run_01J8ZQ4K7M2 acme-corp ticket-classifier running 200 268→ 312 1.02s→ 1.19s
run_01J8ZQ3F9H4 acme-corp ticket-classifier 200 289 1.04s
run_01J8ZQ2B6C1 northwind invoice-extract 200 341 1.31s
run_01J8ZQ1X4A8 northwind invoice-extract 500 118 0.42s
acme-corp 47/100 runs
northwind 212/500 runs
two tenants · independent quotas · one backend

This is the whole integration.

The key is tenant-scoped — the run below is acme-corp's, and lands in acme-corp's history, quota and daily rollup.

shell
# sk_live_a1b2… is tenant-scoped → acme-corp
curl https://app-staging.orchent.app/v1/flows/ticket-classifier/run \
  -H "Authorization: Bearer sk_live_a1b2…" \
  -H "Content-Type: application/json" \
  -d '{
    "inputs": {
      "ticket": "Charged twice for the same order."
    }
  }'
response · 200
{
  "run_id": "run_01J8ZQ4K7M2",
  "tenant": "acme-corp",
  "status": "completed",
  "output": {
    "label": "billing",
    "confidence": 0.94
  },
  "usage": { "tokens": 312, "duration_ms": 1190 }
}

Add "stream": true and the same endpoint returns server-sent events, terminated by data: [DONE].

What every tenant gets.

Per-tenant keys & quotas

Every customer gets keys scoped to the flows they may run, with their own quota and rate limit. One tenant can never spend another’s runs.

sk_live_a1b2… · 60 req/min/key

Isolation that doesn’t leak

Cross-tenant access returns 404, not 403 — a probing caller can’t learn that a resource exists.

404, not 403

Usage you can bill on

Daily rollups per tenant, per flow, per end user. Your invoice reads from this, directly.

GET /v1/usage/daily

Run history

Every run keeps its inputs, outputs, status, duration and token counts — per tenant. Debug from the record.

GET /v1/runs/run_01J8ZQ4K7M2

Streaming as a flag

One boolean switches the same endpoint to server-sent events. Not a second API.

"stream": true → data: [DONE]

Refusal, not surprise

At quota, calls are refused with a clear error. Neither you nor your customer is ever silently billed over.

402 quota_exceeded

Self-hosted

Runs on infrastructure you control, so your prompts and outputs stay where your policy says they stay.

POST https://app-staging.orchent.app/v1/flows/{name}/run

Templates to start from

Eight working flows to clone and edit into yours.

8 templates

Built for a different caller.

WORKFLOW PLATFORMS

Serve your team — one workspace, seat pricing, internal calls.

ORCHENT

Serves your customers — every tenant scoped, metered, billable.

Comparing tools? See how we differ →

Per run, not per seat: $35 a month for 10,000 runs.

And 100 runs a month free, for as long as you like.

Start free See pricing

Orchent runs the AI workflows behind CortexLabs' own products.

Workflows built with you — bring the problem and the examples; you get a working, versioned endpoint with the same history, metering and billing around it. Talk to us.