---
title: "Diagnostic surfaces (Answer Contract JSON)"
method: POST
path: "/v1/assist/diagnose"
---

# Diagnostic surfaces (Answer Contract JSON)

`POST /v1/assist/diagnose`

## Request

- Base URL: `https://api.askmarcel.app`
- URL: `https://api.askmarcel.app/v1/assist/diagnose`
- Auth: one of:
  - API key in header `X-AM-Key`
  - HTTP bearer

Route dédiée widget/extension. Réponse validée @askmarcel/answer-contract v1. Auth : X-AM-Key (pk_live_…) ou Bearer JWT Supabase. Headers quota : X-AM-Quota-*.

## Request body

- object
  - `symptom` string
  - `brand` string
  - `model` string
  - `error_code` string
  - `lang` 'fr' | 'en' | 'es' | 'de' | 'it' | 'ru'

## Response `200`

Answer Contract (union discriminée par state)

- AssistDiagnoseResponse
  - `state` string, required

## Other responses

- `402`: quota_exceeded

---

[API](https://skmtc.dev/askmarcel/apis/askmarcel-api.md) · [All operations](https://skmtc.dev/askmarcel/apis/askmarcel-api/llms.txt) · [OpenAPI document](https://skmtc.dev/askmarcel/apis/askmarcel-api/revisions/6865e207410e?raw)
