Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 52 additions & 19 deletions docs/commercial/execute-api.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,30 @@
# Invoke a program: Seal or halt
# Integrate OpenAdapt Execute

`POST /api/v1/executions` runs one already-qualified compiled program. When
the run ends, `GET /v1/executions/{execution_id}/receipt` returns the Seal:
`ExecuteEvidenceReceiptV1`. That is the existing evidence receipt. Do not
look for a second object.

Unsigned local `openadapt-flow replay` stays free. A production `verified`
outcome without that receipt is a failure. HTTP `202` only means OpenAdapt
accepted the request for durable processing.
Execute is two layers. They share that request schema.

Hosted Execute is the easy path. Call `https://app.openadapt.ai/api` with an
org API key. The default runner is the customer's. A `verified` receipt is an
OpenAdapt-signed Seal. Price is $10 / 1,000 `VERIFIED`. Only `VERIFIED` bills.
A halt is $0.

Hosted browser is an Enterprise engagement with its own contract.

The hosted lane is off today. Production has `EXECUTE_LANE_ENABLED=false`, so
Cloud doesn't mint live keys. When that flag is on, create the key in the
Cloud dashboard and send it as `Authorization: Bearer <org-api-key>`.

This page is for an approved private-pilot partner. OpenAdapt supplies the
service credential and the identifiers from the qualification pack. The hosted
Execute lane stays gated (`EXECUTE_LANE_ENABLED` is false) until a
founder-gated production deploy can issue a signed Seal.
The MIT reference is `openadapt-flow serve-execute`. Same schema on one
machine. Receipts from that process are self-signed. They are not an
OpenAdapt production Seal.

Unsigned local `openadapt-flow replay` stays free. A production `verified`
outcome without a receipt is a failure. HTTP `202` only means the request was
accepted for durable processing.

## Oracle tiers

Expand Down Expand Up @@ -40,24 +52,29 @@ The rest of this page is the request, poll, receipt, and webhook contract.

## Choose where execution runs

