Create app listing
POST/marketplace/apps
Creates a new marketplace app listing in draft status. Use when registering a new app that will be submitted through the developer submission pipeline. The listing must be associated with an approved submission before it can be published.
Request
Request body
Content type application/json (required).
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Max length: 255 |
slug | string | Yes | URL-safe unique identifier — lowercase letters, numbers, and hyphens only. Max length: 80 |
category | string | Yes | Max length: 80 |
description | string | No | Max length: 2000 |
developer | string | No | Max length: 255 |
version | string | No | Initial version string in semver format (e.g. "1.0.0"). Max length: 30 |
homepage_url | string (uri) | No | |
support_email | string (email) | No |
Example
{
"name": "Slack Notifier",
"slug": "slack-notifier",
"category": "communication",
"description": "Posts CRM events to Slack channels in real time.",
"developer": "Acme Integrations Ltd",
"version": "2.1.0",
"homepage_url": "https://example.test/slack-notifier",
"support_email": "support@example.test"
}
Responses
201 App listing created in draft status
Content type application/json, object · MarketplaceAppV1.
| Field | Type | Required | Description |
|---|---|---|---|
id | integer | No | Auto-incremented primary key. |
name | string | No | Display name of the app. |
slug | string | No | URL-safe unique identifier for the app. |
category | string | No | App category (e.g. "productivity", "analytics", "communication"). |
status | string | No | Publication status of the app listing. One of: |
version | string | No | Current published version string (semver). |
developer | string | No | Name of the developer or company who published the app. |
description | string | No | Short description of the app's functionality. |
install_count | integer | No | Total number of tenant installations of this app. |
average_rating | number (float) | No | Average star rating (1.0–5.0) from tenant reviews. |
homepage_url | string, nullable | No | Developer homepage or documentation URL. |
support_email | string, nullable | No | Developer support contact email. |
created_at | string (date-time) | No | |
updated_at | string (date-time) | No |
422 Validation failed — check slug uniqueness or URL formats
Example request
curl -X POST "https://{tenant}.faciotech.net/api/v1/marketplace/apps" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name": "Slack Notifier", "slug": "slack-notifier", "category": "communication", "description": "Posts CRM events to Slack channels in real time.", "developer": "Acme Integrations Ltd", "version": "2.1.0", "homepage_url": "https://example.test/slack-notifier", "support_email": "support@example.test"}'