---
title: "Propose a rest_records config from an OpenAPI document or sample answers"
method: POST
path: "/v1/admin/source-connections/assist"
tags: ["Source Plane"]
---

# Propose a rest_records config from an OpenAPI document or sample answers

`POST /v1/admin/source-connections/assist`

## Request

- Base URL: `https://brain.inite.ai`
- URL: `https://brain.inite.ai/v1/admin/source-connections/assist`
- Auth: HTTP bearer

The mapping assistant for a backend with no connector of its own: from an OpenAPI 3.x document (fetched through the egress guard, or pasted as JSON / YAML) and / or sample list answers, propose the `rest_records` endpoints — the entity types, where the rows sit, the paging style, the updated-since parameter, the id / name / updated-at fields, the relation fields — and the field → predicate mapping over the pack vocabulary, each entity with a reason and a confidence. Deterministic heuristics always; under `SOURCE_MAPPING_ASSISTANT` one bounded model call refines them (validated, never trusted). Nothing is written; the preview verifies the proposal by execution. Records (docs/roadmap/crm-sources-2026-09.md): a CRM row enters as FACTS — its mapped attributes become deterministic candidates under the record’s own id, never prose a model re-extracts. Source plane operator surface (docs/roadmap/raw-evidence-sources-2026-09.md) — answers a bare 404 until `SOURCE_PLANE_ENABLED=1`.

Required scope: `brain:admin`.

## Request body

- MappingAssistRequest
  - `allowPrivate` boolean
  - `baseUrl` string, uri
  - `endpoints` object
  - `openapi` object
    - `text` string
    - `url` string, uri
  - `packId` string, required
  - `samples` object[]
    - `json` unknown, required
    - `path` string
    - `type` string

## Response `201`

The proposal.

- MappingAssistResponse
  - `endpoints` object, required
  - `entities` object[], required
    - `confidence` number, required
    - `fields` object[], required
      - `key` string, required
      - `label` string, required
    - `label` string, required
    - `reason` string, required
    - `source` 'openapi' | 'sample' | 'model' | 'operator', required
    - `type` string, required
  - `mapping` object, required
  - `refined` boolean, required
  - `warnings` string[], required

## Other responses

- `400`: Validation failed.
- `401`: Missing or unknown bearer key.
- `403`: The key lacks the required scope.
- `404`: No such resource in this tenant.

---

[API](https://skmtc.dev/inite/apis/inite-brain-platform-api.md) · [All operations](https://skmtc.dev/inite/apis/inite-brain-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/inite/apis/inite-brain-platform-api/revisions/c7c3eb5e304b?raw)