Execute can dispatch to an approved managed runner or to a customer-controlled
runner. A customer-owned cloud runner and storage boundary can use the existing
Hosted Execute dispatches to the customer runner by default: a workstation,
server, on-premises VM, or a customer-owned cloud runner. A customer-owned
cloud runner and storage boundary can use the existing
[bring your own cloud (BYOC)](../reference/glossary.md#byoc) connector. The
customer runner executes the workflow. Cloud carries bounded authorization and
control metadata and receives only the declared result and evidence allowed by
the data boundary. Other customer-controlled deployments can use a workstation,
server, or on-premises virtual machine without using BYOC.
the data boundary.

Ask for OpenAdapt-hosted browser as an Enterprise engagement.

## Authenticate the service

OpenAdapt issues one service token. The token is restricted to one organization
and a non-empty list of qualification identifiers.
Hosted Execute authenticates an organization API key. The key is restricted to
one organization and a non-empty list of qualification identifiers.

Store the token in a server-side secret manager. Do not send it to a browser or
When `EXECUTE_LANE_ENABLED` is true, create the key in the Cloud dashboard.
Until then there are no live keys.

Store the key in a server-side secret manager. Do not send it to a browser or
mobile client. Send it only over HTTPS:

```http
Authorization: Bearer <service-token>
Authorization: Bearer <org-api-key>
Content-Type: application/json
```

Expand All @@ -69,6 +86,21 @@ https://app.openadapt.ai/api

All resource examples below are relative to that base URL.

## Self-host the protocol

`openadapt-flow serve-execute` is the intended MIT entry. It speaks the same
`ExecuteRequestV1`, status, and receipt schema as Hosted Execute.

That process binds to one machine. Receipts it issues are self-signed. They
are not an OpenAdapt production Seal.

The command is not on `openadapt-flow` `main` yet. Use the name as the
intended CLI once the sibling lands. Until then, unsigned
`openadapt-flow replay` is the local path. The JSON on this page is the
schema both layers share.

See the [openadapt-flow CLI](../reference/cli.md).

## Create an execution

Send `POST /v1/executions` with an `ExecuteRequestV1` body:
Expand Down Expand Up @@ -292,13 +324,14 @@ See [Sequence work across two applications](../guides/compose-multi-application.

## Integration checklist

- Keep the service token and webhook secret on the server.
- Keep the org API key and webhook secret on the server.
- Bind every request to the supplied qualification identifiers.
- Keep the same idempotency key and body across transport retries.
- Distinguish lifecycle states from terminal outcomes.
- Validate and store the terminal receipt.
- Treat a self-signed MIT receipt as local proof, not an OpenAdapt Seal.
- Never resubmit a possible write before reconciliation.
- Verify, persist, and deduplicate each webhook before acknowledgment.

For the product and qualification boundary, read the
[OpenAdapt Execute private-pilot guide](oem-brief.md).
For the product and qualification boundary, read
[OpenAdapt Execute](oem-brief.md).
16 changes: 9 additions & 7 deletions docs/commercial/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,16 @@ price and claim matches the public
|---|---|---|
| Community | Free (MIT) | Local runtime and qualification tools for self-directed use. No account required. |
| [Workflow Qualification Sprint](qualification-sprint.md) | From $15,000 (native, RDP, and Citrix scopes typically $25,000 to $40,000) | Fixed-scope paid qualification of one workflow, ending in a signed go/no-go report. |
| OpenAdapt Cloud | $500.00/month | Managed self-service browser execution for non-regulated data, up to 10,000 runs/month. Separate from enterprise qualification. |
| [Hosted Execute](execute-api.md) | $10 / 1,000 VERIFIED | Org API key, OpenAdapt-signed Seal, customer runner by default. Lane off until Cloud mints live keys. |
| Hosted browser | Enterprise | OpenAdapt operates the browser. Separate from the Execute meter. |
| Supervised Production Pilot | Typically $30,000 to $60,000 | Prove the qualified workflow on representative production cases and leave with an acceptance report. |
| Production | Typically $48,000 to $120,000/year | Annual scope covering the qualified workflow family, environment, runners, evidence, support, and requalification. |
| OEM / embedding | Typically $75,000 to $150,000/year plus scoped integration | Embed verified execution in another product. See the [OpenAdapt Execute private-pilot guide](oem-brief.md). |
| OEM / embedding | $10 / 1,000 VERIFIED on Hosted Execute, plus scoped integration when needed | Embed verified execution in another product. See [OpenAdapt Execute](oem-brief.md). |

The Workflow Qualification Sprint comes first. A successful qualification can
move to a supervised pilot and then to production. The sprint remains paid when
the evidence supports a "do not automate" decision.
The MIT engine is free. Hosted Execute is $10 / 1,000 `VERIFIED` on a customer
runner. A Workflow Qualification Sprint is the paid assessment when a buyer
needs a go/no-go on one named workflow. The sprint remains paid when the
evidence supports a "do not automate" decision.

## Buyer and evaluation resources

Expand All @@ -31,8 +33,8 @@ the evidence supports a "do not automate" decision.
| [Security packet](security-packet.md) | Answering a security or IT review. |
| [Deployment boundaries](deployment-boundaries.md) | Explaining where execution and sensitive data live. |
| [External Citrix zero-install brief](citrix-external-brief.md) | A buyer whose workflow lives behind Citrix or VDI. |
| [OpenAdapt Execute private-pilot guide](oem-brief.md) | A vendor that wants to embed verified execution. The API is available to approved private-pilot partners with scoped credentials. |
| [Invoke a program: Seal or halt](execute-api.md) | The Execute request, poll, Seal-shaped receipt, and webhook contract. |
| [OpenAdapt Execute](oem-brief.md) | A vendor that wants to embed verified execution. Hosted Execute is the easy path; `openadapt-flow serve-execute` is the MIT reference. |
| [Integrate OpenAdapt Execute](execute-api.md) | The two-layer Execute request, poll, Seal, and webhook contract. |
| [Procurement FAQ](procurement-faq.md) | Procurement, legal, and vendor-risk questions. |

## How claims are bounded
Expand Down
51 changes: 29 additions & 22 deletions docs/commercial/oem-brief.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,21 @@
# OpenAdapt Execute: private-pilot guide
# OpenAdapt Execute

OpenAdapt Execute gives a software or service provider a safe way to complete
an authorized transaction in an application that the provider cannot directly
OpenAdapt Execute gives a software or service provider a way to complete an
authorized transaction in an application that the provider cannot directly
integrate with.

Your product decides the business action. OpenAdapt executes the qualified
transaction in the customer-controlled browser, desktop, RDP, Citrix, or API
environment. It then returns a Seal: `ExecuteEvidenceReceiptV1`. Unsigned
success is failure.

Hosted Execute is the easy path: an org API key at
`https://app.openadapt.ai/api`, an OpenAdapt-signed Seal, customer runner by
default, $10 / 1,000 `VERIFIED`. The MIT reference is
`openadapt-flow serve-execute` on one machine. Those receipts are self-signed,
so they aren't an OpenAdapt production Seal. The
[Execute integration guide](execute-api.md) has the shared JSON contract.

```text
authorized transaction
-> qualified local execution
Expand All @@ -33,13 +40,12 @@ inputs, business logic, and an exception team. OpenAdapt supplies the last
action in the customer GUI, then a Seal. Health-system IT is a downstream
environment. Do not staff this motion as an IDN RFP.

!!! note "Private pilot. Not a public API."
This page describes the private-pilot product contract. It is not an
self-service integration recipe and it does not publish partner access,
credentials, an SDK, or a webhook URL. `openadapt-types` 0.9.0 publishes
the shared async Execute schema, OpenAPI document, and signed decision
contract. OpenAdapt Cloud provides private execution, customer-runner
coordination, and receipt delivery for approved pilot partners.
!!! note "Hosted Execute lane is off."
Production has `EXECUTE_LANE_ENABLED=false`. Cloud does not mint live keys.
When the lane is on, create the org API key in the Cloud dashboard.
`openadapt-types` 0.9.0 publishes the shared async Execute schema, OpenAPI
document, and signed decision contract. Hosted browser is an Enterprise
engagement with its own contract.

## What a partner gets

Expand All @@ -57,8 +63,8 @@ The qualification work produces:
- representative and fault cases;
- a sealed qualified version and an acceptance report.

The partner can then submit an authorized transaction to the private pilot
service. The service selects only the exact qualified workflow and the exact
The partner can then submit an authorized transaction to Hosted Execute. The
service selects only the exact qualified workflow and the exact
customer-controlled runner that can meet the contract.

## The Execute contract
Expand Down Expand Up @@ -98,8 +104,8 @@ fields in the public Execute request.

### Lifecycle states

The private-pilot contract uses these states. A state describes current work;
it is not a success claim.
The Execute contract uses these states. A state describes current work; it is
not a success claim.

| State | Meaning |
|---|---|
Expand All @@ -111,9 +117,9 @@ it is not a success claim.

### Terminal transaction outcomes

The released OpenAdapt Execute v1 contract defines these outcomes. The
private-pilot service exposes the same values without translating them into a
generic "success" flag.
The released OpenAdapt Execute v1 contract defines these outcomes. Hosted
Execute and the MIT reference expose the same values without translating them
into a generic "success" flag.

| Outcome | Meaning for the partner |
|---|---|
Expand Down Expand Up @@ -220,8 +226,8 @@ or review the full
The released public contract for this round trip is
`openadapt-types` 0.9.0. It defines the async Execute schema and OpenAPI
document, plus signed, PHI-safe decision tasks and receipts. Flow and Cloud use
this contract for the decision relay and private-pilot execution. The partner
event stream does not contain raw screenshots or live record data.
this contract for the decision relay and Execute. The partner event stream
does not contain raw screenshots or live record data.

## Receipts and partner integration

Expand Down Expand Up @@ -259,7 +265,7 @@ that evidence by digest. It does not copy it into the partner event stream.
The partner stores the Seal with its own transaction record. That is what you
show an end customer. A screenshot or a UI banner is not proof.

Private-pilot integrations use signed, versioned webhook events and polling.
Hosted Execute integrations use signed, versioned webhook events and polling.
Webhook retry, signature verification, ordering, and event deduplication are
part of the Execute contract. The [Execute integration guide](execute-api.md)
shows the request, status, Seal, and webhook flow. The field map lives on
Expand All @@ -281,10 +287,11 @@ commercial compatibility pack.

| Layer | Availability | Role |
|---|---|---|
| OpenAdapt Flow | MIT-licensed | Local compiler, governed runtime, halt/teach, qualification tools. Compile-once is a cache. |
| OpenAdapt Flow | MIT-licensed | Local compiler, governed runtime, halt/teach, qualification tools. `openadapt-flow serve-execute` is the intended one-machine reference. Receipts are self-signed. |
| `openadapt-types` | MIT-licensed | Shared Execute schema. The evidence receipt is the Seal. |
| OpenAdapt Cloud foundation | Private and deployed | Tenant control plane, customer-runner coordination, signed decision relay. |
| OpenAdapt Execute | Private pilot | `POST /v1/executions` issues Seals. Not a new repository. |
| Hosted Execute | $10 / 1,000 VERIFIED | Org API key at `https://app.openadapt.ai/api`. OpenAdapt-signed Seal. Customer runner by default. Lane off until `EXECUTE_LANE_ENABLED` is true. |
| Hosted browser | Enterprise | OpenAdapt operates the browser. Separate from the Execute meter. |
| Compatibility packs and verifier recipes | Commercial | Per-application and per-environment qualification assets. Bundles are not liquid. |

Embed through Execute and MCP into RCM vendors and agent platforms. Hospital
Expand Down
17 changes: 10 additions & 7 deletions docs/commercial/procurement-faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,17 @@ outcome; "do not automate" is a full-value deliverable. See the
[Qualification Sprint one-pager](qualification-sprint.md).

**Is there a subscription?**
OpenAdapt Cloud is $500.00/month for managed browser execution of approved
workflows on non-regulated data, up to 10,000 runs/month. It is a self-service
developer and team offering, separate from enterprise qualification, and does
not include a production SLA or regulated deployment.
Hosted Execute is $10 / 1,000 `VERIFIED` on a customer runner. Only `VERIFIED`
bills. The hosted Execute lane is off today (`EXECUTE_LANE_ENABLED=false`), so
Cloud does not mint live keys. Ask for hosted browser as an Enterprise
engagement.

**What does production cost?**
Supervised Production Pilots are typically $30,000 to $60,000; production
contracts typically $48,000 to $120,000 per year depending on workflow family,
environment, runners, evidence, support, and requalification scope. OEM
embedding is typically $75,000 to $150,000 per year plus integration.
embedding uses Hosted Execute at $10 / 1,000 `VERIFIED`, plus scoped
integration when the partner needs it.

**Does the sprint fee credit toward production?**
Any production credit is stated in the customer-specific written proposal. No
Expand All @@ -47,8 +48,10 @@ is no license key that turns your local runtime off.

**Can we self-host everything?**
Yes. Fully local and air-gapped on-prem deployment shapes exist, including an
operator-verifiable no-egress posture. See
[deployment boundaries](deployment-boundaries.md).
operator-verifiable no-egress posture. The intended MIT protocol entry is
`openadapt-flow serve-execute`; receipts from that process are self-signed.
See [deployment boundaries](deployment-boundaries.md) and the
[Execute integration guide](execute-api.md).

## Security and compliance

Expand Down
2 changes: 1 addition & 1 deletion docs/commercial/seal.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,4 +154,4 @@ Compile-once is a cache when the job is stable. If a computer-use agent gets
cheap, the run still has to prove identity and effect, or halt.

Partner API contract: [Integrate OpenAdapt Execute](execute-api.md).
OEM embedding: [OpenAdapt Execute private-pilot guide](oem-brief.md).
OEM embedding: [OpenAdapt Execute](oem-brief.md).
2 changes: 1 addition & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ nav:
- Deployment boundaries: commercial/deployment-boundaries.md
- External Citrix zero-install brief: commercial/citrix-external-brief.md
- The Seal: commercial/seal.md
- OpenAdapt Execute private-pilot guide: commercial/oem-brief.md
- OpenAdapt Execute: commercial/oem-brief.md
- Integrate OpenAdapt Execute: commercial/execute-api.md
- Procurement FAQ: commercial/procurement-faq.md
- Internals:
Expand Down