APIv1/searchAI AgentMCP clientCLIoptiq searchResultsscore: 0.97IndexAST + graph

Developer Portal

Everything you need to integrate Optiq Code into your tools, agents, and workflows.

Install the CLI

bash
npm install -g @optiqcode/cli
optiq login
optiq index .
optiq search "your query"

API Overview

Base URL: https://api.optiqcode.com

MethodEndpointDescription
POST/api/v1/searchSearch indexed code with natural language
POST/api/v1/reposIndex a repository
GET/api/v1/reposList indexed repositories
GET/api/v1/jobs/{job_id}Check indexing job status
GET/api/v1/healthHealth check (no auth)

Full specification: openapi.json

Authentication

All API requests require a Bearer token. Get your API key from the dashboard.

bash
curl -X POST https://api.optiqcode.com/api/v1/search \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "authentication middleware", "repo_id": "my-project"}'

Scoped permissions

search:read

Search indexed code

repos:read

List repositories

repos:write

Index new repositories

repos:delete

Delete repositories

jobs:read

Check job status

Agent Integration

Optiq exposes an MCP server so AI agents can call search and indexing tools natively.

json
// Add to your MCP client config
{
  "mcpServers": {
    "optiq": {
      "command": "optiq",
      "args": ["mcp"]
    }
  }
}

Remote MCP: https://api.optiqcode.com/mcp (Streamable HTTP)

Sandbox Environment

The Free tier works as a sandbox — no credit card required, no approval process. Sign up, get an API key, and start making requests immediately.

Free tier sandbox limits

  • 3 repositories, 50k lines indexed, 100 queries/day
  • Full API access including search, indexing, and MCP
  • Self-serve API key generation at /dashboard/api-keys
  • No rate limit on the health endpoint for integration testing

Rate Limits

Rate limit headers are included in every API response:

HeaderDescription
X-RateLimit-LimitRequests allowed per window
X-RateLimit-RemainingRequests remaining in current window
Retry-AfterSeconds until rate limit resets (on 429)