curl --request GET \
--url https://api.fanvue.com/creators/{creatorUserUuid}/chats/{userUuid}/messages \
--header 'Authorization: Bearer <token>' \
--header 'X-Fanvue-API-Version: <x-fanvue-api-version>'import requests
url = "https://api.fanvue.com/creators/{creatorUserUuid}/chats/{userUuid}/messages"
headers = {
"X-Fanvue-API-Version": "<x-fanvue-api-version>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'X-Fanvue-API-Version': '<x-fanvue-api-version>',
Authorization: 'Bearer <token>'
}
};
fetch('https://api.fanvue.com/creators/{creatorUserUuid}/chats/{userUuid}/messages', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"uuid": "a1b2c3d4-5e6f-7g8h-9i0j-k1l2m3n4o5p6",
"text": "Hey there! How are you doing?",
"sentAt": "2024-01-15T00:00:00.000Z",
"sender": {
"uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"handle": "sarah-jones",
"nickname": "SarahK",
"displayName": "Sarah Jones",
"isTopSpender": true,
"avatarUrl": "https://media.fanvue.com/avatars/example-avatar.jpg",
"registeredAt": "2024-01-10T12:00:00.000Z"
},
"recipient": {
"uuid": "3bbe6394-2830-4646-a8ba-4a0a05426947",
"handle": "johnny-doey",
"nickname": "JohnnyD",
"displayName": "Johnny Doey",
"isTopSpender": true,
"avatarUrl": "https://media.fanvue.com/avatars/example-avatar.jpg",
"registeredAt": "2024-01-10T12:00:00.000Z"
},
"type": "SINGLE_RECIPIENT",
"hasMedia": false,
"mediaType": null,
"mediaUuids": [],
"mediaPreviewUuid": null,
"gif": null,
"pricing": null,
"purchasedAt": null,
"tipSource": null,
"sentByUserId": null,
"appUuid": "f6a7b8c9-0123-4567-89ab-cdef01234567",
"isRead": true
},
{
"uuid": "b2c3d4e5-6f7g-8h9i-0j1k-l2m3n4o5p6q7",
"text": "I'm doing great! Thanks for asking.",
"sentAt": "2024-01-15T00:00:00.000Z",
"sender": {
"uuid": "3bbe6394-2830-4646-a8ba-4a0a05426947",
"handle": "johnny-doey",
"nickname": "JohnnyD",
"displayName": "Johnny Doey",
"isTopSpender": true,
"avatarUrl": "https://media.fanvue.com/avatars/example-avatar.jpg",
"registeredAt": "2024-01-10T12:00:00.000Z"
},
"recipient": {
"uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"handle": "sarah-jones",
"nickname": "SarahK",
"displayName": "Sarah Jones",
"isTopSpender": true,
"avatarUrl": "https://media.fanvue.com/avatars/example-avatar.jpg",
"registeredAt": "2024-01-10T12:00:00.000Z"
},
"type": "SINGLE_RECIPIENT",
"hasMedia": true,
"mediaType": "image",
"mediaUuids": [
"a1b2c3d4-e5f6-7890-abcd-ef1234567890"
],
"mediaPreviewUuid": "c3d4e5f6-a7b8-9012-cdef-345678901234",
"gif": null,
"pricing": {
"USD": {
"price": 500
}
},
"purchasedAt": "2024-01-15T00:00:00.000Z",
"tipSource": null,
"sentByUserId": null,
"appUuid": null,
"isRead": true
},
{
"uuid": "c3d4e5f6-7890-1234-5678-9abcdef01234",
"text": "Thanks for the tip! 💖",
"sentAt": "2024-01-15T00:00:00.000Z",
"sender": {
"uuid": "3bbe6394-2830-4646-a8ba-4a0a05426947",
"handle": "johnny-doey",
"nickname": "JohnnyD",
"displayName": "Johnny Doey",
"isTopSpender": true,
"avatarUrl": "https://media.fanvue.com/avatars/example-avatar.jpg",
"registeredAt": "2024-01-10T12:00:00.000Z"
},
"recipient": {
"uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"handle": "sarah-jones",
"nickname": "SarahK",
"displayName": "Sarah Jones",
"isTopSpender": true,
"avatarUrl": "https://media.fanvue.com/avatars/example-avatar.jpg",
"registeredAt": "2024-01-10T12:00:00.000Z"
},
"type": "TIP",
"hasMedia": false,
"mediaType": null,
"mediaUuids": [],
"mediaPreviewUuid": null,
"gif": null,
"pricing": {
"USD": {
"price": 1000
}
},
"purchasedAt": null,
"tipSource": "post",
"sentByUserId": null,
"appUuid": null,
"isRead": true
},
{
"uuid": "d4e5f6a7-8901-2345-6789-abcdef012345",
"text": "Check out my new exclusive content 🔥",
"sentAt": "2024-01-14T00:00:00.000Z",
"sender": {
"uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"handle": "sarah-jones",
"nickname": "SarahK",
"displayName": "Sarah Jones",
"isTopSpender": true,
"avatarUrl": "https://media.fanvue.com/avatars/example-avatar.jpg",
"registeredAt": "2024-01-10T12:00:00.000Z"
},
"recipient": {},
"type": "BROADCAST",
"hasMedia": true,
"mediaType": "image",
"mediaUuids": [
"b2c3d4e5-f6a7-8901-bcde-f12345678901"
],
"mediaPreviewUuid": null,
"gif": null,
"pricing": null,
"purchasedAt": null,
"tipSource": null,
"sentByUserId": null,
"appUuid": null,
"isRead": false
},
{
"uuid": "e5f6a7b8-9012-3456-789a-bcdef0123456",
"text": null,
"sentAt": "2024-01-14T00:00:00.000Z",
"sender": {
"uuid": "3bbe6394-2830-4646-a8ba-4a0a05426947",
"handle": "johnny-doey",
"nickname": "JohnnyD",
"displayName": "Johnny Doey",
"isTopSpender": true,
"avatarUrl": "https://media.fanvue.com/avatars/example-avatar.jpg",
"registeredAt": "2024-01-10T12:00:00.000Z"
},
"recipient": {
"uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"handle": "sarah-jones",
"nickname": "SarahK",
"displayName": "Sarah Jones",
"isTopSpender": true,
"avatarUrl": "https://media.fanvue.com/avatars/example-avatar.jpg",
"registeredAt": "2024-01-10T12:00:00.000Z"
},
"type": "SINGLE_RECIPIENT",
"hasMedia": false,
"mediaType": null,
"mediaUuids": [],
"mediaPreviewUuid": null,
"gif": {
"id": "excited-happy-dance-xY7bQ",
"format": "WEBP",
"title": "excited happy dance",
"url": "https://cdn.klipy.com/excited-happy-dance-xY7bQ/md.webp",
"width": 480,
"height": 360
},
"pricing": null,
"purchasedAt": null,
"tipSource": null,
"sentByUserId": null,
"appUuid": null,
"isRead": false
}
],
"pagination": {
"page": 1,
"size": 2,
"hasMore": true
}
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"message": "<string>"
}{
"error": "<string>",
"message": "<string>",
"nextVersion": "<string>"
}{
"error": "<string>"
}Get messages between a creator and a user
Returns a paginated list of text messages between the specified creator and user. Messages are ordered by creation date (newest first).
The thread includes mass (broadcast) messages the creator sent that reached this user, interleaved with the 1:1 messages by publish date. POST /creators/{creatorUserUuid}/chats/messages/batch returns direct messages only, so the two endpoints return different messages for the same chat.
curl --request GET \
--url https://api.fanvue.com/creators/{creatorUserUuid}/chats/{userUuid}/messages \
--header 'Authorization: Bearer <token>' \
--header 'X-Fanvue-API-Version: <x-fanvue-api-version>'import requests
url = "https://api.fanvue.com/creators/{creatorUserUuid}/chats/{userUuid}/messages"
headers = {
"X-Fanvue-API-Version": "<x-fanvue-api-version>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'X-Fanvue-API-Version': '<x-fanvue-api-version>',
Authorization: 'Bearer <token>'
}
};
fetch('https://api.fanvue.com/creators/{creatorUserUuid}/chats/{userUuid}/messages', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"uuid": "a1b2c3d4-5e6f-7g8h-9i0j-k1l2m3n4o5p6",
"text": "Hey there! How are you doing?",
"sentAt": "2024-01-15T00:00:00.000Z",
"sender": {
"uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"handle": "sarah-jones",
"nickname": "SarahK",
"displayName": "Sarah Jones",
"isTopSpender": true,
"avatarUrl": "https://media.fanvue.com/avatars/example-avatar.jpg",
"registeredAt": "2024-01-10T12:00:00.000Z"
},
"recipient": {
"uuid": "3bbe6394-2830-4646-a8ba-4a0a05426947",
"handle": "johnny-doey",
"nickname": "JohnnyD",
"displayName": "Johnny Doey",
"isTopSpender": true,
"avatarUrl": "https://media.fanvue.com/avatars/example-avatar.jpg",
"registeredAt": "2024-01-10T12:00:00.000Z"
},
"type": "SINGLE_RECIPIENT",
"hasMedia": false,
"mediaType": null,
"mediaUuids": [],
"mediaPreviewUuid": null,
"gif": null,
"pricing": null,
"purchasedAt": null,
"tipSource": null,
"sentByUserId": null,
"appUuid": "f6a7b8c9-0123-4567-89ab-cdef01234567",
"isRead": true
},
{
"uuid": "b2c3d4e5-6f7g-8h9i-0j1k-l2m3n4o5p6q7",
"text": "I'm doing great! Thanks for asking.",
"sentAt": "2024-01-15T00:00:00.000Z",
"sender": {
"uuid": "3bbe6394-2830-4646-a8ba-4a0a05426947",
"handle": "johnny-doey",
"nickname": "JohnnyD",
"displayName": "Johnny Doey",
"isTopSpender": true,
"avatarUrl": "https://media.fanvue.com/avatars/example-avatar.jpg",
"registeredAt": "2024-01-10T12:00:00.000Z"
},
"recipient": {
"uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"handle": "sarah-jones",
"nickname": "SarahK",
"displayName": "Sarah Jones",
"isTopSpender": true,
"avatarUrl": "https://media.fanvue.com/avatars/example-avatar.jpg",
"registeredAt": "2024-01-10T12:00:00.000Z"
},
"type": "SINGLE_RECIPIENT",
"hasMedia": true,
"mediaType": "image",
"mediaUuids": [
"a1b2c3d4-e5f6-7890-abcd-ef1234567890"
],
"mediaPreviewUuid": "c3d4e5f6-a7b8-9012-cdef-345678901234",
"gif": null,
"pricing": {
"USD": {
"price": 500
}
},
"purchasedAt": "2024-01-15T00:00:00.000Z",
"tipSource": null,
"sentByUserId": null,
"appUuid": null,
"isRead": true
},
{
"uuid": "c3d4e5f6-7890-1234-5678-9abcdef01234",
"text": "Thanks for the tip! 💖",
"sentAt": "2024-01-15T00:00:00.000Z",
"sender": {
"uuid": "3bbe6394-2830-4646-a8ba-4a0a05426947",
"handle": "johnny-doey",
"nickname": "JohnnyD",
"displayName": "Johnny Doey",
"isTopSpender": true,
"avatarUrl": "https://media.fanvue.com/avatars/example-avatar.jpg",
"registeredAt": "2024-01-10T12:00:00.000Z"
},
"recipient": {
"uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"handle": "sarah-jones",
"nickname": "SarahK",
"displayName": "Sarah Jones",
"isTopSpender": true,
"avatarUrl": "https://media.fanvue.com/avatars/example-avatar.jpg",
"registeredAt": "2024-01-10T12:00:00.000Z"
},
"type": "TIP",
"hasMedia": false,
"mediaType": null,
"mediaUuids": [],
"mediaPreviewUuid": null,
"gif": null,
"pricing": {
"USD": {
"price": 1000
}
},
"purchasedAt": null,
"tipSource": "post",
"sentByUserId": null,
"appUuid": null,
"isRead": true
},
{
"uuid": "d4e5f6a7-8901-2345-6789-abcdef012345",
"text": "Check out my new exclusive content 🔥",
"sentAt": "2024-01-14T00:00:00.000Z",
"sender": {
"uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"handle": "sarah-jones",
"nickname": "SarahK",
"displayName": "Sarah Jones",
"isTopSpender": true,
"avatarUrl": "https://media.fanvue.com/avatars/example-avatar.jpg",
"registeredAt": "2024-01-10T12:00:00.000Z"
},
"recipient": {},
"type": "BROADCAST",
"hasMedia": true,
"mediaType": "image",
"mediaUuids": [
"b2c3d4e5-f6a7-8901-bcde-f12345678901"
],
"mediaPreviewUuid": null,
"gif": null,
"pricing": null,
"purchasedAt": null,
"tipSource": null,
"sentByUserId": null,
"appUuid": null,
"isRead": false
},
{
"uuid": "e5f6a7b8-9012-3456-789a-bcdef0123456",
"text": null,
"sentAt": "2024-01-14T00:00:00.000Z",
"sender": {
"uuid": "3bbe6394-2830-4646-a8ba-4a0a05426947",
"handle": "johnny-doey",
"nickname": "JohnnyD",
"displayName": "Johnny Doey",
"isTopSpender": true,
"avatarUrl": "https://media.fanvue.com/avatars/example-avatar.jpg",
"registeredAt": "2024-01-10T12:00:00.000Z"
},
"recipient": {
"uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"handle": "sarah-jones",
"nickname": "SarahK",
"displayName": "Sarah Jones",
"isTopSpender": true,
"avatarUrl": "https://media.fanvue.com/avatars/example-avatar.jpg",
"registeredAt": "2024-01-10T12:00:00.000Z"
},
"type": "SINGLE_RECIPIENT",
"hasMedia": false,
"mediaType": null,
"mediaUuids": [],
"mediaPreviewUuid": null,
"gif": {
"id": "excited-happy-dance-xY7bQ",
"format": "WEBP",
"title": "excited happy dance",
"url": "https://cdn.klipy.com/excited-happy-dance-xY7bQ/md.webp",
"width": 480,
"height": 360
},
"pricing": null,
"purchasedAt": null,
"tipSource": null,
"sentByUserId": null,
"appUuid": null,
"isRead": false
}
],
"pagination": {
"page": 1,
"size": 2,
"hasMore": true
}
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"message": "<string>"
}{
"error": "<string>",
"message": "<string>",
"nextVersion": "<string>"
}{
"error": "<string>"
}read:creator— Access creator profiles, content, and creator-specific information.read:chat— Read chat conversations, messages, and chat-related data. This includes viewing chat lists and message history.
Authorizations
OAuth 2.0 access token, presented as a JWT bearer token in the Authorization header. Obtain a token via the authorization-code flow; the scopes granted to the token determine which operations it may call.
Headers
API version to use for the request
"2025-06-26"
Query Parameters
Page number to retrieve (starts from 1)
x >= 1Number of items to return per page (1-50, default: 15)
1 <= x <= 50Whether to mark the chat as read after retrieving messages
true, false Was this page helpful?