---
title: "Give a conversation back to the AI to continue"
description: "Give a WhatsApp conversation the AI handed to the team back to the AI, which continues the contact's pending request now, though the contact has not written. `note` tells the Agent what changed; the contact never sees it. Only while WhatsApp's 24-hour window is open (WHATSAPP_WINDOW_CLOSED otherwise, and nothing changes), once per handoff (HANDOFF_ALREADY_CONTINUED), and only for a conversation the AI handed off (CONVERSATION_NOT_HANDED_OFF). Not an AI tool: it makes the Agent write to a real person.\n\n- **Scope:** `raiz:conversations:write`\n- **Credentials:** an API key, a client-credentials token or a person's access token\n- **Effect:** writes\n- **Limits:** request body up to 32 KB, response up to 1 MB\n- **CLI:** `arbol raiz conversations continue` · not available on MCP"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.getarbol.com/llms.txt
> Use this file to discover all available pages before exploring further.

Path: Raíz API › Conversations

`POST /v1/raiz/conversations/{conversationId}/continue`

Give a WhatsApp conversation the AI handed to the team back to the AI, which continues the contact's pending request now, though the contact has not written. `note` tells the Agent what changed; the contact never sees it. Only while WhatsApp's 24-hour window is open (WHATSAPP_WINDOW_CLOSED otherwise, and nothing changes), once per handoff (HANDOFF_ALREADY_CONTINUED), and only for a conversation the AI handed off (CONVERSATION_NOT_HANDED_OFF). Not an AI tool: it makes the Agent write to a real person.

- **Scope:** `raiz:conversations:write`
- **Credentials:** an API key, a client-credentials token or a person's access token
- **Effect:** writes
- **Limits:** request body up to 32 KB, response up to 1 MB
- **CLI:** `arbol raiz conversations continue` · not available on MCP

## Authentication

Requires one of the following:

- `arbolHuman`, oauth2, scopes: `raiz:conversations:write`
- `arbolMachine`, oauth2, scopes: `raiz:conversations:write`
- `arbolApiKey`, http, header `Authorization`

## Path parameters

- `conversationId` (`raiz.conversations.continue.path.conversationId`; string, required) — Conversation id.
  - pattern `^cnv_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`

## Request body

_Required._

- `note` (`raiz.conversations.continue.note`; string, optional) — A short note for the Agent about what changed (for example «Ya se pueden agendar potenciales visuales»). The Agent reads it; the contact never sees it.
  - maxLength 500

## Example request

```json
{
  "note": "string"
}
```

## Code samples

### cURL

```bash
curl https://api.getarbol.com/v1/raiz/conversations/cnv_01m45h8q2rf3t9w6y7z0b1c2d3/continue \
  --request POST \
  --header "Authorization: Bearer $ARBOL_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{}'
```

### TypeScript

```typescript
import { createClient } from "@arbol-ai/sdk";

const arbol = createClient({
  baseUrl: "https://api.getarbol.com",
  token: process.env.ARBOL_API_KEY!,
});

const { data } = await arbol.raiz.conversations.continue({
  conversationId: "cnv_01m45h8q2rf3t9w6y7z0b1c2d3",
});
```

### Rust

```rust
use arbol_sdk::{types, Client, Credential};

let arbol = Client::new(Credential::ApiKey(std::env::var("ARBOL_API_KEY")?))?;

let data = arbol
    .raiz()
    .conversations()
    .r#continue(&types::RaizConversationsContinueInput {
        conversation_id: "cnv_01m45h8q2rf3t9w6y7z0b1c2d3".into(),
        note: None,
    })
    .await?;
```

### CLI

```bash
arbol raiz conversations continue cnv_01m45h8q2rf3t9w6y7z0b1c2d3
```

## Responses

### 200

Successful operation.

#### Example

