List a conversation's messages
curl --request GET \
--url https://public-api.staging.workchats.com/v1/conversations/{conversation_id}/messages \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://public-api.staging.workchats.com/v1/conversations/{conversation_id}/messages', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://public-api.staging.workchats.com/v1/conversations/{conversation_id}/messages"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"messages": [
{
"conversation_id": "grp_6b0c1d2e-3f40-4a5b-8c6d-7e8f9a0b1c2d",
"created_at": "2026-09-28T11:05:12Z",
"files": [
{
"id": "fil_1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d"
}
],
"id": "gmsg_9b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"text": "The signed contract",
"thread_id": null,
"type": "file",
"user_id": "usr_9a1b2c3d-4e5f-4a6b-8c7d-8e9f0a1b2c3d"
}
],
"next_cursor": null,
"ok": true
}{
"error": {
"code": "token_revoked",
"message": "The token has been revoked."
},
"ok": false,
"request_id": "F7p0mJcXk3tq2x0AAAAB"
}{
"error": {
"code": "token_revoked",
"message": "The token has been revoked."
},
"ok": false,
"request_id": "F7p0mJcXk3tq2x0AAAAB"
}{
"error": {
"code": "token_revoked",
"message": "The token has been revoked."
},
"ok": false,
"request_id": "F7p0mJcXk3tq2x0AAAAB"
}{
"error": {
"code": "token_revoked",
"message": "The token has been revoked."
},
"ok": false,
"request_id": "F7p0mJcXk3tq2x0AAAAB"
}{
"error": {
"code": "token_revoked",
"message": "The token has been revoked."
},
"ok": false,
"request_id": "F7p0mJcXk3tq2x0AAAAB"
}{
"error": {
"code": "token_revoked",
"message": "The token has been revoked."
},
"ok": false,
"request_id": "F7p0mJcXk3tq2x0AAAAB"
}{
"error": {
"code": "token_revoked",
"message": "The token has been revoked."
},
"ok": false,
"request_id": "F7p0mJcXk3tq2x0AAAAB"
}Reference
List a conversation's messages
Lists the messages of a group or named channel the bot is a member of, newest first. The bot sees what a person who joined when it did would see: nothing sent before it joined, and no deleted messages. Direct messages cannot be read. files names each attached file; GET /v1/conversations/{conversation_id}/files/{id} returns its details and a download link. Needs conversations:history. Limited to 20 requests a minute per installation.
GET
/
v1
/
conversations
/
{conversation_id}
/
messages
List a conversation's messages
curl --request GET \
--url https://public-api.staging.workchats.com/v1/conversations/{conversation_id}/messages \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://public-api.staging.workchats.com/v1/conversations/{conversation_id}/messages', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://public-api.staging.workchats.com/v1/conversations/{conversation_id}/messages"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"messages": [
{
"conversation_id": "grp_6b0c1d2e-3f40-4a5b-8c6d-7e8f9a0b1c2d",
"created_at": "2026-09-28T11:05:12Z",
"files": [
{
"id": "fil_1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d"
}
],
"id": "gmsg_9b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"text": "The signed contract",
"thread_id": null,
"type": "file",
"user_id": "usr_9a1b2c3d-4e5f-4a6b-8c7d-8e9f0a1b2c3d"
}
],
"next_cursor": null,
"ok": true
}{
"error": {
"code": "token_revoked",
"message": "The token has been revoked."
},
"ok": false,
"request_id": "F7p0mJcXk3tq2x0AAAAB"
}{
"error": {
"code": "token_revoked",
"message": "The token has been revoked."
},
"ok": false,
"request_id": "F7p0mJcXk3tq2x0AAAAB"
}{
"error": {
"code": "token_revoked",
"message": "The token has been revoked."
},
"ok": false,
"request_id": "F7p0mJcXk3tq2x0AAAAB"
}{
"error": {
"code": "token_revoked",
"message": "The token has been revoked."
},
"ok": false,
"request_id": "F7p0mJcXk3tq2x0AAAAB"
}{
"error": {
"code": "token_revoked",
"message": "The token has been revoked."
},
"ok": false,
"request_id": "F7p0mJcXk3tq2x0AAAAB"
}{
"error": {
"code": "token_revoked",
"message": "The token has been revoked."
},
"ok": false,
"request_id": "F7p0mJcXk3tq2x0AAAAB"
}{
"error": {
"code": "token_revoked",
"message": "The token has been revoked."
},
"ok": false,
"request_id": "F7p0mJcXk3tq2x0AAAAB"
}Authorizations
Bot token (wc_bot_live_… or wc_bot_test_…) from the OAuth install
Path Parameters
A group (grp_) or named channel (chn_) id
Query Parameters
Page size, 200 by default. Values above 1000 are clamped.
Required range:
x >= 1The previous page's next_cursor, for older messages. Omit it for the newest page.