Reference for the Private Messages v1 endpoints on Roblox.
Base URL: https://privatemessages.roblox.com
GET /v1/announcements
Migrate from RobloxWebsite project, return news notification for Private Message page
Usage
import { fetchApi } from 'rozod';
import { getAnnouncements } from 'rozod/endpoints/privatemessagesv1';
const data = await fetchApi(getAnnouncements, undefined);
| Field |
Type |
Description |
collection |
object[] |
See below |
totalCollectionSize |
number |
|
collection[] item fields:
| Field |
Type |
Description |
id |
number |
|
sender |
object |
See below |
subject |
string |
|
body |
string |
|
created |
string |
|
updated |
string |
|
sender fields:
| Field |
Type |
Description |
hasVerifiedBadge |
boolean |
|
id |
number |
|
name |
string |
|
displayName |
string |
|
| Status |
Description |
| 400 |
2: Message does not exist or the current user is not authorized to view it. |
| 401 |
0: Authorization has been denied for this request. |
GET /v1/announcements/metadata
Usage
import { fetchApi } from 'rozod';
import { getAnnouncementsMetadata } from 'rozod/endpoints/privatemessagesv1';
const data = await fetchApi(getAnnouncementsMetadata, undefined);
| Field |
Type |
Description |
numOfAnnouncements |
number |
|
| Status |
Description |
| 401 |
0: Authorization has been denied for this request. |
GET /v1/messages
Gets a user’s messages.
Usage
import { fetchApi } from 'rozod';
import { getMessages } from 'rozod/endpoints/privatemessagesv1';
const data = await fetchApi(getMessages, {
pageNumber: /* integer? */,
pageSize: /* integer? = 20 */,
| Name |
Type |
Required |
Description |
pageNumber |
integer? |
No |
|
pageSize |
integer? = 20 |
No |
|
messageTab |
enum |
Yes |
|
| Field |
Type |
Description |
collection |
object[] |
See below |
totalCollectionSize |
number |
|
totalPages |
number |
|
pageNumber |
number |
|
collection[] item fields:
| Field |
Type |
Description |
id |
number |
|
sender |
object |
See below |
recipient |
object |
See below |
subject |
string |
|
body |
string |
|
created |
string |
|
updated |
string |
|
isRead |
boolean |
|
isSystemMessage |
boolean |
|
isReportAbuseDisplayed |
boolean |
|
sender fields:
| Field |
Type |
Description |
hasVerifiedBadge |
boolean |
|
id |
number |
|
name |
string |
|
displayName |
string |
|
recipient fields:
| Field |
Type |
Description |
hasVerifiedBadge |
boolean |
|
id |
number |
|
name |
string |
|
displayName |
string |
|
| Status |
Description |
| 401 |
0: Authorization has been denied for this request. |
GET /v1/messages/:messageId
Gets a message’s details.
Usage
import { fetchApi } from 'rozod';
import { getMessagesMessageid } from 'rozod/endpoints/privatemessagesv1';
const data = await fetchApi(getMessagesMessageid, {
| Name |
Type |
Required |
Description |
messageId |
integer |
Yes |
|
| Field |
Type |
Description |
id |
number |
|
sender |
object |
See below |
recipient |
object |
See below |
subject |
string |
|
body |
string |
|
created |
string |
|
updated |
string |
|
isRead |
boolean |
|
isSystemMessage |
boolean |
|
isReportAbuseDisplayed |
boolean |
|
sender fields:
| Field |
Type |
Description |
hasVerifiedBadge |
boolean |
|
id |
number |
|
name |
string |
|
displayName |
string |
|
recipient fields:
| Field |
Type |
Description |
hasVerifiedBadge |
boolean |
|
id |
number |
|
name |
string |
|
displayName |
string |
|
| Status |
Description |
| 400 |
2: Message does not exist or the current user is not authorized to view it. |
| 401 |
0: Authorization has been denied for this request. |
POST /v1/messages/archive
Archives a batch of messages.
Usage
import { fetchApi } from 'rozod';
import { postMessagesArchive } from 'rozod/endpoints/privatemessagesv1';
const data = await fetchApi(postMessagesArchive, {
| Field |
Type |
Description |
messageIds |
number[] |
|
| Field |
Type |
Description |
failedMessages |
object[] |
See below |
failedMessages[] item fields:
| Field |
Type |
Description |
messageId |
number |
|
errorMessage |
string |
|
| Status |
Description |
| 400 |
5: Too many ids in a batch request. |
| 401 |
0: Authorization has been denied for this request. |
| 403 |
0: Token Validation Failed |
POST /v1/messages/mark-read
Marks a batch of messages as read.
Usage
import { fetchApi } from 'rozod';
import { postMessagesMarkRead } from 'rozod/endpoints/privatemessagesv1';
const data = await fetchApi(postMessagesMarkRead, {
| Field |
Type |
Description |
messageIds |
number[] |
|
| Field |
Type |
Description |
failedMessages |
object[] |
See below |
failedMessages[] item fields:
| Field |
Type |
Description |
messageId |
number |
|
errorMessage |
string |
|
| Status |
Description |
| 400 |
5: Too many ids in a batch request. |
| 401 |
0: Authorization has been denied for this request. |
| 403 |
0: Token Validation Failed |
POST /v1/messages/mark-unread
Marks a batch of messages as unread.
Usage
import { fetchApi } from 'rozod';
import { postMessagesMarkUnread } from 'rozod/endpoints/privatemessagesv1';
const data = await fetchApi(postMessagesMarkUnread, {
| Field |
Type |
Description |
messageIds |
number[] |
|
| Field |
Type |
Description |
failedMessages |
object[] |
See below |
failedMessages[] item fields:
| Field |
Type |
Description |
messageId |
number |
|
errorMessage |
string |
|
| Status |
Description |
| 400 |
5: Too many ids in a batch request. |
| 401 |
0: Authorization has been denied for this request. |
| 403 |
0: Token Validation Failed |
POST /v1/messages/unarchive
Unarchives a batch of messages.
Usage
import { fetchApi } from 'rozod';
import { postMessagesUnarchive } from 'rozod/endpoints/privatemessagesv1';
const data = await fetchApi(postMessagesUnarchive, {
| Field |
Type |
Description |
messageIds |
number[] |
|
| Field |
Type |
Description |
failedMessages |
object[] |
See below |
failedMessages[] item fields:
| Field |
Type |
Description |
messageId |
number |
|
errorMessage |
string |
|
| Status |
Description |
| 400 |
5: Too many ids in a batch request. |
| 401 |
0: Authorization has been denied for this request. |
| 403 |
0: Token Validation Failed |
GET /v1/messages/unread/count
Gets unread messages for the authenticated user.
Usage
import { fetchApi } from 'rozod';
import { getMessagesUnreadCount } from 'rozod/endpoints/privatemessagesv1';
const data = await fetchApi(getMessagesUnreadCount, undefined);
| Field |
Type |
Description |
count |
number |
|
| Status |
Description |
| 401 |
0: Authorization has been denied for this request. |