Marketplace API

The marketplace API manages the template marketplace where organizations can publish, browse, search, install, and review board templates. All procedures require organization-level authentication (orgProcedure).

Search the template marketplace with filtering and sorting.

Input Schema:

{
  query?: string;              // Full-text search query
  category?: string;           // Filter by category
  sortBy?: "installs" | "rating" | "newest" | "name";
  page?: number;
  limit?: number;              // Default 10, max 50
}

Output:

{
  templates: Array<{
    id: string;
    name: string;
    description: string;
    category: string;
    authorOrgName: string;
    installCount: number;
    averageRating: number;
    reviewCount: number;
    thumbnailUrl: string | null;
    createdAt: Date;
  }>;
  total: number;
  page: number;
  totalPages: number;
}

marketplace.getFeatured

Get featured/promoted templates for the marketplace landing page.

Input: None

Output: Returns an array of featured template records.

marketplace.getDetail

Get full details for a marketplace template including reviews.

Input Schema:

{
  templateId: string;
}

marketplace.publish

Publish a board as a marketplace template (makes it available to other organizations).

Input Schema:

{
  boardId: string;             // Source board to publish
  name: string;                // Template display name
  description: string;         // Template description
  category: string;            // Template category
  thumbnailUrl?: string;       // Optional preview image
}

marketplace.install

Install a marketplace template into the organization’s workspace.

Input Schema:

{
  templateId: string;          // Template to install
  workspaceId: string;         // Target workspace
  projectId?: string;          // Optional target project
}

Output: Returns the created board from the template.

marketplace.addReview

Add a review to a marketplace template.

Input Schema:

{
  templateId: string;
  rating: number;              // 1-5 stars
  comment?: string;            // Optional review text
}

marketplace.getReviews

Get reviews for a marketplace template.

Input Schema:

{
  templateId: string;
  page?: number;
  limit?: number;
}

Permissions

ProcedureRequired Role
marketplace.searchAny authenticated member
marketplace.getFeaturedAny authenticated member
marketplace.getDetailAny authenticated member
marketplace.publishAdmin or Owner
marketplace.installAdmin or Member
marketplace.addReviewAny authenticated member