Skip to content

Getting Started

Welcome to Intentgine! This guide will walk you through creating an account, generating an API key, and making your first intent resolution request.

To use Intentgine, you need an account.

  1. Visit the Developer Console.
  2. Sign up with your email and password.
  3. You will be automatically assigned to a default Team.

Once logged in:

  1. Navigate to the Apps section.
  2. Click Create New App.
  3. Give your app a name (e.g., “My First App”).
  4. Copy the generated API Key immediately. You won’t be able to see it again!

Before making API calls, exchange your API key for a short-lived JWT token:

Terminal window
curl -X POST https://api.intentgine.dev/v1/auth \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"

Save the returned token — you’ll use it for all subsequent requests. Tokens expire after 1 hour. See Authentication for details.

Now you’re ready to resolve an intent. We’ll use the /v1/resolve-quick endpoint to map a natural language query to a tool.

This endpoint accepts inline tool definitions, making it perfect for getting started. In this example, we define a simple tool get_weather and ask “What’s the weather in London?“.

Terminal window
curl -X POST https://api.intentgine.dev/v1/resolve-quick \
-H "Authorization: Bearer <YOUR_JWT_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"query": "What is the weather in London?",
"tools": [
{
"name": "get_weather",
"description": "Get current weather for a location",
"parameters": {
"type": "object",
"properties": {
"location": { "type": "string" },
"unit": { "type": "string", "enum": ["celsius", "fahrenheit"] }
},
"required": ["location"]
}
}
]
}'

You should receive a JSON response similar to this:

{
"resolved": {
"tool": "get_weather",
"parameters": {
"location": "London",
"unit": "celsius"
}
},
"metadata": {
"source": "compute",
"used_banks": [],
"latency_ms": 450,
"requests_used": 1
}
}
  • resolved: Contains the selected tool and extracted parameters.
  • metadata.source: compute means processing was required; cache means it came from semantic cache.
  • metadata.requests_used: The number of requests consumed by this call (always 1 for single resolve).