API Reference

The IronLayer API runs on port 8000 with interactive OpenAPI docs at /docs. All endpoints require authentication via Bearer token.

Authentication

Include your JWT token in the Authorization header:

Authorization: Bearer <your_token>

POST /api/v1/auth/signup

Create a new account. Returns access + refresh tokens.

POST /api/v1/auth/login

Authenticate with email + password. Returns access + refresh tokens.

POST /api/v1/auth/refresh

Exchange a refresh token for a new access token.

GET /api/v1/auth/me

Get the current user profile.

Plans

POST /api/v1/plans/generate

Generate a deterministic execution plan from a git diff.

{
  "repo_path": "/workspace/my-project",
  "base_sha": "abc1234",
  "target_sha": "def5678"
}

GET /api/v1/plans

List plans. Supports ?limit= and ?offset= pagination.

GET /api/v1/plans/:id

Get a single plan by ID, including approval status.

POST /api/v1/plans/:id/approve

Approve a plan for execution.

POST /api/v1/plans/:id/apply

Execute an approved plan. Returns run records.

POST /api/v1/plans/:id/augment

Attach AI advisory metadata (cost, risk, optimization) to a plan.

Models

GET /api/v1/models

List all models. Supports filters: ?kind=, ?owner=, ?tag=, ?search=.

GET /api/v1/models/:name

Get model details.

GET /api/v1/models/:name/lineage

Get upstream and downstream dependency graph.

Runs

GET /api/v1/runs

List execution runs. Supports filters: ?plan_id=, ?model_name=, ?status=.

GET /api/v1/runs/:id

Get run details.

GET /api/v1/runs/:id/telemetry

Get compute telemetry (runtime, cost, rows processed).

Environments

GET /api/v1/environments

List environments.

POST /api/v1/environments

Create a new environment (maps to a Databricks catalog + schema prefix).

DELETE /api/v1/environments/:name

Delete an environment.

Settings

GET /api/v1/settings

Get tenant settings including LLM key status.

PUT /api/v1/settings/llm-key

Store an encrypted LLM API key for AI features.

DELETE /api/v1/settings/llm-key

Remove the stored LLM API key.

POST /api/v1/settings/llm-key/test

Validate the stored key by making a minimal API call.

Billing

GET /api/v1/billing/subscription

Get current subscription status and plan tier.

POST /api/v1/billing/checkout

Create a Stripe Checkout session for subscribing.

POST /api/v1/billing/portal

Create a Stripe Customer Portal session for managing subscriptions.

Health

GET /api/v1/health

Health check. Returns 200 if the API is running.

GET /ready

Readiness probe. Returns 200 when the API is ready to serve traffic (database connected, migrations applied).