My Listings
curl --request GET \
--url https://api.example.com/api/horses/my-listingsimport requests
url = "https://api.example.com/api/horses/my-listings"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/horses/my-listings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/horses/my-listings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/horses/my-listings"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/horses/my-listings")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/horses/my-listings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"success": true,
"data": [
{
"_id": "507f1f77bcf86cd799439011",
"seller_id": "507f191e810c19729de860ea",
"name": "Thunder",
"age": 8,
"breed": "Thoroughbred",
"discipline": "Show Jumping",
"pedigree": "Sire: Storm Cat, Dam: Winning Colors",
"location": {
"country": "Argentina",
"region": "Buenos Aires",
"city": "San Isidro",
"coordinates": {
"lat": -34.4708,
"lng": -58.5247
}
},
"price": 45000,
"currency": "USD",
"photos": [
{
"_id": "65f1a2b3c4d5e6f7g8h9i0j1",
"url": "https://cdn.horsetrust.com/photos/abc123.jpg",
"caption": "Thunder at competition",
"is_cover": true,
"uploaded_at": "2026-03-01T10:00:00Z"
}
],
"videos": [
{
"_id": "65f1a2b3c4d5e6f7g8h9i0j2",
"url": "https://youtube.com/watch?v=abc123",
"embed_url": "https://www.youtube.com/embed/abc123",
"video_type": "competition",
"title": "Thunder jumping 1.40m",
"recorded_at": "2026-02-15T00:00:00Z",
"uploaded_at": "2026-03-01T10:00:00Z"
}
],
"status": "active",
"views_count": 234,
"created_at": "2026-03-01T10:00:00Z",
"updated_at": "2026-03-05T15:30:00Z"
},
{
"_id": "507f1f77bcf86cd799439012",
"seller_id": "507f191e810c19729de860ea",
"name": "Silver Star",
"age": 6,
"breed": "Andalusian",
"discipline": "Dressage",
"location": {
"country": "Argentina",
"region": "Córdoba",
"city": "Villa Carlos Paz"
},
"price": 38000,
"currency": "USD",
"photos": [
{
"_id": "65f1a2b3c4d5e6f7g8h9i0j3",
"url": "https://cdn.horsetrust.com/photos/def456.jpg",
"is_cover": true,
"uploaded_at": "2026-02-20T14:00:00Z"
},
{
"_id": "65f1a2b3c4d5e6f7g8h9i0j4",
"url": "https://cdn.horsetrust.com/photos/def457.jpg",
"is_cover": false,
"uploaded_at": "2026-02-20T14:00:00Z"
},
{
"_id": "65f1a2b3c4d5e6f7g8h9i0j5",
"url": "https://cdn.horsetrust.com/photos/def458.jpg",
"is_cover": false,
"uploaded_at": "2026-02-20T14:00:00Z"
}
],
"videos": [],
"status": "draft",
"views_count": 12,
"created_at": "2026-02-20T14:00:00Z",
"updated_at": "2026-02-25T10:15:00Z"
}
]
}
Horses
My Listings
Get all horse listings for the authenticated seller
GET
/
api
/
horses
/
my-listings
My Listings
curl --request GET \
--url https://api.example.com/api/horses/my-listingsimport requests
url = "https://api.example.com/api/horses/my-listings"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/horses/my-listings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/horses/my-listings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/horses/my-listings"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/horses/my-listings")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/horses/my-listings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"success": true,
"data": [
{
"_id": "507f1f77bcf86cd799439011",
"seller_id": "507f191e810c19729de860ea",
"name": "Thunder",
"age": 8,
"breed": "Thoroughbred",
"discipline": "Show Jumping",
"pedigree": "Sire: Storm Cat, Dam: Winning Colors",
"location": {
"country": "Argentina",
"region": "Buenos Aires",
"city": "San Isidro",
"coordinates": {
"lat": -34.4708,
"lng": -58.5247
}
},
"price": 45000,
"currency": "USD",
"photos": [
{
"_id": "65f1a2b3c4d5e6f7g8h9i0j1",
"url": "https://cdn.horsetrust.com/photos/abc123.jpg",
"caption": "Thunder at competition",
"is_cover": true,
"uploaded_at": "2026-03-01T10:00:00Z"
}
],
"videos": [
{
"_id": "65f1a2b3c4d5e6f7g8h9i0j2",
"url": "https://youtube.com/watch?v=abc123",
"embed_url": "https://www.youtube.com/embed/abc123",
"video_type": "competition",
"title": "Thunder jumping 1.40m",
"recorded_at": "2026-02-15T00:00:00Z",
"uploaded_at": "2026-03-01T10:00:00Z"
}
],
"status": "active",
"views_count": 234,
"created_at": "2026-03-01T10:00:00Z",
"updated_at": "2026-03-05T15:30:00Z"
},
{
"_id": "507f1f77bcf86cd799439012",
"seller_id": "507f191e810c19729de860ea",
"name": "Silver Star",
"age": 6,
"breed": "Andalusian",
"discipline": "Dressage",
"location": {
"country": "Argentina",
"region": "Córdoba",
"city": "Villa Carlos Paz"
},
"price": 38000,
"currency": "USD",
"photos": [
{
"_id": "65f1a2b3c4d5e6f7g8h9i0j3",
"url": "https://cdn.horsetrust.com/photos/def456.jpg",
"is_cover": true,
"uploaded_at": "2026-02-20T14:00:00Z"
},
{
"_id": "65f1a2b3c4d5e6f7g8h9i0j4",
"url": "https://cdn.horsetrust.com/photos/def457.jpg",
"is_cover": false,
"uploaded_at": "2026-02-20T14:00:00Z"
},
{
"_id": "65f1a2b3c4d5e6f7g8h9i0j5",
"url": "https://cdn.horsetrust.com/photos/def458.jpg",
"is_cover": false,
"uploaded_at": "2026-02-20T14:00:00Z"
}
],
"videos": [],
"status": "draft",
"views_count": 12,
"created_at": "2026-02-20T14:00:00Z",
"updated_at": "2026-02-25T10:15:00Z"
}
]
}
Authentication
Required - JWT Bearer token withseller or admin role
Authorization: Bearer YOUR_JWT_TOKEN
Response
boolean
Indicates if the request was successful
array
Array of horse listings owned by the authenticated user, sorted by creation date (newest first)
string
Horse unique identifier
string
Seller ID (matches authenticated user)
string
Horse name
number
Horse age in years
string
Horse breed
string
Primary discipline
string
Pedigree information
number
Listing price
string
Currency code (USD, EUR, ARS, BRL, MXN)
array
array
string
Listing status: active, sold, paused, draft
number
Number of views
string
Creation timestamp
string
Last update timestamp
Notes
- Returns all listings regardless of status (active, draft, sold, paused)
- Results are sorted by creation date, newest first
- Only returns listings owned by the authenticated user
- No pagination - returns all user’s listings
Examples
curl -X GET "https://api.horsetrust.com/api/horses/my-listings" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
const response = await fetch('https://api.horsetrust.com/api/horses/my-listings', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_JWT_TOKEN'
}
});
const data = await response.json();
console.log(data);
import requests
response = requests.get(
'https://api.horsetrust.com/api/horses/my-listings',
headers={
'Authorization': 'Bearer YOUR_JWT_TOKEN'
}
)
data = response.json()
print(data)
{
"success": true,
"data": [
{
"_id": "507f1f77bcf86cd799439011",
"seller_id": "507f191e810c19729de860ea",
"name": "Thunder",
"age": 8,
"breed": "Thoroughbred",
"discipline": "Show Jumping",
"pedigree": "Sire: Storm Cat, Dam: Winning Colors",
"location": {
"country": "Argentina",
"region": "Buenos Aires",
"city": "San Isidro",
"coordinates": {
"lat": -34.4708,
"lng": -58.5247
}
},
"price": 45000,
"currency": "USD",
"photos": [
{
"_id": "65f1a2b3c4d5e6f7g8h9i0j1",
"url": "https://cdn.horsetrust.com/photos/abc123.jpg",
"caption": "Thunder at competition",
"is_cover": true,
"uploaded_at": "2026-03-01T10:00:00Z"
}
],
"videos": [
{
"_id": "65f1a2b3c4d5e6f7g8h9i0j2",
"url": "https://youtube.com/watch?v=abc123",
"embed_url": "https://www.youtube.com/embed/abc123",
"video_type": "competition",
"title": "Thunder jumping 1.40m",
"recorded_at": "2026-02-15T00:00:00Z",
"uploaded_at": "2026-03-01T10:00:00Z"
}
],
"status": "active",
"views_count": 234,
"created_at": "2026-03-01T10:00:00Z",
"updated_at": "2026-03-05T15:30:00Z"
},
{
"_id": "507f1f77bcf86cd799439012",
"seller_id": "507f191e810c19729de860ea",
"name": "Silver Star",
"age": 6,
"breed": "Andalusian",
"discipline": "Dressage",
"location": {
"country": "Argentina",
"region": "Córdoba",
"city": "Villa Carlos Paz"
},
"price": 38000,
"currency": "USD",
"photos": [
{
"_id": "65f1a2b3c4d5e6f7g8h9i0j3",
"url": "https://cdn.horsetrust.com/photos/def456.jpg",
"is_cover": true,
"uploaded_at": "2026-02-20T14:00:00Z"
},
{
"_id": "65f1a2b3c4d5e6f7g8h9i0j4",
"url": "https://cdn.horsetrust.com/photos/def457.jpg",
"is_cover": false,
"uploaded_at": "2026-02-20T14:00:00Z"
},
{
"_id": "65f1a2b3c4d5e6f7g8h9i0j5",
"url": "https://cdn.horsetrust.com/photos/def458.jpg",
"is_cover": false,
"uploaded_at": "2026-02-20T14:00:00Z"
}
],
"videos": [],
"status": "draft",
"views_count": 12,
"created_at": "2026-02-20T14:00:00Z",
"updated_at": "2026-02-25T10:15:00Z"
}
]
}
Error Responses
401 - Unauthorized
{
"success": false,
"message": "Authentication required"
}
403 - Forbidden
{
"success": false,
"message": "Seller role required"
}
500 - Server Error
{
"success": false,
"message": "Server error"
}
⌘I

