Skip to content

Developers

API and integrations

The app API

Base address https://your-domain/api/v1; JSON in and out; errors follow RFC 7807 (application/problem+json). The interactive description is at /api/doc.

Signing in

EndpointPurpose
POST /usersCreate an account (a confirmation email is sent).
POST /users/loginEmail and password; returns an access token and a refresh token.
POST /users/token/refreshNew tokens from a refresh token (single use).
POST /users/forgot-password, POST /users/reset-passwordPassword reset by email.
POST /users/confirmationConfirm the email address.

Send the access token as Authorization: Bearer <token>.

Catalogue and search (no sign-in needed)

EndpointPurpose
GET /platformName, language, currency and other settings the app needs.
GET /homeFeatured categories, promoted and newest listings; recently viewed and recommended when signed in.
GET /categories, GET /categories/{id}/attributesThe category tree and each category's attributes.
GET /regions, GET /locationsRegions and locality search (query, region).
GET /listingsSearch: q, category, region, location, radius, price_min, price_max, price_type, condition, a[code], sort, page.
GET /listings/{id}One listing.
GET /sellers/{id}, GET /sellers/{id}/reviewsSeller page.
GET /search/suggestionsSuggestions while typing.

Signed in

AreaEndpoints
AccountGET/PATCH /users/me, avatar, email, password, phone verification, data export, DELETE /users/me
ListingsPOST /listings, PATCH /listings/{id}, photos (POST /listings/images), renew, deactivate, reserve, statistics, DELETE, favourites, report, phone reveal, GET /users/me/listings
MessagesGET/POST /conversations, messages, archive, delete, review the seller; POST /pusher/auth to receive new messages live on private-user.{id} (event message.new; key and cluster in GET /platform under realtime)
OffersPOST /listings/{id}/offers, `POST /offers/{id}/accept
Saved searchesGET/POST /users/me/saved-searches, PATCH, DELETE
Notificationslist, mark as read, settings per type and channel
PushPOST /devices registers an Expo push token, DELETE /devices removes it

GET /health answers 200 when the database, the queue and the storage are fine, 503 otherwise.

External services

ServiceUsed forConfigured in
Email provider (Mailgun, SES, Postmark, SMTP...)Every emailMAILER_DSN
ExpoPush notifications to the appEXPO_DSN
Pusher ChannelsOptional. New messages without reloading, on the website and in the app (Settings, Chat).
Twilio or VonagePhone verification codesAdmin, Settings, SMS
S3-compatible storage, CDNPhotosAdmin, Settings, Storage
GeoNamesRegions and localitiesphp bin/console app:geo:import CC
Facebook"Continue with Facebook"FB_ID, FB_SECRET
Google Analytics, Facebook Pixel, AdSenseStatistics and ads, after cookie consentAdmin, Settings, Platform
SentryError reportsSENTRY_DSN

Found a mistake? Tell us.