Skip to main content
This is the simplest complete Lamina flow. It uses only the existing /v1 endpoints:
  • GET /v1/apps
  • GET /v1/apps/{appId}
  • POST /v1/apps/{appId}/runs
  • GET /v1/runs/{runId}

Step 1: List Available Apps

Look through the response and choose an appId.

Step 2: Inspect The App

Use this response to determine:
  • which fields are required
  • which parameters are text, options, or url
  • which default values are already defined

Step 3: Start Execution

With webhook

Use this in production when you want Lamina to notify your backend as soon as the job finishes.

Without webhook

The response includes a run ID.

Step 4: Get Results

Via webhook

If you passed ?webhook=, your callback URL receives a POST when the execution completes:
Headers include X-Lamina-Webhook-Signature for verification. See Webhook Signing Key for details.

Via polling

If not using webhooks, poll until the execution reaches a terminal state:
Poll every 3-5 seconds. Stop when status is completed or failed.

JavaScript Example

Python Example