```json
{
  "success": true,
  "data": {
    "agentId": "agt_01m45h8q2rf3t9w6y7z0b1c2d3",
    "agentName": "string",
    "agentReplied": true,
    "aiCoveragePercent": 0,
    "aiEnabled": true,
    "aiPaused": true,
    "aiPausedBy": "agent",
    "analyzedAt": "2019-08-24T14:15:22Z",
    "campaignId": "cmp_01m45h8q2rf3t9w6y7z0b1c2d3",
    "campaignRecipientId": "rcp_01m45h8q2rf3t9w6y7z0b1c2d3",
    "channelAddress": "string",
    "channelId": "chn_01m45h8q2rf3t9w6y7z0b1c2d3",
    "channelName": "string",
    "channelType": "voice",
    "closeReason": "completed",
    "contactId": "cnt_01m45h8q2rf3t9w6y7z0b1c2d3",
    "contactName": "string",
    "contactProfileName": "string",
    "counterpartAddress": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "deletedAt": "2019-08-24T14:15:22Z",
    "direction": "inbound",
    "durationSeconds": 0,
    "endedAt": "2019-08-24T14:15:22Z",
    "id": "cnv_01m45h8q2rf3t9w6y7z0b1c2d3",
    "language": "string",
    "lastMessageAt": "2019-08-24T14:15:22Z",
    "messageCount": 0,
    "metadata": {},
    "operatorReplied": true,
    "origin": "inbound",
    "outcome": "success",
    "profileId": "prf_01m45h8q2rf3t9w6y7z0b1c2d3",
    "recordingAvailable": true,
    "requestedBy": "string",
    "sentiment": "positive",
    "startedAt": "2019-08-24T14:15:22Z",
    "status": "open",
    "subjectContactId": "cnt_01m45h8q2rf3t9w6y7z0b1c2d3",
    "summary": "string",
    "summaryAuthor": "person",
    "title": "string",
    "titleAuthor": "person",
    "updatedAt": "2019-08-24T14:15:22Z",
    "version": 1,
    "workers": [
      {
        "agentId": "agt_01m45h8q2rf3t9w6y7z0b1c2d3",
        "answering": true,
        "kind": "agent",
        "name": "string",
        "firstMessageAt": "2019-08-24T14:15:22Z",
        "lastMessageAt": "2019-08-24T14:15:22Z",
        "messageCount": 0
      }
    ],
    "toolCalls": {
      "count": 0,
      "failed": 0,
      "lastFailure": {
        "errorCode": "string",
        "errorMessage": "string",
        "toolName": "string"
      }
    },
    "analysisErrorCode": "string",
    "facts": [
      {
        "author": "person",
        "confidence": 0,
        "contactId": "cnt_01m45h8q2rf3t9w6y7z0b1c2d3",
        "conversationId": "cnv_01m45h8q2rf3t9w6y7z0b1c2d3",
        "createdAt": "2019-08-24T14:15:22Z",
        "definition": {
          "id": "def_01m45h8q2rf3t9w6y7z0b1c2d3",
          "key": "string",
          "kind": "attribute",
          "name": "string",
          "valueType": "text"
        },
        "id": "fct_01m45h8q2rf3t9w6y7z0b1c2d3",
        "observedAt": "2019-08-24T14:15:22Z",
        "optionLabel": "string",
        "reviewStatus": "unreviewed",
        "value": "string",
        "valueStatus": "known"
      }
    ],
    "messages": {
      "data": [
        {
          "agentId": "agt_01m45h8q2rf3t9w6y7z0b1c2d3",
          "content": "string",
          "createdAt": "2019-08-24T14:15:22Z",
          "deliveredAt": "2019-08-24T14:15:22Z",
          "deliveryErrorCode": "string",
          "deliveryStatus": "sending",
          "generation": {
            "firstTokenMs": 0,
            "inputCachedTokens": 0,
            "inputTokens": 0,
            "model": "arbolito/agile",
            "modelCalls": 0,
            "outputTokens": 0,
            "reasoningTokens": 0,
            "responseMs": 0,
            "speechToTextMs": 0,
            "textToSpeechMs": 0
          },
          "id": "msg_01m45h8q2rf3t9w6y7z0b1c2d3",
          "memberId": "string",
          "occurredAt": "2019-08-24T14:15:22Z",
          "origin": "business_app",
          "parts": [
            {
              "format": "plain",
              "interrupted": true,
              "text": "string",
              "type": "text"
            }
          ],
          "position": 0,
          "readAt": "2019-08-24T14:15:22Z",
          "replyTo": {
            "content": "string",
            "messageId": "msg_01m45h8q2rf3t9w6y7z0b1c2d3",
            "role": "string"
          },
          "role": "contact"
        }
      ],
      "object": "list",
      "pageInfo": {
        "hasNextPage": true,
        "hasPreviousPage": true,
        "nextCursor": "string",
        "previousCursor": "string"
      }
    },
    "recording": {
      "url": "http://example.com",
      "expiresAt": "2019-08-24T14:15:22Z"
    }
  },
  "error": null,
  "metadata": {
    "requestId": "string"
  }
}
```

