> ## Documentation Index > Fetch the complete documentation index at: https://developer.rocket.chat/llms.txt > Use this file to discover all available pages before exploring further. # DM History > Retrieves the message history from a direct message. ### Change Log | Version | Description | | ------- | ----------------------- | | 0.75.0 | Added `offset` property | | 0.48.0 | Added | ## OpenAPI ````json GET /api/v1/dm.history { "openapi": "3.0.0", "info": { "version": "1.0.0", "title": "Messaging" }, "servers": [ { "url": "https://apiexplorer.support.rocket.chat" } ], "tags": [ { "name": "Chat" }, { "name": "Direct Messages" }, { "name": "Auto-Translate" } ], "paths": { "/api/v1/dm.history": { "get": { "tags": [ "Direct Messages" ], "summary": "DM History", "description": "Retrieves the message history from a direct message.\n### Change Log\n| Version | Description |\n| ------- | ----------------------- |\n| 0.75.0 | Added `offset` property |\n| 0.48.0 | Added |", "operationId": "get-api-v1-im.history", "parameters": [ { "$ref": "#/components/parameters/Auth-Token" }, { "$ref": "#/components/parameters/UserId" }, { "$ref": "#/components/parameters/RoomId" }, { "$ref": "#/components/parameters/offset" }, { "$ref": "#/components/parameters/count" }, { "$ref": "#/components/parameters/sort" }, { "name": "latest", "in": "query", "description": "The end of time range of messages to retrieve.", "schema": { "type": "string" }, "example": "2016-09-30T13:42:25.304Z" }, { "name": "oldest", "in": "query", "description": "The start of the time range of messages to retrieve.", "schema": { "type": "string" }, "example": "2016-05-30T13:42:25.304Z" }, { "name": "inclusive", "in": "query", "description": "Whether messages which land on the `latest` and `oldest` dates should be included.", "schema": { "type": "string" } }, { "name": "showThreadMessages", "in": "query", "description": "Choose to display thread message in the message history.", "schema": { "type": "boolean" }, "example": "true" }, { "name": "unreads", "in": "query", "description": "Whether the number of unread messages should be included.", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "messages": { "type": "array", "items": { "type": "object", "properties": { "_id": { "type": "string" }, "rid": { "type": "string" }, "msg": { "type": "string" }, "ts": { "type": "string" }, "u": { "type": "object", "properties": { "_id": { "type": "string" }, "username": { "type": "string" } } }, "_updatedAt": { "type": "string" }, "t": { "type": "string" }, "groupable": { "type": "boolean" } } } }, "success": { "type": "boolean" } } }, "examples": { "Example 1": { "value": { "messages": [ { "_id": "AkzpHAvZpdnuchw2a", "rid": "ByehQjC44FwMeiLbX", "msg": "hi", "ts": "2016-12-09T12:50:51.555Z", "u": { "_id": "y65tAmHs93aDChMWu", "username": "testing" }, "_updatedAt": "2016-12-09T12:50:51.562Z" }, { "_id": "vkLMxcctR4MuTxreF", "t": "uj", "rid": "ByehQjC44FwMeiLbX", "ts": "2016-12-08T15:41:37.73Z", "msg": "testing2", "u": { "_id": "bRtgdhzM6PD9F8pSx", "username": "testing2" }, "groupable": false, "_updatedAt": "2016-12-08T16:03:25.235Z" }, { "_id": "bfRW658nEyEBg75rc", "t": "uj", "rid": "ByehQjC44FwMeiLbX", "ts": "2016-12-07T15:47:49.099Z", "msg": "testing", "u": { "_id": "nSYqWzZ4GsKTX4dyK", "username": "testing1" }, "groupable": false, "_updatedAt": "2016-12-07T15:47:49.099Z" }, { "_id": "pbuFiGadhRZTKouhB", "t": "uj", "rid": "ByehQjC44FwMeiLbX", "ts": "2016-12-06T17:57:38.635Z", "msg": "testing", "u": { "_id": "y65tAmHs93aDChMWu", "username": "testing" }, "groupable": false, "_updatedAt": "2016-12-06T17:57:38.635Z" } ], "success": true } } } } } }, "401": { "$ref": "#/components/responses/authorizationError" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "type": "object", "properties": { "success": { "type": "boolean" }, "error": { "type": "string" }, "errorType": { "type": "string" } } }, "examples": { "Example 1": { "value": { "success": false, "error": "must have required property 'roomId' [invalid-params]", "errorType": "invalid-params" } }, "Example 2": { "value": { "success": false, "error": "[invalid-channel]", "errorType": "invalid-channel" } } } } } } } } } }, "components": { "parameters": { "Auth-Token": { "name": "X-Auth-Token", "in": "header", "description": "The `authToken` of the authenticated user.", "required": true, "schema": { "type": "string" }, "example": "RScctEHSmLGZGywfIhWyRpyofhKOiMoUIpimhvheU3f" }, "UserId": { "name": "X-User-Id", "in": "header", "description": "The `userId` of the authenticated user.", "required": true, "schema": { "type": "string" }, "example": "rbAXPnMktTFbNpwtJ" }, "RoomId": { "name": "roomId", "in": "query", "description": "The room ID.", "required": true, "schema": { "type": "string" }, "example": "6GFJ3tbmHiyHbahmC" }, "offset": { "name": "offset", "in": "query", "description": "Number of items to \"skip\" in the query, i.e. requests return count items, skipping the first offset items. Refer to the [official documentation](https://developer.rocket.chat/apidocs/query-parameters#pagination) to learn more.", "required": false, "schema": { "type": "integer" }, "example": 50 }, "count": { "name": "count", "in": "query", "description": "The number of items to return. Refer to the [official documentation](https://developer.rocket.chat/apidocs/query-parameters#pagination) to learn more.", "required": false, "schema": { "type": "integer" }, "example": 50 }, "sort": { "name": "sort", "in": "query", "description": "List of fields to order by, and in which direction. This is a JSON object, with properties listed in desired order, with values of 1 for ascending, or -1 for descending. For example, `{ \"value\": -1, \"_id\": 1 }`. Refer to the [official documentation](https://developer.rocket.chat/apidocs/query-parameters#pagination) to learn more.", "required": false, "schema": {} } }, "responses": { "authorizationError": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" }, "message": { "type": "string" } } }, "examples": { "Authorization Error": { "value": { "status": "error", "message": "You must be logged in to do this." } } } } } } } } } ````