Snoofa Rest API v1

Modified on Wed, 10 May, 2023 at 5:13 PM

Snoofa is a white-label solution, and the public-facing pages (e.g. the catalogue or the lot detail) we serve to your clients are customised to be consistent with your brand and fit seamlessly alongside your presentational website or your other landing pages. This makes it easy to start using Snoofa by simply linking to our pages from anywhere else.


Sometimes though, a closer integration is needed. You might want to show the upcoming auctions in banners on your homepage, or you'd like to feature or even search through the lots that reside in Snoofa. That's when the REST API comes into play.


Word of caution: While adding links is generally straight forward, consuming an API requires some technical skills, you might need a web developer or programmer for this.


TABLE OF CONTENTS


Base URL

https://[tenantURL]/api/v1/

Where [tenantURL] is something like https://app.your-site.com


Authentication

Since the API provides the same information as the public-facing site, just in a different format, we don't require the API consumer to authenticate.


Snoofa currently exposes two API endpoints, one for auctions and one for lots.


Auctions


All auctions that the clients can see on the public-facing side of Snoofa can also be viewed via this endpoint.


/auctions/[?limit=%d][&offset=%d][&type=%s][&onlyUpcoming=%d]


All auctions - response format

{
    "totalResults": <integer>,
    "sales": {
        "<integer: id>": {
            "shortName": "<string: code name>",
            "longName": "<string: public name>",
            "description": "<string|null: public description, supports HTML>",
            "type": "<string: live|timed|sealed>",
            "category": <string|null: name of the category>,
            "statusCode": "<string: planned|in_progress|ended|aftersale|archived>",
            "statusName": "<string: Planned|In Progress|Ended|Aftersale|Archived>",
            "launchDate": "<date: yyyy-mm-ddThh:mm:ss+tttt>",
            "endTime": "<date: yyyy-mm-ddThh:mm:ss+tttt>",
            "linkToCatalogue": "<URL>",
            "departments": [
                        {
                                    "name": "<string>",
                                    "icon": "<string|null>"
                        },
            ],
            "image": "<url|null>",
            "snoofaLiveStatus":<string|null: not_started|in_progress|paused|finished|>,
            "auctionDays": [
                {
                    "date": "<date: yyyy-mm-ddThh:mm:ss+tttt>",
                    "dateTimeFrom": "<date|null: yyyy-mm-ddThh:mm:ss+tttt>",
                    "dateTimeTo": "<date|null: yyyy-mm-ddThh:mm:ss+tttt>",
                    "description": "<string|null>",
                    "firstLotNumber": "<string>"
                }
            ]
        },
        ...
}
 


All auctions - example

curl https://[tenantUrl]/api/v1/auctions/?limit=10&offset=20&type=live&onlyUpcoming=1

View details of one specific auction


/auctions/{short-name}


One auction - response format

{
    "shortName": "<string: code name>",
    "longName": "<string: public name>",
    "description": "<string|null: public description, supports HTML>",
    "type": "<string: live|timed|sealed>",
    "category": <string|null: name of the category>,
    "statusCode": "<string: planned|in_progress|ended|aftersale|archived>",
    "statusName": "<string: Planned|In Progress|Ended|Aftersale|Archived>",
    "launchDate": "<date: yyyy-mm-ddThh:mm:ss+tttt>",
    "endTime": "<date: yyyy-mm-ddThh:mm:ss+tttt>",
    "linkToCatalogue": "<URL>",
    "departments": [
                {
                            "name": "<string>",
                            "icon": "<string|null>"
                },
    ],
    "image": "<url|null>",
    "snoofaLiveStatus":<string|null: not_started|in_progress|paused|finished|>,
    "auctionDays": [
        {
            "date": "<date: yyyy-mm-ddThh:mm:ss+tttt>",
            "dateTimeFrom": "<date|null: yyyy-mm-ddThh:mm:ss+tttt>",
            "dateTimeTo": "<date|null: yyyy-mm-ddThh:mm:ss+tttt>",
            "description": "<string|null>",
            "firstLotNumber": "<string>"
        }
    ]
}

One auction - example

curl https://[tenantUrl]/api/v1/auctions/{short-name}

Lots

Retrieve and search through past and upcoming lots.



/lots/[?limit=%d][&offset=%d][&query=%s]


All lots - response format

{
    "totalResults": <integer>,
    "lots": {
        "<integer: id>": {
            "number": "<string: lot number e.g. 42A>",
            "title": "<string>",
            "subtitle": "<string|null: support's new lines>",
            "detail": "<url: web profile of the lot>",
            "auction": "<string: name of the auction>",
            "auctionDetail": "<url: auction catalogue page>",
            "lowEstimate": "<price: e.g. £42.00>",
            "highEstimate": "<price: e.g. £42.00>",
            "photo": "<url|null>"
        },
        ...
}


All lots - example

curl https://[tenantUrl]/api/v1/lots/?limit=10&offset=20&query=some item



Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article