Skip to main content

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

ParameterTypeRequiredDescription
searchstringNoSearch term to filter items by name, description, or tags
verticalstringNoFilter by vertical/category
typestringNoFilter by type (app or agent)
featuredstringNoFilter featured items (set to "true")
limitnumberNoNumber of items per page
offsetnumberNoNumber of items to skip for pagination
sortstringNoSort 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
}
}
FieldTypeRequiredDescription
appNamestringYesName for the deployed app
configobjectYesDeployment configuration including marketplaceItemId and termsAccepted
config.marketplaceItemIdstringYesMarketplace item ID to deploy
config.termsAcceptedbooleanYesMust 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

ParameterTypeRequiredDescription
idstringYesMarketplace 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

ParameterTypeRequiredDescription
idstringYesMarketplace 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

ParameterTypeRequiredDescription
idstringYesMarketplace 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

ParameterTypeRequiredDescription
idstringYesMarketplace 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

ParameterTypeRequiredDescription
idstringYesMarketplace 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

ParameterTypeRequiredDescription
idstringYesMarketplace 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

ParameterTypeRequiredDescription
idstringYesMarketplace 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

ParameterTypeRequiredDescription
idstringYesMarketplace 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

ParameterTypeRequiredDescription
idstringYesMarketplace item ID

Request Body

{
"rating": 5,
"title": "Game changer",
"comment": "Cut our processing time in half."
}
FieldTypeRequiredDescription
ratingnumberYesRating from 1 to 5
titlestringYesReview title
commentstringYesReview 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"
}
FieldTypeRequiredDescription
namestringYesItem name
descriptionstringYesItem description
vendorstringYesVendor name
typestringYesItem type (app or agent)
verticalstringYesVertical/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

ParameterTypeRequiredDescription
idstringYesMarketplace 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

ParameterTypeRequiredDescription
idstringYesMarketplace item ID

Response 204 No Content