Docs / API reference
API reference
POST /v1/automate
Coming soon: ora-automation is in evaluation. The endpoint, request shape and Playground are ready; until it is live, calls return 422 model_not_available.
Tool calling: send a query in plain English and your own tool definitions; ora-automation returns the calls to make, with their arguments filled in. Your code runs them. When no tool fits, calls is empty.
It works in any domain, not just finance: smart homes and devices, phones and assistants, cars, CRM and sales, travel booking, e-commerce, support desks, office tools and trading. The tools are yours, so the vertical is too.
Request
model | ora-automation (latest), or a pinned version once one is released. See Models & versions. |
|---|---|
query | What the user asked for, up to 2,000 characters. |
now, timezone | Optional: the reference time (ISO 8601, e.g. 2026-11-02T10:15:00) and IANA zone (America/New_York) for relative dates such as "tomorrow at 9am". Parameters with "format": "date-time", "date" or "time" come back resolved as ISO 8601. |
tools | 1 to 64 tool definitions: {name, description, parameters}, where parameters is a JSON Schema object (the same function schema most tool-calling APIs use; {"type": "function", "function": {...}} is accepted too). Names are letters, digits, _ - ., unique. |
{
"model": "ora-automation",
"query": "Dim the bedroom lights to 30% and lock the front door",
"tools": [
{
"name": "set_lights",
"description": "Turn the lights in a room on or off and set brightness.",
"parameters": {
"type": "object",
"properties": {
"room": {
"type": "string"
},
"on": {
"type": "boolean"
},
"brightness": {
"type": "integer",
"minimum": 0,
"maximum": 100
}
},
"required": [
"room"
]
}
},
{
"name": "lock_door",
"description": "Lock or unlock a named door.",
"parameters": {
"type": "object",
"properties": {
"door": {
"type": "string"
},
"locked": {
"type": "boolean"
}
},
"required": [
"door",
"locked"
]
}
},
{
"name": "control_device",
"description": "Switch or toggle any named smart-home device.",
"parameters": {
"type": "object",
"properties": {
"device": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"on",
"off",
"toggle"
]
}
},
"required": [
"device",
"action"
]
}
},
{
"name": "get_weather",
"description": "Weather forecast for a city on a day.",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"day": {
"type": "string",
"description": "today, tomorrow or a date"
}
},
"required": [
"city"
]
}
}
]
}
Response
{
"model": "ora-automation",
"version": "ora-automation-0.1.0",
"calls": [
{
"name": "set_lights",
"arguments": {
"room": "bedroom",
"brightness": 30
}
},
{
"name": "lock_door",
"arguments": {
"door": "front",
"locked": true
}
}
],
"usage": {
"input_tokens": 512,
"output_tokens": 24
}
}
Illustrative response: the shape is final, the values are an example.
calls come in the order to run them, and only name tools you defined. arguments is always an object. Same key, rate limits, prepaid billing and 422 {detail: [{loc, msg, type}]} errors as POST /v1/systemone.
Pricing
Introductory price: $0.042 per million input tokens; output is free. Introductory: the query and your tool definitions count as input tokens, plus the fixed per-request overhead; returned calls are free. Every response shows usage.input_tokens, exactly what was billed.
Code
curl -sS https://oramodel.com/v1/automate \
-H "Authorization: Bearer $JEV_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "ora-automation",
"query": "Dim the bedroom lights to 30% and lock the front door",
"tools": [
{
"name": "set_lights",
"description": "Turn the lights in a room on or off and set brightness.",
"parameters": {
"type": "object",
"properties": {
"room": {
"type": "string"
},
"on": {
"type": "boolean"
},
"brightness": {
"type": "integer",
"minimum": 0,
"maximum": 100
}
},
"required": [
"room"
]
}
},
{
"name": "lock_door",
"description": "Lock or unlock a named door.",
"parameters": {
"type": "object",
"properties": {
"door": {
"type": "string"
},
"locked": {
"type": "boolean"
}
},
"required": [
"door",
"locked"
]
}
},
{
"name": "control_device",
"description": "Switch or toggle any named smart-home device.",
"parameters": {
"type": "object",
"properties": {
"device": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"on",
"off",
"toggle"
]
}
},
"required": [
"device",
"action"
]
}
},
{
"name": "get_weather",
"description": "Weather forecast for a city on a day.",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"day": {
"type": "string",
"description": "today, tomorrow or a date"
}
},
"required": [
"city"
]
}
}
]
}'Try these
- Dim the bedroom lights to 30% and lock the front door (home tools)
- toggle the garage door (home tools)
- What's the weather in Chicago tomorrow? (home tools)
- Tell me a joke about bonds (home tools)
- Alert me on Slack if NVDA closes above 150 (trading tools)
- Get a quote for AAPL and buy 10 shares at market (trading tools)
- Book a 30 minute call with Sam on Friday at 3pm and email him the invite (office tools)
- Log a $42.50 lunch at Blue Bottle yesterday as a meals expense (office tools)
- Text Maria that I'm running 10 minutes late and set an alarm for 6:30am (phone tools)
- Take me to the airport avoiding tolls and set the temperature to 21 degrees (car tools)
- Move the Acme deal to negotiation at $48,000 and remind me to follow up with Dana next Tuesday (crm tools)
- Find business class flights from Dubai to London on March 3 and book a hotel in London for 4 nights from March 3 (travel tools)
- Find running shoes under $120 in size 10 (shop tools)
- Where is my order 88-1932? (shop tools)
Each one is in the Playground's Try list when you pick an ora-automation model.