- `success` (`raiz.conversations.continue.response.200.success`; boolean, required)
- `data` (`raiz.conversations.continue.response.200.data`; object, required)
  - `agentId` (`raiz.conversations.continue.response.200.data.agentId`; string | null, required) — Agent id.
    - pattern `^agt_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
  - `agentName` (`raiz.conversations.continue.response.200.data.agentName`; string | null, required)
  - `agentReplied` (`raiz.conversations.continue.response.200.data.agentReplied`; boolean, required) — The Agent said something to the contact.
  - `aiCoveragePercent` (`raiz.conversations.continue.response.200.data.aiCoveragePercent`; integer, required)
    - min 0; max 100
  - `aiEnabled` (`raiz.conversations.continue.response.200.data.aiEnabled`; boolean, required) — AI assignment for this episode. Manual changes affect only this conversation; recipient pauses still apply.
  - `aiPaused` (`raiz.conversations.continue.response.200.data.aiPaused`; boolean, required) — WhatsApp automatic replies are paused for this recipient. A pause ends when their open conversation closes, so the next one starts with the AI; a closed conversation keeps the state it ended with.
  - `aiPausedBy` (`raiz.conversations.continue.response.200.data.aiPausedBy`; string | null, required) — Who paused automatic replies for the recipient: the Agent, handing the conversation to a person, or an operator (a person of the organization who wrote to the contact or paused the AI). Null when not paused or unknown.
    - one of `"agent"`, `"operator"`, `null`
  - `analyzedAt` (`raiz.conversations.continue.response.200.data.analyzedAt`; string | null, required) — An instant in RFC 3339 format, in UTC.
    - format `date-time`
  - `campaignId` (`raiz.conversations.continue.response.200.data.campaignId`; string | null, required) — Campaign of a campaign attempt.
    - pattern `^cmp_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
  - `campaignRecipientId` (`raiz.conversations.continue.response.200.data.campaignRecipientId`; string | null, required) — Campaign recipient of a campaign attempt.
    - pattern `^rcp_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
  - `channelAddress` (`raiz.conversations.continue.response.200.data.channelAddress`; string | null, required) — The organization's side: its number or URL.
  - `channelId` (`raiz.conversations.continue.response.200.data.channelId`; string | null, required) — Channel id.
    - pattern `^(?:chn_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))|(?:agc)_(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
  - `channelName` (`raiz.conversations.continue.response.200.data.channelName`; string | null, required)
  - `channelType` (`raiz.conversations.continue.response.200.data.channelType`; string, required)
    - one of `"voice"`, `"whatsapp"`, `"web"`
  - `closeReason` (`raiz.conversations.continue.response.200.data.closeReason`; string | null, required)
    - one of `"completed"`, `"inactivity"`, `"handoff"`, `"migration"`, `"error"`, `"manual"`, `null`
  - `contactId` (`raiz.conversations.continue.response.200.data.contactId`; string | null, required) — Contact id.
    - pattern `^cnt_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
  - `contactName` (`raiz.conversations.continue.response.200.data.contactName`; string | null, required)
  - `contactProfileName` (`raiz.conversations.continue.response.200.data.contactProfileName`; string | null, required) — The name the contact shows on WhatsApp (their profile name), as WhatsApp shares it; unverified. `contactName` is the contact's own name.
  - `counterpartAddress` (`raiz.conversations.continue.response.200.data.counterpartAddress`; string | null, required) — The contact's side: their number or address.
  - `createdAt` (`raiz.conversations.continue.response.200.data.createdAt`; string, required) — An instant in RFC 3339 format, in UTC.
    - format `date-time`
  - `deletedAt` (`raiz.conversations.continue.response.200.data.deletedAt`; string | null, required) — When the conversation was deleted. Only the changed feed (`listConversations?sort=changed`) lists deleted conversations, once, as tombstones; everywhere else this is null.
    - format `date-time`
  - `direction` (`raiz.conversations.continue.response.200.data.direction`; string, required)
    - one of `"inbound"`, `"outbound"`
  - `durationSeconds` (`raiz.conversations.continue.response.200.data.durationSeconds`; integer | null, required)
    - min 0
  - `endedAt` (`raiz.conversations.continue.response.200.data.endedAt`; string | null, required) — An instant in RFC 3339 format, in UTC.
    - format `date-time`
  - `id` (`raiz.conversations.continue.response.200.data.id`; string, required) — Conversation id.
    - pattern `^cnv_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
  - `language` (`raiz.conversations.continue.response.200.data.language`; string | null, required)
  - `lastMessageAt` (`raiz.conversations.continue.response.200.data.lastMessageAt`; string | null, required) — An instant in RFC 3339 format, in UTC.
    - format `date-time`
  - `messageCount` (`raiz.conversations.continue.response.200.data.messageCount`; integer, required)
    - min 0
  - `metadata` (`raiz.conversations.continue.response.200.data.metadata`; object, required) — Your own keys and labels for this resource (up to 50 keys of 40 characters; values up to 500 characters). Raíz never interprets them.
  - `operatorReplied` (`raiz.conversations.continue.response.200.data.operatorReplied`; boolean, required) — A person of the organization wrote to the contact, in Raíz or in the WhatsApp Business app.
  - `origin` (`raiz.conversations.continue.response.200.data.origin`; string, required) — How it started: the contact reached out (`inbound`), a person of the organization started it (`manual`: in the Dashboard, or on WhatsApp in the WhatsApp Business app), a client through the API (`api`), a campaign, an import or a person-owned WhatsApp Agent trial (`test`).
    - one of `"inbound"`, `"manual"`, `"api"`, `"campaign"`, `"import"`, `"test"`
  - `outcome` (`raiz.conversations.continue.response.200.data.outcome`; string | null, required)
    - one of `"success"`, `"failure"`, `"unknown"`, `null`
  - `profileId` (`raiz.conversations.continue.response.200.data.profileId`; string | null, required) — The communication profile it was started from.
    - pattern `^prf_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
  - `recordingAvailable` (`raiz.conversations.continue.response.200.data.recordingAvailable`; boolean, required)
  - `requestedBy` (`raiz.conversations.continue.response.200.data.requestedBy`; string | null, required) — Who started it with `createConversation`: the token's subject, a person's user id or `<client id>@clients` for a machine client. Null for inbound, campaign and imported conversations.
  - `sentiment` (`raiz.conversations.continue.response.200.data.sentiment`; string | null, required)
    - one of `"positive"`, `"neutral"`, `"negative"`, `null`
  - `startedAt` (`raiz.conversations.continue.response.200.data.startedAt`; string, required) — An instant in RFC 3339 format, in UTC.
    - format `date-time`
  - `status` (`raiz.conversations.continue.response.200.data.status`; string, required)
    - one of `"open"`, `"closed"`
  - `subjectContactId` (`raiz.conversations.continue.response.200.data.subjectContactId`; string | null, required) — The contact the conversation is about when it is not the counterpart (a patient a relative calls for).
    - pattern `^cnt_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
  - `summary` (`raiz.conversations.continue.response.200.data.summary`; string | null, required)
  - `summaryAuthor` (`raiz.conversations.continue.response.200.data.summaryAuthor`; string | null, required) — Who wrote the value.
    - one of `"person"`, `"ai"`, `"system"`, `"import"`, `"provider"`, `null`
  - `title` (`raiz.conversations.continue.response.200.data.title`; string | null, required) — The stored intent title, or null while there is insufficient context or generation is pending. Clients can show a localized placeholder from status and messageCount. A person's title is never replaced automatically.
  - `titleAuthor` (`raiz.conversations.continue.response.200.data.titleAuthor`; string | null, required) — Who wrote the value.
    - one of `"person"`, `"ai"`, `"system"`, `"import"`, `"provider"`, `null`
  - `updatedAt` (`raiz.conversations.continue.response.200.data.updatedAt`; string, required) — An instant in RFC 3339 format, in UTC.
    - format `date-time`
  - `version` (`raiz.conversations.continue.response.200.data.version`; integer, required)
    - min 1
  - `workers` (`raiz.conversations.continue.response.200.data.workers`; array<any of>, required) — Who works the conversation for the organization, in the order each first wrote something the contact saw (those who have not yet, last): each Agent and the team that wrote in it and, while it is open or when nobody answered it, whoever has it (the assigned Agent while the AI handles it, the team otherwise). `agentId` is the Agent assigned now.
    - any of: `object`, `object`
  - `toolCalls` (`raiz.conversations.continue.response.200.data.toolCalls`; object, required)
    - `count` (`raiz.conversations.continue.response.200.data.toolCalls.count`; integer, required) — The Agent's tool calls in the conversation.
      - min 0
    - `failed` (`raiz.conversations.continue.response.200.data.toolCalls.failed`; integer, required) — How many of them failed.
      - min 0
    - `lastFailure` (`raiz.conversations.continue.response.200.data.toolCalls.lastFailure`; any of, required)
      - any of: `RaizConversationToolFailure`, `null`
  - `analysisErrorCode` (`raiz.conversations.continue.response.200.data.analysisErrorCode`; string | null, required) — The stable code of the latest failed analysis attempt; null before a failure or after a successful analysis. A failed attempt may be retried automatically.
  - `facts` (`raiz.conversations.continue.response.200.data.facts`; array<object>, required) — The current value of each definition for this subject (the newest assertion that was not rejected).
    - `author` (`raiz.conversations.continue.response.200.data.facts.author`; string, required) — Who wrote the value.
      - one of `"person"`, `"ai"`, `"system"`, `"import"`, `"provider"`
    - `confidence` (`raiz.conversations.continue.response.200.data.facts.confidence`; number | null, required) — How sure the AI was, from 0 to 1. Null for people.
      - min 0; max 1
    - `contactId` (`raiz.conversations.continue.response.200.data.facts.contactId`; string | null, required) — The contact the fact is about, for contact facts.
      - pattern `^cnt_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
    - `conversationId` (`raiz.conversations.continue.response.200.data.facts.conversationId`; string | null, required) — The conversation the fact is about, for conversation facts.
      - pattern `^cnv_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
    - `createdAt` (`raiz.conversations.continue.response.200.data.facts.createdAt`; string, required) — An instant in RFC 3339 format, in UTC.
      - format `date-time`
    - `definition` (`raiz.conversations.continue.response.200.data.facts.definition`; object, required)
      - `id` (`raiz.conversations.continue.response.200.data.facts.definition.id`; string, required) — Definition id.
        - pattern `^def_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
      - `key` (`raiz.conversations.continue.response.200.data.facts.definition.key`; string, required)
      - `kind` (`raiz.conversations.continue.response.200.data.facts.definition.kind`; string, required) — What the definition captures: an `attribute` (a datum), an `assessment` (a yes/no check of the conversation), a `category` (a classification such as the reason for contact) or a `metric`.
        - one of `"attribute"`, `"assessment"`, `"category"`, `"metric"`
      - `name` (`raiz.conversations.continue.response.200.data.facts.definition.name`; string, required)
      - `valueType` (`raiz.conversations.continue.response.200.data.facts.definition.valueType`; string, required)
        - one of `"text"`, `"number"`, `"boolean"`, `"date"`, `"option"`
    - `id` (`raiz.conversations.continue.response.200.data.facts.id`; string, required) — Fact id.
      - pattern `^fct_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
    - `observedAt` (`raiz.conversations.continue.response.200.data.facts.observedAt`; string, required) — An instant in RFC 3339 format, in UTC.
      - format `date-time`
    - `optionLabel` (`raiz.conversations.continue.response.200.data.facts.optionLabel`; string | null, required) — The option's label, for option facts.
    - `reviewStatus` (`raiz.conversations.continue.response.200.data.facts.reviewStatus`; string, required)
      - one of `"unreviewed"`, `"confirmed"`, `"rejected"`
    - `value` (`raiz.conversations.continue.response.200.data.facts.value`; any of, required) — A string (text), number, boolean, ISO date `YYYY-MM-DD` (date) or option key (option), per the definition's value type.
      - any of: `string`, `number`, `boolean`, `null`
    - `valueStatus` (`raiz.conversations.continue.response.200.data.facts.valueStatus`; string, required)
      - one of `"known"`, `"unknown"`, `"not_applicable"`
  - `messages` (`raiz.conversations.continue.response.200.data.messages`; object, optional) — The transcript, oldest first, with tool calls and quoted replies. Present only when expanded.
    - `data` (`raiz.conversations.continue.response.200.data.messages.data`; array<object>, required) — Items admitted by this resource contract within the verified organization.
      - `agentId` (`raiz.conversations.continue.response.200.data.messages.data.agentId`; string | null, required) — The Agent that wrote an Agent message. Null for every other role.
        - pattern `^agt_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
      - `content` (`raiz.conversations.continue.response.200.data.messages.data.content`; string, required) — The plain text of the parts.
      - `createdAt` (`raiz.conversations.continue.response.200.data.messages.data.createdAt`; string, required) — An instant in RFC 3339 format, in UTC.
        - format `date-time`
      - `deliveredAt` (`raiz.conversations.continue.response.200.data.messages.data.deliveredAt`; string | null, required) — An instant in RFC 3339 format, in UTC.
        - format `date-time`
      - `deliveryErrorCode` (`raiz.conversations.continue.response.200.data.messages.data.deliveryErrorCode`; string | null, required)
      - `deliveryStatus` (`raiz.conversations.continue.response.200.data.messages.data.deliveryStatus`; string | null, required) — Delivery of an Agent or operator message on channels that report it; it only moves forward. `uncertain`: the provider did not confirm, and Raíz asks it again.
        - one of `"sending"`, `"uncertain"`, `"sent"`, `"delivered"`, `"read"`, `"played"`, `"failed"`, `null`
      - `generation` (`raiz.conversations.continue.response.200.data.messages.data.generation`; object | null, required) — How the AI produced an Agent message.
        - `firstTokenMs` (`raiz.conversations.continue.response.200.data.messages.data.generation.firstTokenMs`; number | null, required)
        - `inputCachedTokens` (`raiz.conversations.continue.response.200.data.messages.data.generation.inputCachedTokens`; number | null, required)
        - `inputTokens` (`raiz.conversations.continue.response.200.data.messages.data.generation.inputTokens`; number | null, required)
        - `model` (`raiz.conversations.continue.response.200.data.messages.data.generation.model`; string | null, required) — The tier that wrote the message.
          - one of `"arbolito/agile"`, `"arbolito/balanced"`, `"arbolito/advanced"`, `"arbolito/top"`, `null`
        - `modelCalls` (`raiz.conversations.continue.response.200.data.messages.data.generation.modelCalls`; number | null, required)
        - `outputTokens` (`raiz.conversations.continue.response.200.data.messages.data.generation.outputTokens`; number | null, required)
        - `reasoningTokens` (`raiz.conversations.continue.response.200.data.messages.data.generation.reasoningTokens`; number | null, required)
        - `responseMs` (`raiz.conversations.continue.response.200.data.messages.data.generation.responseMs`; number | null, required)
        - `speechToTextMs` (`raiz.conversations.continue.response.200.data.messages.data.generation.speechToTextMs`; number | null, required)
        - `textToSpeechMs` (`raiz.conversations.continue.response.200.data.messages.data.generation.textToSpeechMs`; number | null, required)
      - `id` (`raiz.conversations.continue.response.200.data.messages.data.id`; string, required) — Message id.
        - pattern `^msg_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
      - `memberId` (`raiz.conversations.continue.response.200.data.messages.data.memberId`; string | null, required) — The person of the organization who wrote an operator message in Raíz: their member id, as Arbol Account lists it (`account.members.list`). Null when Raíz does not know who wrote it (the WhatsApp Business app, a machine client) and for every other role.
        - minLength 1; maxLength 255
      - `occurredAt` (`raiz.conversations.continue.response.200.data.messages.data.occurredAt`; string, required) — An instant in RFC 3339 format, in UTC.
        - format `date-time`
      - `origin` (`raiz.conversations.continue.response.200.data.messages.data.origin`; string | null, required) — - `business_app`: Where an operator message was written: `business_app` is the WhatsApp Business app (the phone app or WhatsApp Web) on a number Raíz shares. Null for messages written in Raíz and for every other role.
        - one of `"business_app"`, `null`
      - `parts` (`raiz.conversations.continue.response.200.data.messages.data.parts`; array<any of>, required)
        - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`
      - `position` (`raiz.conversations.continue.response.200.data.messages.data.position`; integer, required) — Order in the transcript, from 0.
        - min 0
      - `readAt` (`raiz.conversations.continue.response.200.data.messages.data.readAt`; string | null, required) — An instant in RFC 3339 format, in UTC.
        - format `date-time`
      - `replyTo` (`raiz.conversations.continue.response.200.data.messages.data.replyTo`; object | null, required) — The message this one quotes.
        - `content` (`raiz.conversations.continue.response.200.data.messages.data.replyTo.content`; string | null, required) — Up to 280 characters.
        - `messageId` (`raiz.conversations.continue.response.200.data.messages.data.replyTo.messageId`; string, required) — Message id.
          - pattern `^msg_(?:[0-7][0-9a-hjkmnp-tv-z]{25}|(?:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|[a-f0-9]{32}))$`
        - `role` (`raiz.conversations.continue.response.200.data.messages.data.replyTo.role`; string | null, required)
      - `role` (`raiz.conversations.continue.response.200.data.messages.data.role`; string, required)
        - one of `"contact"`, `"agent"`, `"operator"`, `"system"`
    - `object` (`raiz.conversations.continue.response.200.data.messages.object`; string, required) — Discriminator for a resource list response.
    - `pageInfo` (`raiz.conversations.continue.response.200.data.messages.pageInfo`; object, required) — Opaque navigation cursors for this page’s stable keyset order.
      - `hasNextPage` (`raiz.conversations.continue.response.200.data.messages.pageInfo.hasNextPage`; boolean, required) — Whether a later page exists in the current ordering.
      - `hasPreviousPage` (`raiz.conversations.continue.response.200.data.messages.pageInfo.hasPreviousPage`; boolean, required) — Whether an earlier page exists in the current ordering.
      - `nextCursor` (`raiz.conversations.continue.response.200.data.messages.pageInfo.nextCursor`; string | null, required) — Opaque cursor for the next page, or null when there is none.
      - `previousCursor` (`raiz.conversations.continue.response.200.data.messages.pageInfo.previousCursor`; string | null, required) — Opaque cursor for the previous page, or null when there is none.
  - `recording` (`raiz.conversations.continue.response.200.data.recording`; any of, optional)
    - any of: `RaizSignedUrl`, `null`
- `error` (`raiz.conversations.continue.response.200.error`; null, required)
- `metadata` (`raiz.conversations.continue.response.200.metadata`; object, required)
  - `requestId` (`raiz.conversations.continue.response.200.metadata.requestId`; string, required) — Request correlation identifier, also sent as X-Request-Id.

### 400

- `INVALID_INPUT`: The request does not match the published schema.
- `INVALID_CURSOR`: The cursor is malformed or belongs to a different list.

#### Example

```json
{
  "error": {
    "code": "INVALID_INPUT"
  }
}
```

- `error` (`raiz.conversations.continue.response.400.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 401

`UNAUTHORIZED`: A valid access token is required.

#### Example

```json
{
  "error": {
    "code": "UNAUTHORIZED"
  }
}
```

- `error` (`raiz.conversations.continue.response.401.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 403

`FORBIDDEN`: The token does not authorize this operation.

#### Example

```json
{
  "error": {
    "code": "FORBIDDEN"
  }
}
```

- `error` (`raiz.conversations.continue.response.403.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 404

- `NOT_FOUND`: The requested operation does not exist.
- `RESOURCE_NOT_FOUND`: The requested resource does not exist in this organization.

#### Example

```json
{
  "error": {
    "code": "NOT_FOUND"
  }
}
```

- `error` (`raiz.conversations.continue.response.404.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 405

`HTTP_METHOD_NOT_ALLOWED`: The HTTP method is not supported for this resource.

#### Example

```json
{
  "error": {
    "code": "HTTP_METHOD_NOT_ALLOWED"
  }
}
```

- `error` (`raiz.conversations.continue.response.405.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 409

- `CONVERSATION_CLOSED`: The conversation is closed. Start a new conversation to write again.
- `CONVERSATION_NOT_HANDED_OFF`: The AI has not handed this conversation to the team, so there is nothing to give back to it.
- `HANDOFF_ALREADY_CONTINUED`: This handoff was already given back to the AI to continue. It continues once per handoff; a new escalation can be given back again.
- `CHANNEL_NOT_READY`: The channel is not connected yet, or this kind of traffic is not enabled on it.
- `CHANNEL_TYPE_MISMATCH`: This operation or field does not apply to this channel's type.
- `WHATSAPP_WINDOW_CLOSED`: More than 24 hours passed since the contact last wrote. Start the conversation with an approved template.

#### Example

```json
{
  "error": {
    "code": "CONVERSATION_CLOSED"
  }
}
```

- `error` (`raiz.conversations.continue.response.409.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 413

`REQUEST_TOO_LARGE`: The request exceeds the allowed size.

#### Example

```json
{
  "error": {
    "code": "REQUEST_TOO_LARGE"
  }
}
```

- `error` (`raiz.conversations.continue.response.413.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 415

`UNSUPPORTED_MEDIA_TYPE`: The request content type is not supported.

#### Example

```json
{
  "error": {
    "code": "UNSUPPORTED_MEDIA_TYPE"
  }
}
```

- `error` (`raiz.conversations.continue.response.415.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 429

`RATE_LIMITED`: The request rate limit was exceeded. Try again later.

#### Example

```json
{
  "error": {
    "code": "RATE_LIMITED"
  }
}
```

- `error` (`raiz.conversations.continue.response.429.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 500

`INTERNAL_ERROR`: The service could not complete the operation.

#### Example

```json
{
  "error": {
    "code": "INTERNAL_ERROR"
  }
}
```

- `error` (`raiz.conversations.continue.response.500.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 502

`OUTCOME_UNKNOWN`: The operation may have been applied; check its result before repeating it.

#### Example

```json
{
  "error": {
    "code": "OUTCOME_UNKNOWN"
  }
}
```

- `error` (`raiz.conversations.continue.response.502.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 503

- `UPSTREAM_UNAVAILABLE`: The upstream service could not complete the request.
- `INTEGRATIONS_UNAVAILABLE`: The organization's integrations cannot be read right now. Try again shortly.

#### Example

```json
{
  "error": {
    "code": "UPSTREAM_UNAVAILABLE"
  }
}
```

- `error` (`raiz.conversations.continue.response.503.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 504

`UPSTREAM_TIMEOUT`: The upstream service did not respond before its deadline.

#### Example

```json
{
  "error": {
    "code": "UPSTREAM_TIMEOUT"
  }
}
```

- `error` (`raiz.conversations.continue.response.504.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`


Source: https://docs.getarbol.com/api/raiz/conversations/continue/index.md
