Authentication
How to authenticate with the Inngest REST API.
The Inngest API uses Bearer token authentication using your environment's signing key or an API key.
- API keys are ideal for making requests for any context outside of your application. For example: CI/CD pipelines, scripts, AI tools, or similar.
- Signing keys are used by apps to securely communicate with the Inngest platform. When making API requests from your application, a signing key can be used in place of an API Key as a method of convenience.
Keys
API Key authentication (v2 endpoints only)
Inngest cloud allows organization admins to create and manage API keys within the Inngest dashboard. You can create one in the API key management panel.
It's recommended to use API Keys instead of signing keys in most use cases unless you are making requests directly from an application that already has the signing key.
Signing key authentication
You can find your signing key in the Inngest dashboard under your environment's settings. The signing key begins with signkey- (learn more). When self-hosting Inngest, you'll have configured the signing key for your server via environment variable or configuration file.
Each environment has it's own signing key. Ensure that you are always using the correct key for the environment that you are managing.
Making Authenticated Requests
Include the api key or signing key as a Bearer token in the Authorization header of every request.
Authorization: Bearer sk-inn-api-xxxxxxxxxxxxxxxxxxxxAuthorization: Bearer signkey-prod-xxxxxxxxxxxxxxxxxxxxExamples
curl -X POST "https://api.inngest.com/v2/apps/demo-app/functions/backfill-data/invoke" \
-H "Authorization: Bearer sk-inn-api-xxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{ "data": { "test": "invoke-a-fn!" } }'const appId = "demo-app";
const fnId = "backfill-data";
const response = await fetch(`https://api.inngest.com/v2/apps/${appId}/functions/${fnId}/invoke`, {
method: "post"
headers: {
Authorization: `Bearer ${process.env.INNGEST_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ data: { test: "invoke-a-fn!" } }),
});
const data = await response.json();