Skip to content

API reference

Generate inbox reply

support.GenerateInboxReplyWriteMember delegation

Generate a draft reply from the visible inbox conversation and its instructions. Nothing is sent until a person reviews and sends it. Uses workspace credits.

POST/v1/operations/support.GenerateInboxReply
On this page

Access & visibility

Allow support.GenerateInboxReply on your API key.

Acting member required. Send Brigg-Act-As with an approved member account ID. The key supplies permissions; the member selects whose data is used.

The selected member must be active and approved by the credential. This selects whose private data is used; the credential supplies permissions. Private ownership and project boundaries still apply.

Set up authentication · Choose permissions

Request fields

Send a JSON object with the following fields. Required fields must be included; omit optional fields you do not need.

conversation_idstringRequired

Conversation record ID from ListConversations. Use the same approved member who can read its inbox and messages; an inbox ID is not a conversation ID.

At least 1 character.

Generate a draft, then review it

Find a visible conversation with List conversations. This call waits for generation and returns the reply body directly; there is no job ID to poll. It uses the visible recent conversation and inbox instructions, excludes internal notes, and charges AI usage to the workspace. Very long threads use the latest 100 messages.

Display the returned text in an editable draft and review facts, promises and tone. No message, saved draft or customer notification is created by this call. A person can continue the reply in Brigg. A later generation may return different wording; use the same idempotency key to recover a lost response, and a new key only for a deliberate new generation.

Response

Returns 200 OK with a JSON body.

suggestionstringRequired

Generated reply body as a text string, in the customer's language. It is neither saved nor sent. Review and edit it before presenting or sending it to the customer; treat generated text as untrusted content, not HTML.

Errors & retries

Set BRIGG_REQUEST_ID once for each logical action. The samples send it as Idempotency-Key. Reuse the same value and body on retries, including after a timeout; a missing response does not prove the action failed.

For rate limits, follow the server’s retry guidance and back off. See HTTP errors and safe retries and limits.

HTTP status Code What to do
400 invalid_json Send a JSON object with Content-Type: application/json.
400 invalid_input Check the request fields and types. Supply a stable Idempotency-Key containing 1–200 characters.
401 invalid_key The workspace API key is missing, invalid or revoked.
403 forbidden Check the key’s operation and resource grants. Supply Brigg-Act-As with a member authorized by the key’s delegation grant. The selected member must be active and approved by the credential. This selects whose private data is used; the credential supplies permissions. Private ownership and project boundaries still apply.
404 not_found The requested operation or resource is not available to this credential.
429 rate_limited This member has reached the reply-generation rate limit. Honor Retry-After before retrying.
422 empty_thread The visible conversation has no customer or support message to draft from. Internal notes alone are not enough.
503 llm_unavailable No usable draft was generated. Wait before retrying; no reply was saved or sent.

Next steps

Download OpenAPI · Versioning & retirement

JSON schemas

Use the complete schemas for validation or client generation.

Full request JSON schema
{
  "type": "object",
  "properties": {
    "conversation_id": {
      "type": "string",
      "minLength": 1,
      "description": "Conversation record ID from ListConversations. Use the same approved member who can read its inbox and messages; an inbox ID is not a conversation ID."
    }
  },
  "required": [
    "conversation_id"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "conversation_id": "e_conversation_contacts"
    }
  ]
}
Full response JSON schema
{
  "type": "object",
  "properties": {
    "suggestion": {
      "type": "string",
      "description": "Generated reply body as a text string, in the customer's language. It is neither saved nor sent. Review and edit it before presenting or sending it to the customer; treat generated text as untrusted content, not HTML."
    }
  },
  "required": [
    "suggestion"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "suggestion": "You can upload a CSV with a header row and one contact per row. Include name and email columns. If you share the column names you use, I can help you check the mapping before importing."
    }
  ]
}

Search by operation name or what you want to build.

Use arrow keys to browse. Enter opens a result.