Marketplace
Browse, deploy, and manage marketplace items (apps and agents). Includes vertical/category listings, available add-ons and AI models, deployment progress tracking, reviews, and admin-only listing CRUD.
All endpoints require authentication via X-API-Key header and the appropriate scope.
Marketplace Item Object
{
"_id": "mkt_abc123",
"name": "HP Collects",
"description": "Hyperscale automated collections agent",
"vendor": "Strongly AI",
"type": "app",
"vertical": "legal",
"rating": 4.8,
"reviews": 24,
"featured": true,
"tags": ["collections", "legal", "automation"],
"images": ["https://cdn.example.com/hp-collects-1.png"],
"pricing": { "model": "subscription", "monthly": 499 },
"appName": "hp-collects",
"createdAt": "2026-01-10T08:00:00Z",
"updatedAt": "2026-05-01T14:22:00Z"
}
GET /api/v1/marketplace/items
List marketplace items with pagination and filters.
Scope: marketplace:read
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
search | string | No | Search term to filter items by name, description, or tags |
vertical | string | No | Filter by vertical/category |
type | string | No | Filter by type (app or agent) |
featured | string | No | Filter featured items (set to "true") |
limit | number | No | Number of items per page |
offset | number | No | Number of items to skip for pagination |
sort | string | No | Sort field and direction, e.g. createdAt:desc |
Response 200 OK
{
"items": [
{
"_id": "mkt_abc123",
"name": "HP Collects",
"description": "Hyperscale automated collections agent",
"vendor": "Strongly AI",
"type": "app",
"vertical": "legal",
"rating": 4.8,
"featured": true,
"tags": ["collections"],
"appName": "hp-collects"
}
],
"total": 42,
"limit": 20,
"offset": 0
}
GET /api/v1/marketplace/verticals
List all marketplace verticals/categories with item counts.
Scope: marketplace:read
Response 200 OK
{
"verticals": [
{ "name": "legal", "count": 8 },
{ "name": "healthcare", "count": 12 },
{ "name": "finance", "count": 6 }
]
}
GET /api/v1/marketplace/available-addons
List add-ons available for deployment from the marketplace.
Scope: marketplace:read
Response 200 OK
{
"addons": [
{ "name": "postgresql", "displayName": "PostgreSQL", "category": "database" },
{ "name": "milvus", "displayName": "Milvus Vector DB", "category": "vector" }
]
}
GET /api/v1/marketplace/available-models
List AI models available for deployment from the marketplace.
Scope: marketplace:read
Response 200 OK
{
"models": [
{ "id": "qwen-2-5-7b", "name": "Qwen 2.5 7B", "type": "llm" },
{ "id": "gliner-large", "name": "GLiNER Large", "type": "ner" }
]
}
POST /api/v1/marketplace/deploy
Deploy a marketplace app. Returns 202 Accepted while deployment runs in the background.
Scope: marketplace:deploy
Request Body
{
"appName": "my-hp-collects",
"config": {
"marketplaceItemId": "mkt_abc123",
"termsAccepted": true
}
}
| Field | Type | Required | Description |
|---|---|---|---|
appName | string | Yes | Name for the deployed app |
config | object | Yes | Deployment configuration including marketplaceItemId and termsAccepted |
config.marketplaceItemId | string | Yes | Marketplace item ID to deploy |
config.termsAccepted | boolean | Yes | Must be true to accept license terms |
Response 202 Accepted
{
"message": "Deployment initiated",
"appName": "my-hp-collects",
"marketplaceItemId": "mkt_abc123"
}
GET /api/v1/marketplace/deployments
List all marketplace items deployed by the current user.
Scope: marketplace:deploy
Response 200 OK
{
"deployments": [
{
"marketplaceItemId": "mkt_abc123",
"appName": "my-hp-collects",
"appId": "app_xyz789",
"deployedAt": "2026-05-10T12:00:00Z"
}
]
}
GET /api/v1/marketplace/deployments/:id
Get full deployment info including progress, status, and created resources for a marketplace item.
Scope: marketplace:deploy
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Marketplace item/deployment ID |
Response 200 OK
{
"marketplaceItemId": "mkt_abc123",
"deployed": false,
"progress": {
"status": "running",
"currentStep": 3,
"percentage": 65,
"stepMessage": "Downloading app",
"startedAt": "2026-05-16T10:00:00Z",
"updatedAt": "2026-05-16T10:02:00Z",
"completedAt": null
},
"result": null,
"error": null,
"createdResources": null
}
GET /api/v1/marketplace/deployments/:id/status
Get lightweight deployment status with progress percentage for a marketplace item.
Scope: marketplace:deploy
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Marketplace item/deployment ID |
Response 200 OK
{
"marketplaceItemId": "mkt_abc123",
"deployed": false,
"status": "running",
"progress": {
"currentStep": 3,
"percentage": 65,
"stepMessage": "Downloading app",
"updatedAt": "2026-05-16T10:02:00Z"
},
"error": null
}
POST /api/v1/marketplace/deployments/:id/cancel
Cancel an in-progress marketplace deployment.
Scope: marketplace:deploy
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Marketplace item/deployment ID to cancel |
Response 200 OK
{
"message": "Deployment cancelled",
"marketplaceItemId": "mkt_abc123"
}
POST /api/v1/marketplace/deployments/:id/clear-progress
Clear stale deployment progress data for a marketplace item.
Scope: marketplace:deploy
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Marketplace item/deployment ID to clear progress for |
Response 200 OK
{
"message": "Progress cleared",
"marketplaceItemId": "mkt_abc123"
}
GET /api/v1/marketplace/items/:id
Get full details for a single marketplace item.
Scope: marketplace:read
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Marketplace item ID |
Response 200 OK
Returns the full Marketplace Item object.
GET /api/v1/marketplace/items/:id/deploy-config
Get the deploy.json configuration for a marketplace item.
Scope: marketplace:read
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Marketplace item ID |
Response 200 OK
{
"appName": "hp-collects",
"addons": ["postgresql"],
"models": ["qwen-2-5-7b"],
"workflows": ["pii-redaction"],
"envSchema": []
}
GET /api/v1/marketplace/items/:id/license
Get the license text for a marketplace item.
Scope: marketplace:read
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Marketplace item ID |
Response 200 OK
{
"license": "# LICENSE\n\nCopyright 2026 ..."
}
GET /api/v1/marketplace/items/:id/reviews
List all reviews for a marketplace item.
Scope: marketplace:read
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Marketplace item ID |
Response 200 OK
{
"reviews": [
{
"reviewId": "rev_001",
"userId": "user_456",
"userName": "Jane Smith",
"rating": 5,
"title": "Game changer",
"comment": "Cut our processing time in half.",
"createdAt": "2026-04-15T10:30:00Z"
}
]
}
POST /api/v1/marketplace/items/:id/reviews
Add a review to a marketplace item.
Scope: marketplace:deploy
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Marketplace item ID |
Request Body
{
"rating": 5,
"title": "Game changer",
"comment": "Cut our processing time in half."
}
| Field | Type | Required | Description |
|---|---|---|---|
rating | number | Yes | Rating from 1 to 5 |
title | string | Yes | Review title |
comment | string | Yes | Review comment text |
Response 201 Created
{
"reviewId": "rev_001"
}
POST /api/v1/marketplace/items
Create a new marketplace listing. Admin only.
Scope: marketplace:admin
Request Body
{
"name": "HP Collects",
"description": "Hyperscale automated collections agent",
"vendor": "Strongly AI",
"type": "app",
"vertical": "legal"
}
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Item name |
description | string | Yes | Item description |
vendor | string | Yes | Vendor name |
type | string | Yes | Item type (app or agent) |
vertical | string | Yes | Vertical/category for the item |
Response 201 Created
{
"_id": "mkt_abc123"
}
PUT /api/v1/marketplace/items/:id
Update an existing marketplace listing. Admin only.
Scope: marketplace:admin
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Marketplace item ID |
Request Body
Any subset of the Marketplace Item object fields to update.
Response 200 OK
Returns the updated Marketplace Item object.
DELETE /api/v1/marketplace/items/:id
Delete a marketplace listing. Admin only.
Scope: marketplace:admin
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Marketplace item ID |
Response 204 No Content