Fixie API

Scan repos, open grounded fix PRs, and track usage from one API surface.

The REST API reuses the same scan and fix execution path as the dashboard. The OpenAPI document is available at /api/openapi.json, and the TypeScript client source ships in this repo at /sdk/typescript/client.ts.

Authentication

Pass a Fixie API key as a bearer token. Session auth also works for internal testing, but external clients should use API keys.

curl -X POST http://localhost:3000/api/v1/scans \
  -H "Authorization: Bearer fxie_live_..." \
  -H "Content-Type: application/json" \
  -d '{"repoFullName":"octo-org/example-repo"}'

TypeScript SDK

The client exposes three methods: scanRepository, openFixPr, and getUsage.

import { FixieClient } from "../../sdk/typescript/client";

const client = new FixieClient({
  apiKey: process.env.FIXIE_API_KEY!,
  baseUrl: process.env.FIXIE_BASE_URL ?? "http://localhost:3000",
});
const scan = await client.scanRepository({
  repoFullName: "octo-org/example-repo",
});

console.log(scan.vulnerabilities);
const result = await client.openFixPr({
  repoFullName: "octo-org/example-repo",
  finding: scan.vulnerabilities[0],
});

console.log(result.prUrl);
const usage = await client.getUsage();
console.log(usage.remainingOperations);

Endpoints

POST

/api/v1/scans

Runs a repository scan and returns findings plus the updated monthly usage snapshot.

POST

/api/v1/fix-prs

Opens a fix PR for a grounded finding and returns the PR details with current usage.

GET

/api/v1/usage

Returns the current billing-period usage summary used for allowance enforcement.