Skip to content

HighLevel: Get message by message id

HighLevel conversations.getMessage: arguments, response, policy and SDK examples.

← Conversations operations · Get started

Operation gohighlevel.get_message

Provider route: GET /conversations/messages/{id}. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/gohighlevel with npm, or alter-sdk-gohighlevel with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { HighLevelIntegration } from "@alter-ai/gohighlevel";
async function execute(input: Parameters<HighLevelIntegration["conversations"]["getMessage"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new HighLevelIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.conversations.getMessage(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_gohighlevel import HighLevelIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = HighLevelIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.conversations.get_message(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
pathobjectRequired within parentAdditional keys: not allowed
path.idstringRequired within parent

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$ModelRootExpand Get message by message id — response body

Referenced models: Get message by message id — response body

Get message by message id — response body
FieldTypePresenceDescription and constraints
$objectRoot
attachmentsarrayOptionalAn array of attachment URLs. Attachments will be empty for Call and Voicemails, type 1 and 10. Please use get call recording API to fetch call recording and voicemails.
attachments[]stringEach item
bodystringOptionalBody content of the message
chatWidgetIdstringOptionalChat Widget Id
contactIdstringRequired within parentContact ID associated with the message
contentTypestringRequired within parentContent type of the message body
conversationIdstringRequired within parentConversation ID associated with the message
conversationProviderIdstringOptionalConversation Provider Id
dateAddedstringRequired within parentTimestamp when the message was created
directionstringRequired within parentDirection of the message
Known values: inbound, outbound
idstringRequired within parentUnique identifier for the message
locationIdstringRequired within parentLocation ID associated with the message
messageTypestringRequired within parentType of the message as a string
Known values: TYPE_CALL, TYPE_SMS, TYPE_RCS, TYPE_EMAIL, TYPE_SMS_REVIEW_REQUEST, TYPE_WEBCHAT, TYPE_SMS_NO_SHOW_REQUEST, TYPE_CAMPAIGN_SMS, TYPE_CAMPAIGN_CALL, TYPE_CAMPAIGN_EMAIL, TYPE_CAMPAIGN_VOICEMAIL, TYPE_FACEBOOK, TYPE_CAMPAIGN_FACEBOOK, TYPE_CAMPAIGN_MANUAL_CALL, TYPE_CAMPAIGN_MANUAL_SMS, TYPE_GMB, TYPE_CAMPAIGN_GMB, TYPE_REVIEW, TYPE_INSTAGRAM, TYPE_WHATSAPP, TYPE_CUSTOM_SMS, TYPE_CUSTOM_EMAIL, TYPE_CUSTOM_PROVIDER_SMS, TYPE_CUSTOM_PROVIDER_EMAIL, TYPE_IVR_CALL, TYPE_ACTIVITY_CONTACT, TYPE_ACTIVITY_INVOICE, TYPE_ACTIVITY_PAYMENT, TYPE_ACTIVITY_OPPORTUNITY, TYPE_LIVE_CHAT, TYPE_LIVE_CHAT_INFO_MESSAGE, TYPE_ACTIVITY_APPOINTMENT, TYPE_FACEBOOK_COMMENT, TYPE_INSTAGRAM_COMMENT, TYPE_CUSTOM_CALL, TYPE_INTERNAL_COMMENT, TYPE_ACTIVITY_EMPLOYEE_ACTION_LOG, TYPE_TIKTOK, TYPE_TIKTOK_COMMENT, TYPE_ACTIVITY_WHATSAPP, TYPE_FORM_SUBMISSION, TYPE_SMS_REACTION
metaModelOptionalExpand Get message by message id — response body — meta
Additional metadata associated with the message
sourcestringOptionalMessage source
Known values: workflow, bulk_actions, campaign, api, app
statusstringOptionalDelivery status of the message
Known values: connected, delivered, failed, opened, pending, read, scheduled, sent, undelivered, clicked, opt_out, queued
typeJSONRequired within parent
type (anyOf 1)numberAlternativeNumeric message type code
type (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
userIdstringOptionalUser Id

Referenced models: Get message by message id — response body — meta

Get message by message id — response body — meta
FieldTypePresenceDescription and constraints
$objectRoot
callDurationstringOptionalCall duration in seconds
callStatusstringOptionalCall status - can be pending, completed, answered, busy, no-answer, failed, canceled, or voicemail
Known values: pending, completed, answered, busy, no-answer, failed, canceled, voicemail
emailobjectOptionalmeta will contain email, for message type 3 (email). messageIds is list of all email message ids under the message thread

SDK function policy ID: gohighlevel.get_message. Catalog operation: get-message. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Required provider scopes: ["conversations/message.readonly"]

Pinned headers: {"Version": "v3"}

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.