Skip to content

Messaging & Conversations

Category: Buying & Selling Last updated: 2026-07-15

Owning has a built-in messaging system that lets buyers and sellers communicate directly on the platform. Every conversation is tied to a specific listing, so you always know what item you're discussing.

How messaging works

When you contact a seller about a listing, Owning creates a conversation — a thread between you (the buyer) and the listing's seller. All messages in that conversation are stored on the platform, and both parties can read and reply at any time.

Key points:

  • One conversation per listing per buyer — if you message the same seller about the same listing twice, your messages are added to the existing conversation rather than creating a new one.
  • You can't message your own listing — the system prevents this.
  • Messages are text only — up to 5,000 characters per message. No image attachments in messages (share image URLs if needed).
  • Conversations are private — only the buyer and seller can see the messages. They are not public.

Sending a message on the web

  1. Open the listing you're interested in.
  2. Click "Contact seller" — this starts a conversation.
  3. Type your message and send it.
  4. The seller receives a notification and can reply through the platform.

To view your conversations, go to owning.pro/messages. You'll see a list of all your active conversations, sorted by most recent message. Click any conversation to see the full message history and send a reply.

Note: The web messaging interface may prompt you to log in. You need an account to use in-platform messaging. See Getting Started to create one.

Using messaging via the API

The messaging API requires authentication. You'll need an API key with write permission — see Account & API Keys.

List your conversations

curl https://api.owning.pro/api/conversations?page=1&limit=20 \
  -H "Authorization: Bearer YOUR_API_KEY"

Response:

{
  "results": [
    {
      "id": "cnv_01JXK...",
      "listing": {
        "id": "lst_01JXJ...",
        "title": "iPhone 14 Pro 256GB Deep Purple",
        "slug": "iphone-14-pro-256gb-deep-purple"
      },
      "buyer": {
        "id": "usr_01JXK...",
        "name": "Alex Rivera"
      },
      "seller": {
        "id": "usr_01JXJ...",
        "name": "Jordan Smith"
      },
      "last_message": {
        "content": "Yes, it's still available!",
        "sender_id": "usr_01JXJ...",
        "created_at": "2026-07-15T11:30:00.000Z"
      },
      "unread_count": 1,
      "created_at": "2026-07-15T10:00:00.000Z",
      "last_message_at": "2026-07-15T11:30:00.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 1,
    "pages": 1
  }
}

The unread_count tells you how many messages in the conversation were sent by the other person and haven't been marked as read yet.

Start a new conversation

curl -X POST https://api.owning.pro/api/conversations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "listing_id": "lst_01JXJ...",
    "message": "Hi! Is the iPhone 14 Pro still available? I can pick it up this weekend."
  }'

Response (201 Created):

{
  "id": "cnv_01JXK...",
  "message": "Conversation created",
  "created": true
}

If a conversation already exists for this listing + buyer, the message is added to the existing conversation and you'll receive:

{
  "id": "cnv_01JXK...",
  "message": "Message added to existing conversation",
  "created": false
}

View a conversation's messages

curl "https://api.owning.pro/api/conversations/{conversation_id}?page=1&limit=50" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response:

{
  "id": "cnv_01JXK...",
  "listing": {
    "id": "lst_01JXJ...",
    "title": "iPhone 14 Pro 256GB Deep Purple",
    "slug": "iphone-14-pro-256gb-deep-purple"
  },
  "buyer": {
    "id": "usr_01JXK...",
    "name": "Alex Rivera"
  },
  "seller": {
    "id": "usr_01JXJ...",
    "name": "Jordan Smith"
  },
  "created_at": "2026-07-15T10:00:00.000Z",
  "last_message_at": "2026-07-15T11:30:00.000Z",
  "messages": {
    "results": [
      {
        "id": "msg_01JXK...",
        "sender_id": "usr_01JXK...",
        "sender_name": "Alex Rivera",
        "content": "Hi! Is the iPhone 14 Pro still available?",
        "read_at": "2026-07-15T10:05:00.000Z",
        "created_at": "2026-07-15T10:00:00.000Z"
      },
      {
        "id": "msg_01JXL...",
        "sender_id": "usr_01JXJ...",
        "sender_name": "Jordan Smith",
        "content": "Yes, it's still available!",
        "read_at": null,
        "created_at": "2026-07-15T11:30:00.000Z"
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 50,
      "total": 2,
      "pages": 1
    }
  }
}

Messages are returned oldest-first for a chat-like display.

Reply to a conversation

curl -X POST "https://api.owning.pro/api/conversations/{conversation_id}/messages" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Great! What time works for you on Saturday?"
  }'

Response (201 Created):

{
  "id": "msg_01JXM...",
  "conversation_id": "cnv_01JXK...",
  "sender_id": "usr_01JXK...",
  "content": "Great! What time works for you on Saturday?",
  "read_at": null,
  "created_at": "2026-07-15T12:00:00.000Z"
}

Mark messages as read

When you open a conversation, mark the other person's messages as read to clear the unread count:

curl -X PATCH "https://api.owning.pro/api/conversations/{conversation_id}/read" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response:

{
  "conversation_id": "cnv_01JXK...",
  "marked_read": 1,
  "read_at": "2026-07-15T12:05:00.000Z"
}

This marks all unread messages sent by the other person as read. Your own messages are not affected.

Messaging vs. contact seller

Owning has two ways to reach a seller:

Feature In-platform messaging Contact seller (email)
Requires account Yes No (API is public)
Where it appears /messages page Seller's email inbox
Message history Stored on platform Sent via email
API endpoint POST /api/conversations POST /api/listings/{id}/contact
Auth required Yes No

In-platform messaging keeps a record of your conversation on Owning, which is useful for reference and safety. The contact seller endpoint sends an email notification to the seller with your message — see How to Contact a Seller for details.

Messaging safety tips

  • Keep conversations on the platform — don't move to WhatsApp, email, or SMS unless you've established trust. The platform keeps a record of your conversation.
  • Never share sensitive information — don't send your address, bank details, or ID numbers in messages.
  • Arrange meetings in public — when setting up an in-person exchange, agree on a public, well-lit location.
  • Be responsive — buyers and sellers who reply quickly tend to complete transactions more smoothly.

See Safety Tips for the full guide.

Learn more

Was this helpful?