Marketplace API
Publish, browse, and rate data products in the marketplace.
Endpoints Overview
| Method | Endpoint | Description |
|---|---|---|
| GET | /marketplace/spaces/{slug}/listings | List marketplace listings |
| POST | /marketplace/spaces/{slug}/listings | Publish a product to marketplace |
| GET | /marketplace/spaces/{slug}/listings/{id} | Get listing details |
| DELETE | /marketplace/spaces/{slug}/listings/{id} | Unpublish (soft-archive) a listing |
| POST | /marketplace/spaces/{slug}/listings/{id}/rate | Rate a listing |
| GET | /marketplace/spaces/{slug}/listings/{id}/reviews | Get listing reviews |
| GET | /marketplace/spaces/{slug}/my-listings | Get current user's listings |
| GET | /marketplace/spaces/{slug}/featured | Get featured & trending listings |
List Listings
GET /marketplace/spaces/{slug}/listings
Query Parameters
| Parameter | Type | Description |
|---|---|---|
page | integer | Page number (default: 1) |
size | integer | Items per page (default: 20, max: 100) |
search | string | Filter by name/description |
category | string | Filter by category |
sort | string | Sort order: trending, newest, top_rated (default: trending) |
Example Request
curl -X GET "https://api.qarion.com/marketplace/spaces/analytics/listings?sort=top_rated" \
-H "Authorization: Bearer YOUR_API_KEY"
Response
{
"items": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"product_id": "...",
"product_name": "Customer Segments",
"product_slug": "customer-segments",
"description": "Production-ready customer segmentation dataset",
"category": "Marketing",
"average_rating": 4.5,
"rating_count": 12,
"view_count": 156,
"quality_score": 0.97,
"published_at": "2026-01-10T14:30:00Z",
"publisher": {"id": "...", "name": "Alice Johnson"}
}
],
"total": 24,
"page": 1,
"size": 20
}
Publish to Marketplace
POST /marketplace/spaces/{slug}/listings
Request Body
{
"product_id": "550e8400-e29b-41d4-a716-446655440000",
"category": "Marketing"
}
Qarion evaluates quality gates before publishing. If gates fail, returns 422 with details of which requirements are not met.
Response
Returns the listing with status 201 Created.
Unpublish
DELETE /marketplace/spaces/{slug}/listings/{id}
Soft-archives the listing (removes from marketplace browse but does not delete the product from the catalog).
Response
{
"message": "Listing unpublished successfully"
}
Rate a Listing
POST /marketplace/spaces/{slug}/listings/{id}/rate
Request Body
{
"rating": 5,
"review": "Excellent dataset with clear documentation"
}
| Field | Type | Required | Description |
|---|---|---|---|
rating | integer | Yes | 1–5 star rating |
review | string | No | Optional text review |
Upsert behavior: If the user has already rated this listing, the previous rating is updated.
Response
{
"id": "...",
"rating": 5,
"review": "Excellent dataset with clear documentation",
"user": {"id": "...", "name": "Bob Smith"},
"created_at": "2026-02-15T09:00:00Z"
}
Get Reviews
GET /marketplace/spaces/{slug}/listings/{id}/reviews
Response
{
"items": [
{
"id": "...",
"rating": 5,
"review": "Excellent dataset",
"user": {"id": "...", "name": "Bob Smith"},
"created_at": "2026-02-15T09:00:00Z"
}
],
"average_rating": 4.5,
"total": 12
}
Featured & Trending
GET /marketplace/spaces/{slug}/featured
Returns a curated list of featured and trending listings based on view count and rating velocity.