Ora
All documentation Overview

Get started

IntroductionQuickstartHow ora-fin decidesHow to build with OraUse-case map

Rule language

OverviewGrammarOperators and beliefsPrices and offsetsWindowsIndicatorsSignals and eventsPattern functionsFunction referenceValues and = formulasBring your own barsRule libraryCommon mistakesError messagesEarnings, dividends and splits

Questions & answers

Questionsyes_no (noul)choicescoreConfidenceThresholds and calibrationStateAsk by symbol

Patterns

Patterns

Actions & workflows

OverviewRules and templatesDestinationsWebhooks and signaturesWorkflows

AI agents & SDKs

Use Ora from AI agents (MCP)SDKs: Python and JavaScriptOra Rules v1 (open spec)

API reference

POST /v1/systemonePOST /v1/automateGET /v1/models

Errors & limits

ErrorsRate limitsKnown limitations

Pricing

Pricing

Resources

FAQWhat's newModels & versionsCode in 8 languages

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

modelora-automation (latest), or a pinned version once one is released. See Models & versions.
queryWhat the user asked for, up to 2,000 characters.
now, timezoneOptional: 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.
tools1 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

Requires curl 7.76+. Save as run.sh, then: bash run.sh
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.

Create an account Open the Playground Everything here also lives in the console, next to your keys and usage.