Skip to main content
The OpenIndex HTTP API lets you create and manage work items, domains, workflows, calendar sources, email infrastructure, and more. You can access it from any HTTP client, including the oi CLI and the web application.

Base URL

Your API base URL is the URL of your OpenIndex deployment. If you’re using the hosted service:
https://app.openindex.dev
For self-hosted deployments, use your configured site URL. All OpenIndex HTTP routes (/browse, /domains, /calendar-sources, etc.) are served from this base URL. The oi CLI resolves this automatically from your profile’s --app-url.

Authentication

All API requests (except /health) require a Bearer token in the Authorization header:
Authorization: Bearer <your-pat>
Personal Access Tokens (PATs) are the primary authentication method. See API Authentication for how to create and manage tokens.

Content type

Send all request bodies as JSON with the Content-Type header:
Content-Type: application/json

Work item keys

Work items use domain-scoped keys in the format DOMAINKEY-123. Sub-tasks inherit the parent task key with a sequence suffix:
TypeKey formatExample
ProjectKEY-NOPS-1
TaskKEY-NOPS-42
Sub-taskKEY-N.NOPS-42.1
Use these keys as path parameters in work item endpoints (e.g. GET /browse/OPS-42).

Endpoint groups

Authentication

Personal Access Tokens and invite claiming.

Work Items

Create, read, update, and manage work items.

Workflows

Workflow definitions and custom fields.

Domains

Domains and membership management.

Calendar

ICS calendar sources and events.

Email

Mailboxes, routing rules, and email infrastructure.

Audit

Audit logs and operational statistics.

Health check

GET /health
Returns 200 OK with no authentication required. Use this to verify your deployment is reachable.

Current user

GET /me
Authorization: Bearer <your-pat>
Returns the profile of the authenticated user.

Operational stats

GET /stats
Authorization: Bearer <your-pat>
Returns operational statistics for the instance, including work item counts, active workflows, and recent activity.

HTTP status codes

CodeMeaning
200 OKRequest succeeded.
201 CreatedResource created successfully.
400 Bad RequestInvalid request body or parameters. Check the error message for details.
401 UnauthorizedMissing or invalid Bearer token.
403 ForbiddenToken does not have the required scope for this operation.
404 Not FoundResource does not exist or is not accessible with your credentials.