You can invoke your app by making a POST request to Kernel’s API or via the CLI. Both support passing a payload. For automations and agents that take longer than 100 seconds, use async invocations.
Synchronous invocations time out after 100 seconds.
Copy
Ask AI
import Kernel from '@onkernel/sdk';const client = new Kernel({ apiKey: 'My API Key',});const invocation = await client.invocations.create({ action_name: 'analyze', app_name: 'my-app', version: '1.0.0',});console.log(invocation.id);
For long running jobs, use asynchronous invocations to trigger Kernel actions without waiting for the result. You can then stream real-time status updates for the result.
Asynchronous invocations time out after 15 minutes.
Copy
Ask AI
import Kernel from '@onkernel/sdk';const client = new Kernel({ apiKey: 'My API Key',});const invocation = await client.invocations.create({ async: true, action_name: 'analyze', app_name: 'my-app', version: '1.0.0' });console.log(invocation.id);
--payload allows you to invoke the action with specified parameters. This enables your action to receive and handle dynamic inputs at runtime. For example:
Payloads are stringified JSON and have a maximum size of 64 KB. For larger inputs, store data externally (e.g., object storage or database) and pass a reference (URL or ID) in the payload instead.
Copy
Ask AI
kernel invoke <app_name> <action_name> --payload '{"tshirt_size": "small", "color": "black", "shipping_address": "2 Mint Plz, San Francisco CA 94103"}'
See here to learn how to access the payload in your action method.
If your action specifies a return value, the invocation returns its value once it completes. (The Kernel CLI uses asynchronous invocations under the hood)