GoHighLevel Conversations API
Complete File Upload
/conversations/messages/upload/completePOST /conversations/messages/upload/complete Validates the uploaded file in GCS and returns the public URL. Call this endpoint after successfully uploading the file to the signed URL It takes 5 body fields, requires the conversations/message.write scope.
Request and authentication
- Method
POST- Full URL
https://services.leadconnectorhq.com/conversations/messages/upload/complete- Scopes
conversations/message.write- API version header
Version: 2021-07-28- Schema verified
- 22 June 2026
Request body
JSON body fields. Nested objects are shown indented under their parent.
| Name | Type | Description |
|---|---|---|
uploadIdrequired | string | Upload ID from request response Example: |
filePathrequired | string | File path from request response Example: |
locationIdrequired | string | Location ID Example: |
conversationIdrequired | string | Conversation ID Example: |
filenamerequired | string | Original filename (for response mapping) Example: |
Response fields
Top-level fields returned on a successful call.
| Name | Type | Description |
|---|---|---|
uploadedFilesrequired | object | Map of filename to public URL Example: |
metadatarequired | object | File metadata Example: |
Example request
Copy-paste ready. Swap YOUR_TOKEN for your access token or Private Integration Token.
curl -X POST 'https://services.leadconnectorhq.com/conversations/messages/upload/complete' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Version: 2021-07-28' \
-H 'Content-Type: application/json' \
-d '{
"uploadId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"filePath": "location/loc123/conversations/conv456/uuid.mp4",
"locationId": "ve9EPM428h8vShlRW1KT",
"conversationId": "ve9EPM428h8vShlRW1KT",
"filename": "video.mp4"
}'Skip the schema lookup
Hylo gives your AI agent this schema — and the other 52 documented here — without you looking anything up. Ask in plain English; it picks the endpoint, fills the body, and can run the call against your own sub-account.
More conversations endpoints
- Add An Inbound MessagePOST /conversations/messages/inbound
- Add An Outbound MessagePOST /conversations/messages/outbound
- Add Message AttachmentsPUT /conversations/messages/:messageId/attachments
- Create ConversationPOST /conversations/
- Create Custom SubtypePOST /conversations/preferences/custom-subtypes
- Export Messages By LocationGET /conversations/messages/export
- All GoHighLevel Conversations endpointsCategory index
- GoHighLevel API referenceEvery category, webhooks, and OAuth scopes