---
title: "Infer onboarding configuration"
method: POST
path: "/v1/onboarding/infer-config"
tags: ["Onboarding"]
---

# Infer onboarding configuration

`POST /v1/onboarding/infer-config`

## Request

- Base URL: `https://api.mixpeek.com`
- URL: `https://api.mixpeek.com/v1/onboarding/infer-config`
- Auth: HTTP bearer

Given a free-text use-case description, uses an LLM to recommend the best scaffold template, extractors, retriever stages, and sample queries for the user's project.

## Request body

- InferConfigRequest
  - `use_case_description` string, required: Free-text description of what the user wants to build.
  - `content_types` string[]: Optional hint about data types the user has (e.g. 'video', 'pdf', 'image').

## Response `200`

Successful Response

- InferConfigResponse
  - `recommended_scaffold_id` string, required: Template ID from the scaffold catalog (e.g. 'tmpl_scaffold_video_understanding').
  - `scaffold_name` string, required: Human-readable template name.
  - `confidence` number, required: Model confidence in this recommendation.
  - `reasoning` string, required: 2-3 sentence explanation of why this scaffold was chosen.
  - `extractors` SuggestedExtractor[], required: Recommended feature extractors.
    - `name` string, required: Feature extractor name (e.g. 'image_extractor').
    - `version` string
    - `reason` string, required: One-sentence explanation of why this extractor fits.
  - `retriever_stages` SuggestedStage[], required: Recommended retriever pipeline stages.
    - `stage_name` string, required
    - `stage_type` string
    - `description` string, required
  - `sample_queries` SampleQuery[], required: Example search queries the user could run.
    - `query` string, required
    - `description` string, required
  - `alternate_scaffold_id` string, nullable: Second-best template if the primary isn't a great fit.
  - `alternate_scaffold_name` string, nullable

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `422`: Unprocessable Entity
- `429`: Too Many Requests
- `500`: Internal Server Error
- `503`: Service Unavailable

## Changes

- **2026-10-09** `61a175e8eb9a`: 1 warning, 5 info
  - removed the optional property `detail` from the response with the `422` status
  - added the non-success response with the status `429`
  - added the non-success response with the status `503`
  - added the optional property `success` to the response with the `422` status
  - …2 more
- **2026-08-09** `5d4c905106b4`: 1 info
  - the endpoint scheme security `BearerAuth` was added to the API

[Operation history](https://skmtc.dev/mixpeek/apis/mixpeek-api/changes/v1/onboarding/infer-config/post.md)

---

[API](https://skmtc.dev/mixpeek/apis/mixpeek-api.md) - [All operations](https://skmtc.dev/mixpeek/apis/mixpeek-api/llms.txt) - [OpenAPI document](https://skmtc.dev/mixpeek/apis/mixpeek-api/revisions/790bc16455f6?raw)
