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 poll its status 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)