---
title: "Warm the external knowledge of a business contact"
method: POST
path: "/api/v1/contacts/{id}/knowledge/warm"
---

# Warm the external knowledge of a business contact

`POST /api/v1/contacts/{id}/knowledge/warm`

## Request

- Base URL: `https://memchats.com`
- URL: `https://memchats.com/api/v1/contacts/{id}/knowledge/warm`
- Auth: HTTP bearer

Fire-and-forget hint sent when a contact is opened. Asks the user's connected products (MemoryFirst, TubExperto) the same question Alma will ask later, so the first answer is not paying for a cold start. Never an error when there is nothing to warm: it answers 200 with `warmed: false` and the reason. Rate-limited to one call per minute per contact.

## Path parameters

- `id` integer, required

## Response `200`

Whether anything was warmed, and how long each provider took

- object
  - `warmed` boolean
  - `reason` 'plan' | 'not_business' | 'no_context' | 'too_soon' | 'no_connection': Only when `warmed` is false.
  - `providers` object[]
    - `provider` 'memoryfirst' | 'tubexperto'
    - `ms` integer
    - `ok` boolean
    - `kind` 'auth' | 'timeout' | 'network' | 'server'

## Other responses

- `404`: Contact not found

---

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