# fpga.chat API overview

Human page: https://fpga.chat/docs/api

Status: Private Alpha — Under Construction.

The pre-v1 public API is available for private-alpha EDA Error Decoder workflows. It is not a general FPGA constructor API.

## Endpoint families

- `POST https://api.fpga.chat/v1/error-decoder/messages`
- `POST https://api.fpga.chat/v1/toolchain/explain-error`
- Main-domain compatibility fallbacks:
  - `POST https://fpga.chat/api/v1/error-decoder/messages`
  - `POST https://fpga.chat/api/v1/toolchain/explain-error`

## Alpha auth rules

- `type=feedback` and `type=heartbeat` messages are public alpha endpoints with rate limits, payload limits and abuse monitoring.
- `toolchain/explain-error`, report fetch/export and admin endpoints require a session or API/service token.
- Clients should send `Idempotency-Key` on retryable authenticated analysis/upload requests; public feedback clients should debounce retries client-side.
- Feedback messages are stored as tenant-scoped feedback records. Telegram delivery is owned by the separate `fpgabot` service, not by fpga.chat API gateway.
- Maximum hosted gateway log size defaults to 10 MiB. Bot log limits are configured in the separate `fpgabot` service.

## Output model

fpga.chat is designed around structured reports rather than unconstrained chat text. Report fields include:

- confidence;
- evidence;
- sources;
- tool_results;
- warnings;
- limitations;
- repro_steps;
- next_actions.

## Export formats

- JSON.
- SARIF.
- JUnit.
- Markdown/report view.

## Integrations

- VS Code `fpga-error-decoder` feedback/intake.
- GitHub Action prototype.
- GitLab CI prototype.
- Email/admin feedback loop.

Hosted public cloud does not run Vivado, Quartus, Gowin, Radiant, Diamond or iCEcube2 by default. Vendor tool execution requires local/enterprise/on-prem setup and appropriate licenses.
