> ## Documentation Index
> Fetch the complete documentation index at: https://docs.praxa.io/llms.txt
> Use this file to discover all available pages before exploring further.

# FAQ

> Find direct answers about Praxa Execution Fabric availability, authentication, scopes, durability, approvals, memory, webhooks, and limits.

Straight answers, including to the questions whose honest answer is "not yet." Status labels below match the legend in [`README.md`](/fabric#status-legend).

### Is the Execute API live today?

Yes, for invited partners and a deliberately narrow contract. Personal tenant
keys can submit minimal durable `task` requests, read runs, resume SSE, request
cancellation, read usage, configure automatic signed webhooks, and manage
webhook deliveries. Turn mode, request-level overrides, organization execution,
and mature receipts remain unavailable. Exact browser approval remains pending.
Cancellation final states have passed separate production canaries. See
[`status-and-roadmap.md`](/fabric/status-and-roadmap).

### What can I actually build on today, before the Execute API opens up?

Custom agents remain a separate available surface: create and publish an agent,
then call that deployment with its deployment-scoped credential or supported embed
channel. Its product-specific safety gates do not create generic public fabric
tool/policy authority. See
[`use-cases/agent-builders.md`](/fabric/use-cases/agent-builders).

### Can I manage agents, workflows, teams, and billing in the developer portal?

The portal-native personal agent/workflow routes, draft preview playground,
profile/avatar/preferences, organization membership controls, subscription
display, and eligible Stripe Checkout are source-ready. They are not documented
as live until a compatible Worker deployment and authenticated production
canaries are recorded. Organization API keys and execution remain unavailable.
See [Studio and developer console](/fabric/studio-and-console).

### Can I upload a dataset and compare models?

Agent-scoped datasets are source-ready, pending their additive database
migration, Worker deployment, and production isolation/immutability canary.
Customer experiment execution and model comparison remain unavailable. A
published dataset is immutable input evidence; it is not permission to call a
model or spend credits. See [Agent evaluation datasets](/fabric/datasets).

### Is the typed workflow DSL public?

No. The strict plan/compiler/interpreter foundation exists in source, but there
is no public route, published package, deployed customer-definition authority,
or connection to `/v1/execute`. The portal's workflow page rehosts Praxa's
existing automation system; it is not the public DSL. See
[Typed workflow DSL](/fabric/workflows).

### How do approvals actually block an action?

Praxa's existing product gates consequential actions fail closed. The first
source-ready public form is narrower: an immutable browser action can project
its exact instruction/steps, target host, and digest, then accept only the
matching `approve` or `deny` decision. Generic tool approvals and the unified
configurable policy engine are unavailable; public browser approval remains
pending production activation. Details:
[`approvals-and-policy/approvals.md`](/fabric/approvals-and-policy/approvals).

### What happens when a run hits its budget ceiling?

Funds are reserved before an admitted paid run executes. A ceiling or billing
failure stops new work rather than becoming a surprise charge. Follow the run's
safe projection and usage readback for the public evidence available today;
mature per-run receipts remain unavailable. See
[`approvals-and-policy/budgets-and-limits.md`](/fabric/approvals-and-policy/budgets-and-limits).

### Do you train on my data?

Praxa does not currently expose the planned cross-tenant learning system or its
receipt consent labels as a completed fabric capability. The design keeps content,
memory, and raw context out of cross-tenant signals and makes any future learning
tenant-scoped or aggregated metadata, with explicit consent and evaluation gates.
Details: [`security/data-handling.md`](/fabric/security/data-handling).

### Should I bring my own provider keys, or use bundled inference?

Bundled inference is the only active fabric funding path. BYO provider funding is
planned but unavailable. Its intended security and fee model is documented in
[`how-to/bring-your-own-keys.md`](/fabric/how-to/bring-your-own-keys).

### What models do you route to?

The fabric is model-neutral by design. The current minimal task lane is pinned
server-side; callers cannot yet submit a `policy` model-lane override. Mature
receipts that record the selected model also remain unavailable.

### Can I self-host Praxa?

No. The runtime is built on Cloudflare platform primitives and self-hosting is not
offered. Dedicated account or region isolation, BYO provider keys, and full
evidence export are planned enterprise capabilities, not current alternatives.
See [`enterprise/deployment-and-isolation.md`](/fabric/enterprise/deployment-and-isolation).

### How do custom-agent keys relate to `praxa_sk_` keys?

A custom-agent key is scoped to one existing deployment. `praxa_sk_`
is scoped to one admitted personal fabric tenant and exact endpoint scopes; the
current execute body is a strict minimal task, not arbitrary agent/tool/policy
control. Existing custom-agent keys keep working and neither credential gains
the other's authority. See
[`keys-and-access/api-keys.md`](/fabric/keys-and-access/api-keys).

### What's the difference between `mode: "turn"` and `mode: "task"`?

The public contract defines only `task`, which returns a `run_id` and continues
durably. Sending `mode: "turn"` returns `400 invalid_request`, and `/v1/chat` is
not routed. Candidate turn schemas in source are unserved. See
[`api/execute.md`](/fabric/api/execute).

### What exactly is in a receipt?

That is the target receipt: what ran, policy version, exact approval evidence,
and verification outcome. The current run and event resources are narrower safe
projections; the mature receipt object is not shipped. See
[`security/receipts-and-audit.md`](/fabric/security/receipts-and-audit).

### Is usage billed per token, per run, or per seat?

The active bundled lane reserves and settles credits from immutable execution
economics. `GET /v1/usage` reports evidence-bounded run, token, call, and billable
amount totals; it is not invoice authority. BYO fees are only a proposal because
BYO is unavailable. See [`enterprise/billing-and-plans.md`](/fabric/enterprise/billing-and-plans).

### What happens if my system doesn't respond to an approval in time?

After exact browser approval activation, a late, expired, stale, or already
resolved decision is refused. The durable public contract does not promise a
turn-style timeout event or a special `expired` run status; follow the run to its
actual terminal projection. See
[`approvals-and-policy/approvals.md`](/fabric/approvals-and-policy/approvals).

### Is the policy engine the same thing as approvals?

They are different planned layers. A unified engine would choose among auto,
peer review, human approval, and deny; an approval mechanism would pause and
resume the exact action. Today Praxa has multiple product-specific gates, while
the public configurable engine and request `policy` override are unavailable.
See [`approvals-and-policy/policy-engine.md`](/fabric/approvals-and-policy/policy-engine).

### Can I use this from Praxa Control, the desktop coding tool?

Not directly from the Control composer yet. A server-side script can use the
partner-preview task API today; first-party Control cloud-lane integration remains
planned. Local Codex or Claude Code sessions and their provider credentials remain
separate. See [`use-cases/coding-and-desktop.md`](/fabric/use-cases/coding-and-desktop).

### What happens if my connection drops mid-run?

Nothing is lost. Events are sequenced and replayable: reconnect to `/v1/runs/:id/events` with a `Last-Event-ID` header and you pick up exactly where you left off, with nothing re-delivered and nothing skipped. A `task`-mode run keeps going server-side regardless of whether anything is listening. See [`api/events.md`](/fabric/api/events).
