Run App
Start an asynchronous app execution. Returns immediately with an execution ID and pre-created output placeholders.
Providing inputs:
- Use the
inputsobject with parameter names as keys (from the Get App response) - For
optionsparameters, send the option label (e.g."Caucasian", not an internal value) - For
urlparameters, send a publicly accessible URL - For
textparameters, send a string value - Omit optional parameters to use their defaults
After starting:
You can poll GET /v1/runs/{runId} every 3-5 seconds, use a webhook
to receive results automatically, stream via GET /v1/runs/{runId}/stream,
or combine approaches — they all work side by side.
Webhook (optional, recommended for agents):
Pass ?webhook=https://your-server.com/callback as a query parameter. When the execution
completes, we POST the results to your URL — same structure as the polling response, signed
with ED25519 for verification. The polling endpoint still works regardless, so you can use
it as a fallback or for safety checks. See the Webhook Verification endpoint for details.
POST /v1/content/create instead.
Key each field in inputs by the parameter’s key (stable snake_case identifier) or name from GET /v1/apps/{appId}. Prefer key when present — it never changes, while name is a display label and matches case-sensitively.
Getting results
Authorizations
Workspace API key. Prefix: lma_. Example: lma_abc123...
Path Parameters
The app ID (UUID) from the List Apps response
Query Parameters
URL to receive execution results when complete. We POST the same payload as the polling endpoint, signed with ED25519. Must be https or http.
Body
Parameter values keyed by parameter name (from the Get App response). Keys are case-sensitive and must match exactly.
Response
Run started. Poll GET /v1/runs/{runId} or stream via SSE for results.
Returned when execution starts. All output values are null initially.