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).