Buyer-to-seller conversations on the marketplace, and the older lead-scoped message threads.
https://api.caroom.usBuyer-to-seller chat on the marketplace. A conversation is scoped to a listing and its participants; messages are posted into the conversation and read state is tracked per participant. Listing results are cursor-paginated and every response echoes the filters and sorting that were applied.
Returns the conversations the caller participates in, each with its participants, last-read message and listing. The metadata object carries the pagination cursors, the total count, and a read-back of the filters and sorting applied.
Authentication Bearer token
Scope the list to one user’s conversations.
Only conversations about this listing.
Only conversations with messages the caller has not read. Defaults to false.
Field to sort on — createdAt or updatedAt. Defaults to updatedAt.
Sort direction. Defaults to DESC.
Cursor from metadata.after, for the next page.
Cursor from metadata.before, for the previous page.
1curl "https://api.caroom.us/chats/conversations?listingId=11775&unreadOnly=true&sortBy=updatedAt&sortOrder=DESC" \
2 -H "Authorization: Bearer $CAROOM_ACCESS_TOKEN"{
"conversations": [
{
"id": "3dac8289-67ab-4b5e-a092-6abcd55a4a0b",
"userId": 2,
"conversationId": "296beda4-6800-4a7e-b602-063e2c5be35c",
"lastReadMessageID": "b7e58087-22fa-4650-ab63-7159dc535e48",
"participantType": null,
"createdAt": "2023-10-30T18:24:25.074Z",
"updatedAt": "2023-10-30T18:24:25.074Z",
"conversation": {
"id": "296beda4-6800-4a7e-b602-063e2c5be35c",
"listingId": 2,
"lastMessageId": "b7e58087-22fa-4650-ab63-7159dc535e48",
"userId": 21,
"summary": "New communication with seller",
"active": true,
"createdAt": "2023-10-30T17:10:57.606Z",
"updatedAt": "2023-10-30T18:24:24.648Z",
"user": { "id": 21, "name": "Demo User" },
"participants": [],
"listing": null
}
}
],
"metadata": {
"after": null,
"before": null,
"limit": 10,
"total_count": 4,
"filters_applied": { "listingId": null, "unreadOnly": false },
"sorting": { "sortBy": "updatedAt", "sortOrder": "DESC" }
}
}{
"conversations": [
{
"id": string,
"userId": integer,
"conversationId": string,
"lastReadMessageID": string,
"participantType": enum,
"updatedAt": string,
"createdAt": string,
"conversation": {
"id": string,
"listingId": integer,
"lastMessageId": string,
"userId": integer,
"summary": string,
"updatedAt": string,
"createdAt": string,
"user": {
"id": integer,
"name": string
},
"participants": [
{
"id": string,
"userId": integer,
"conversationId": string,
"lastReadMessageID": string,
"participantType": enum,
"updatedAt": string
"createdAt": string,
},
],
"listing": {
"id": integer,
"uniqueId": string,
"name": string,
"status": enum,
"report": {
"id": integer,
"thumbnail": string,
"car": {
"year": integer
"make": string,
"model": string,
"trim": string,
}
}
}
},
"car": {
"year": integer
"make": string,
"model": string,
"trim": string,
},
"leadId": integer,
"sellerName": string
}
],
"metadata": {
"after": string,
"before": string,
"limit": integer,
"total_count": integer
}
}Returns one conversation with its messages and participants.
Authentication Bearer token
UUID of the conversation.
1curl "https://api.caroom.us/chats/conversations/35c7d5f4-dd34-4b88-b30d-c7b034541c34" \
2 -H "Authorization: Bearer $CAROOM_ACCESS_TOKEN"{
"id": string,
"userId": integer,
"listingId": integer,
"lastMessageId": string,
"summary": string,
"updatedAt": string,
"createdAt": string,
"participants": [
{
"id": string,
"userId": integer,
"conversationId": string,
"lastReadMessageID": string,
"participantType": enum,
"updatedAt": string,
"createdAt": string,
"user": {
"name": string
}
},
],
"messages": [
{
"id": string,
"conversationId": string,
"senderId": integer,
"content": string,
"createdAt": string
}
],
"listing": {
"id": integer,
"uniqueId": string,
"name": string,
"status": enum,
"report": {
"id": integer,
"thumbnail": string,
"car": {
"year": integer
"make": string,
"model": string,
"trim": string,
"postcode": string,
}
}
},
"car": {
"year": integer,
"make": string,
"model": string,
"trim": string,
"postcode": string,
"postcodeState": string
}
}Posts a message into a conversation. If no conversation exists yet between the two users for that listing, this call opens one.
Authentication Bearer token
UUID of the conversation to post into.
Listing the conversation is about.
User receiving the message.
Message body.
1curl -X POST "https://api.caroom.us/chats/conversations/fc0f1160-14d6-44a3-9114-688fb235e635" \
2 -H "Authorization: Bearer $CAROOM_ACCESS_TOKEN" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "listingId": 2,
6 "recipientId": 10934,
7 "message": "Thanks for the gesture!"
8 }'{
"id": string,
"listingId": integer,
"userId": integer,
"lastMessageId": string,
"summary": string,
"updatedAt": string,
"createdAt": string,
"participants": [
{
"id": string,
"userId": integer,
"conversationId": string,
"lastReadMessageID": string,
"participantType": enum,
"updatedAt": string,
"createdAt": string,
"user": {
"name": string
}
}
],
"messages": [
{
"id": string,
"conversationId": string,
"senderId": integer,
"content": string,
"createdAt": string
}
],
"listing": {
"id": integer,
"uniqueId": string,
"name": string,
"status": enum,
"report": {
"id": integer,
"thumbnail": string,
"car": {
"year": integer
"make": string,
"model": string,
"trim": string,
"postcode": string,
}
}
},
"car": {
"year": integer,
"make": string,
"model": string,
"trim": string,
"postcode": string,
"postcodeState": string
}
}Moves a participant’s last-read marker to the newest message, which clears the conversation from unreadOnly listings.
Authentication Bearer token
UUID of the conversation.
Participant whose read marker moves.
1curl -X PATCH "https://api.caroom.us/chats/conversations/bd1e66a0-b5c5-48e3-b091-76c151b4749c/read" \
2 -H "Authorization: Bearer $CAROOM_ACCESS_TOKEN" \
3 -H "Content-Type: application/json" \
4 -d '{ "userId": 1 }'{
"id": string,
"listingId": integer,
"userId": integer,
"lastMessageId": string,
"summary": string,
"updatedAt": string
"createdAt": string
}The older, lead-scoped messaging used by partners and by sellers replying from a capture link. A seller with only a session key can reply without an account.
Base URL https://api.reportauto.eu
Sends a message to the other party on a lead. Buyers address the seller with lead_id and recipient_id; a seller replying from a capture link answers an existing message with message_id and session_key instead.
Authentication API key
Message body.
Lead the message is about. Use with recipient_id.
User receiving the message.
Message being replied to, when answering from a capture link.
Session key that authorises the reply.
1curl -X POST "https://api.reportauto.eu/api/leads/messages" \
2 -H "Authorization: API_KEY $CAROOM_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "lead_id": 2829,
6 "recipient_id": 2062,
7 "message": "Is the car still available?"
8 }'Returns the messages visible to the authenticated partner, with filters for read state and who started the thread.
Authentication API key
Filter on whether the buyer has read the message.
Filter on whether the seller has read the message.
BUYER or SELLER.
Field to sort on, e.g. seller_read_status.
Maximum number of messages to return.
Page number, 1-based.
Opaque cursor for the next page.
1curl "https://api.reportauto.eu/api/leads/messages?seller_read_status=false&message_initiated_by=BUYER&limit=25&page=1" \
2 -H "Authorization: API_KEY $CAROOM_API_KEY"Returns one message thread in full.
Authentication API key
UUID of the message.
Messages per page within the thread.
1curl "https://api.reportauto.eu/api/leads/messages/60352228-ac21-40ff-bb42-712392ad28a4" \
2 -H "Authorization: API_KEY $CAROOM_API_KEY"