Auctions

Read active, public auctions. Controller: Api\V1\AuctionController

GET /api/v1/auctions Public

Paginated list of active public auctions.

Query parameters

NameTypeDescription
category_idintegerFilter by category ID. Example: 3
searchstringSearch title. Example: equipment
sort_bystringColumn name. Default: end_time
sort_dirasc|descSort direction. Default: asc
per_pageintegerItems per page. Default: 15
pageintegerPage number

Example request

GET /api/v1/auctions?category_id=3&search=estate&per_page=10

Example response 200

{
  "success": true,
  "data": {
    "current_page": 1,
    "data": [
      {
        "id": 12,
        "title": "Spring Estate Sale",
        "slug": "spring-estate-2026",
        "status": "active",
        "privacy_setting": "public",
        "buyer_premium_percentage": "10.00",
        "start_time": "2026-06-01T09:00:00.000000Z",
        "end_time": "2026-06-15T18:00:00.000000Z",
        "formatted_start_time": "Jun 01, 2026 09:00 AM",
        "formatted_end_time": "Jun 15, 2026 06:00 PM",
        "category": { "id": 3, "name": "Real Estate" }
      }
    ],
    "per_page": 10,
    "total": 1
  },
  "message": "Auctions retrieved successfully."
}
GET /api/v1/auctions/{auction} Public

Single auction by numeric ID or slug.

Path parameters

auctioninteger|string12 or spring-estate-2026

Example

GET /api/v1/auctions/spring-estate-2026

Response includes

category, auctionable (owner), media, formatted dates.

Response 404

{ "success": false, "message": "Auction not found or is no longer active." }
GET /api/v1/auctions/{auction}/lots Public

Paginated lots for an auction (20 per page), ordered by lot_number.

Example

GET /api/v1/auctions/12/lots?page=1