05 / API REFERENCE

API & Integrations

Integrate Omera's build, verify, and evidence pipelines directly into your CI/CD platforms or query endpoints via standard REST calls.


REST API Endpoints

All core actions communicate with the Omera Backend prefixing routes with /auth. Below are the key endpoints:

MethodPathAuth ModeDescription
POST/auth/loginAuthenticates username and password, returning an access token and setting a HttpOnly refresh cookie.
POST/auth/signupRegisters a new developer account, setting up default Free tier entitlement.
POST/auth/refreshCookieSilent-refresh endpoint exchanging rotating refresh cookies for fresh short-lived access tokens.
GET/auth/meBearerReturns user profile, active entitlement plans, and quota usage statistics.
POST/auth/device/startInitializes device auth logic for CLI, returning authorization codes.
POST/auth/device/confirmBearerBrowser confirmation route authorizing device login requests using code payloads.
POST/auth/billing/checkoutBearerGenerates a hosted billing checkout session link for Pro or Team upgrades.
POST/auth/billing/portalBearerObtains a billing portal management link to handle active subscriptions.

NDJSON Event Streaming

CLI execution outputs data formatted as newline-delimited JSON (NDJSON) event streams, allowing tools to monitor generation state. Event schemas contain:

{
  "type": "stage.enter",
  "run_id": "90b95348-3207-4ae4-82ad-1249e13efec9",
  "stage": "C5",
  "ts": "2026-07-13T19:02:27Z"
}

Key NDJSON event types include:

  • pipeline.start / pipeline.complete: Overall execution life cycle.
  • stage.enter / stage.exit: Active pipeline transitions (C1 to C5).
  • safety.finding: Safety violations or high-current locks triggered.
  • build.output: Compilation terminal output lines.
  • test.result: Results of simulated Renode test suites.

CI/CD Pipeline Integration

To integrate Omera as an automated quality gate inside GitHub Actions or GitLab CI workflows, fetch an access token and run non-interactive verification checks:

GitHub Actions Example

name: Firmware Quality Gate
on: [push]

jobs:
  verify:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Code
        uses: actions/checkout@v3

      - name: Set up Python
        uses: actions/setup-python@v4
        with:
          python-version: '3.11'

      - name: Install Omera
        run: pip install @omeraeda/cli

      - name: Run Quality Gate
        env:
          OMERA_ACCESS_TOKEN: {{ secrets.OMERA_TOKEN }}
        run: |
          omera init
          omera fw workflow run --input board.net --board-id STM32F407VG --out build/
          omera fw verify --project build/
          omera fw deliver --project build/