# suggestNote

query · in the family [Reading your records](/reference/reading-your-records/)

## What it does

Ask AI to draft one internal note — from the thread so far, or by cleaning up words you already wrote.

Ask AI to draft ONE internal note: with an EMPTY draft the model WRITES a note from the CONTEXT YOU SENT (the visible thread + the record word — the server reads no tenant data of its own); with a PRESENT draft it CLEANS/enhances YOUR OWN words (same facts and intent, never new claims). The answer PRE-FILLS the composer — NOTHING posts automatically. Trimmed and bounded 1..4096 (what cannot post is never suggested). `type` is the record kind word; `context` <= 4000 chars; `draft` <= 4096 chars (empty = the write-me face). Refuses INTEGRATION/UNAVAILABLE while the assistant is offline/keyless — write the note by hand. Requires authentication (user sessions). Every made call is cost-metered (at.ai.call.v1).

## What happens

The suggestion pre-fills the note box for you to edit; nothing posts until you press Add note. With an empty draft it writes from the visible thread; with your draft present it improves your own words without adding new claims.

## Who may call it

Capability area: **Reading your records** — Looking up and listing the records of your organization.

- Owner
- System Administrator
- Manager
- Associate Manager
- Warehouse Associate
- Sales Associate
- An API key whose scope allows `api:suggestNote`

## Arguments

| Name | Type | Required | Notes |
| --- | --- | --- | --- |
| `type` | [String](/types/#scalars) `String!` | yes | No further notes. |
| `context` | [String](/types/#scalars) `String!` | yes | No further notes. |
| `draft` | [String](/types/#scalars) `String!` | yes | No further notes. |

## Returns

[SuggestedNote](/types/SuggestedNote/) `SuggestedNote!` — The note-suggest answer: ONE drafted note body. PRE-FILLS ONLY — nothing posts automatically.

## Example request

```graphql
query ExampleSuggestNote($type: String!, $context: String!, $draft: String!) {
  suggestNote(type: $type, context: $context, draft: $draft) {
    suggestion
  }
}
```

Variables:

```json
{
  "type": "<type>",
  "context": "<context>",
  "draft": "<draft>"
}
```

## Example response

```json
{
  "data": {
    "suggestNote": {
      "suggestion": "<suggestion>"
    }
  },
  "extensions": {
    "at": {
      "callId": "01EXAMPLE-CALL-ID",
      "version": {
        "requested": null,
        "serviced": {
          "name": "genesis",
          "number": 0
        }
      }
    }
  }
}
```

## Errors this call can answer

- `VALIDATION/INVALID` — Something in the request is not valid. ([VALIDATION](/errors/VALIDATION/))
- `AUTHN/REQUIRED` — Sign in to do this. ([AUTHN](/errors/AUTHN/))
- `AUTHZ/FORBIDDEN` — Your role does not allow this action. ([AUTHZ](/errors/AUTHZ/))
- `RATE_LIMIT/THROTTLED` — Too many requests in a short time. ([RATE_LIMIT](/errors/RATE_LIMIT/))
