# Recall

> context for your prompt, ask for an answer in words, search for ranked memories.

context for your prompt, ask for an answer in words, search for ranked memories. This page is generated from the API's own spec, so it says exactly what the API does.

## The memories that bear on a question, written out for your prompt

`POST /v1/context`

Put `context` straight into your prompt. It is the same ten lines of formatting every
integration writes after calling search, so we write them once. When nothing is held it says so
in words rather than coming back empty, because an empty block reads to a model as permission.

| Parameter | In | Type | Description |
| --- | --- | --- | --- |
| `X-Geniffy-Space` | header | string | One of your own users, for every call this client makes. (up to 128 characters) |

**Body** (application/json)

| Field | Type | | Description |
| --- | --- | --- | --- |
| `question` | string | required | What your model is about to answer (at least 1 character; up to 2,000 characters) |
| `limit` | integer | optional |  (at least 1; at most 50; default `12`) |
| `kind` | `all`, `people`, `plan`, `pref`, `detail` | optional |  |
| `with_sources` | boolean | optional | Put where each memory came from beside it (default `true`) |
| `space` | string | optional | One of your own users. Leave it out for your own memory. (up to 128 characters) |

**Returns** `200`

| Field | Type | | Description |
| --- | --- | --- | --- |
| `question` | string | required |  |
| `context` | string | required | Put this straight into your prompt. Never empty: when nothing is held it says so, so your model does not fill the silence. |
| `memories` | array of Memory | required |  |
| `used` | integer | required |  |
| `empty` | boolean | required | true when nothing stored bears on the question |

## Answer from the memory only, or say nothing supports it

`POST /v1/ask`

| Parameter | In | Type | Description |
| --- | --- | --- | --- |
| `X-Geniffy-Space` | header | string | One of your own users, for every call this client makes. (up to 128 characters) |

**Body** (application/json)

| Field | Type | | Description |
| --- | --- | --- | --- |
| `question` | string | required |  (at least 1 character; up to 2,000 characters) |
| `space` | string | optional | One of your own users. Leave it out for your own memory. (up to 128 characters) |

**Returns** `200`

| Field | Type | | Description |
| --- | --- | --- | --- |
| `question` | string | required |  |
| `answer` | string | optional | None when nothing in the memory supports an answer |
| `message` | string | optional |  |
| `memories` | array of Memory | required |  |
| `clash` | boolean | optional |  (default `false`) |

## The memories that best match a query

`POST /v1/search`

| Parameter | In | Type | Description |
| --- | --- | --- | --- |
| `X-Geniffy-Space` | header | string | One of your own users, for every call this client makes. (up to 128 characters) |

**Body** (application/json)

| Field | Type | | Description |
| --- | --- | --- | --- |
| `q` | string | required |  (at least 1 character; up to 2,000 characters) |
| `limit` | integer | optional |  (at least 1; at most 50; default `10`) |
| `kind` | `all`, `people`, `plan`, `pref`, `detail` | optional |  |
| `space` | string | optional | One of your own users. Leave it out for your own memory. (up to 128 characters) |

**Returns** `200`

| Field | Type | | Description |
| --- | --- | --- | --- |
| `memories` | array of Memory | required |  |
| `counts` | object | required |  |
| `total` | integer | required |  |
| `next` | integer | optional |  |

Source: https://docs.geniffy.com/api/recall
