FormulaAIGenie REST API

REST API for FormulaAIGenie formula generation and fixing.

Authentication

All API requests require an API key. Include it in one of these ways:

  • Header: <code class="bg-gray-100 px-1 py-0.5 rounded text-sm">X-API-Key: your-api-key</code>
  • Header: <code class="bg-gray-100 px-1 py-0.5 rounded text-sm">Authorization: Bearer your-api-key</code>

Rate Limiting

Rate limits are enforced per API key tier:

  • <strong>Free</strong>: 10 requests/hour
  • <strong>Starter</strong>: 100 requests/hour
  • <strong>Professional</strong>: 1000 requests/hour
  • <strong>Enterprise</strong>: 10,000 requests/hour

Rate limit information is included in response headers:

  • <code class="bg-gray-100 px-1 py-0.5 rounded text-sm">X-RateLimit-Limit</code>: Maximum requests per hour
  • <code class="bg-gray-100 px-1 py-0.5 rounded text-sm">X-RateLimit-Remaining</code>: Remaining requests in current window
  • <code class="bg-gray-100 px-1 py-0.5 rounded text-sm">X-RateLimit-Reset</code>: Unix timestamp when limit resets

Endpoints

POST /api/generate-formula

Generate formulas from natural language descriptions.

Request:

{
  "input": "Sum column B where column A is Completed"
}

Response:

{
  "excel": "=SUMIF(A:A,\"Completed\",B:B)",
  "googleSheets": "=SUMIF(A:A,\"Completed\",B:B)",
  "explanation": "Conditional sum formula",
  "warnings": []
}

Error Responses:

  • <code class="bg-gray-100 px-1 py-0.5 rounded text-sm">401</code>: Invalid or missing API key
  • <code class="bg-gray-100 px-1 py-0.5 rounded text-sm">400</code>: Input is a formula (use /api/fix-formula instead)
  • <code class="bg-gray-100 px-1 py-0.5 rounded text-sm">429</code>: Rate limit exceeded
  • <code class="bg-gray-100 px-1 py-0.5 rounded text-sm">500</code>: Internal server error

POST /api/fix-formula

Fix and translate existing formulas between Excel and Google Sheets.

Request:

{
  "input": "=SUMIF(A:A,\"Done\",B:B"
}

Response:

{
  "excel": "=SUMIF(A:A,\"Done\",B:B)",
  "googleSheets": "=SUMIF(A:A,\"Done\",B:B)",
  "explanation": "Fixed formula syntax errors",
  "warnings": []
}

Error Responses:

  • <code class="bg-gray-100 px-1 py-0.5 rounded text-sm">401</code>: Invalid or missing API key
  • <code class="bg-gray-100 px-1 py-0.5 rounded text-sm">400</code>: Input is not a formula (use /api/generate-formula instead)
  • <code class="bg-gray-100 px-1 py-0.5 rounded text-sm">429</code>: Rate limit exceeded
  • <code class="bg-gray-100 px-1 py-0.5 rounded text-sm">500</code>: Internal server error

API Key Tiers

Free Tier

  • 10 requests/hour
  • Basic formula generation and fixing
  • No payment required

Starter Tier ($10/month)

  • 100 requests/hour
  • All features
  • Priority support

Professional Tier ($50/month)

  • 1,000 requests/hour
  • All features
  • Priority support
  • Custom integrations

Enterprise Tier (Custom)

  • 10,000+ requests/hour
  • All features
  • Dedicated support
  • SLA guarantees

Getting an API Key

Contact us at kokilavijayakumar2@gmail.com to request an API key.

Example Usage

cURL

# Generate formula
curl -X POST https://your-domain.com/api/generate-formula \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"input": "Sum column B where column A is Completed"}'

# Fix formula
curl -X POST https://your-domain.com/api/fix-formula \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"input": "=SUMIF(A:A,\"Done\",B:B"}'

JavaScript

const response = await fetch('https://your-domain.com/api/generate-formula', {
  method: 'POST',
  headers: {
    'X-API-Key': 'your-api-key',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    input: 'Sum column B where column A is Completed'
  })
});

const data = await response.json();
console.log(data.excel); // =SUMIF(A:A,"Completed",B:B)

Python

import requests

response = requests.post(
    'https://your-domain.com/api/generate-formula',
    headers={
        'X-API-Key': 'your-api-key',
        'Content-Type': 'application/json',
    },
    json={
        'input': 'Sum column B where column A is Completed'
    }
)

data = response.json()
print(data['excel'])  # =SUMIF(A:A,"Completed",B:B)

Notes

  • All endpoints require paid API keys (except free tier for testing)
  • Rate limits reset every hour
  • Warnings array contains platform-specific differences or limitations
  • Internal prompts are not exposed in API responses