Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/HelenaLM32/ECHO/llms.txt

Use this file to discover all available pages before exploring further.

Portfolio projects are how creators demonstrate the quality and range of their work on ECHO. Each project is a standalone published piece — with its own URL slug, rich content blocks, and social engagement metrics — that buyers encounter when evaluating a creator’s profile or browsing published work.

What a project is

A project in ECHO extends the base Item model. This means every project carries the standard item fields (title, description, base_price, category_id) but adds a layer of editorial content on top:
  • A slug that becomes its public URL (e.g., /projects/mi-proyecto-de-identidad)
  • A published flag that controls visibility — drafts are private until explicitly published
  • A background setting for visual customization of the project page
  • Rich content blocks stored as JSON, built with the block-based editor
  • Engagement metrics: likes, views, and comments

The block-based editor

Project content is authored using a block-based editor. Blocks are stored as a JSON array, making the content portable and renderable across different layouts.
{
  "blocks": [
    {
      "type": "heading",
      "content": "Identidad visual para Galería Norte"
    },
    {
      "type": "image",
      "url": "/uploads/projects/galeria-norte-logo.png",
      "alt": "Logo final en versión oscura y clara"
    },
    {
      "type": "text",
      "content": "El proyecto partió de una investigación sobre la arquitectura de los años 50 en el entorno donde se ubica la galería..."
    }
  ],
  "background": "#f5f0eb",
  "block_gap": "lg"
}
The background field accepts a hex color or a CSS value applied to the project page. The block_gap setting controls vertical spacing between blocks, giving creators control over the reading rhythm of their project.
Use a consistent background color across related projects to build a recognizable visual identity on your profile.

Project metadata

FieldDescription
slugURL-friendly identifier, unique per creator
publishedtrue makes the project visible publicly; false keeps it as a draft
base_priceOptional — use this to indicate the approximate value of similar work
created_at / updated_atTimestamps managed automatically by the platform

Social features

Projects accumulate engagement over time through three mechanisms: Likes — Any authenticated user can like a project. Each user can like a given project only once; the action can be undone. The likes counter on the project record reflects the current total. Views — The views counter increments automatically when a published project is accessed. It is read-only. Comments — Users can post comments on a project. Each comment stores the text content and the timestamp of submission. Comments are publicly visible on the project page.
The likes, views, and comments fields are read-only through the standard item API. They are updated through dedicated endpoints on the projects resource.

Linking projects to services

A creator can link a portfolio project to a specific service listing to demonstrate past work of the same type. The item_service_projects relationship joins a service (item_id) to one or more portfolio projects (project_id). This means when a buyer views a service listing, they can see concrete examples of what the creator has delivered for similar engagements — reducing uncertainty before placing an order.

Publishing a project

1

Create a draft

Submit a new project with published: false. The project is saved privately and not visible to other users.
2

Add content blocks

Use the block-based editor to add headings, images, and text sections. Set your background color and adjust block gap to refine the layout.
3

Link to a service (optional)

Associate the project with a relevant service listing so it appears as a portfolio example on that service’s page.
4

Publish

Set published: true. The project becomes publicly accessible at its slug URL and appears in GET /item-projects results and on your creator profile.

How buyers discover projects

Published projects surface in two places:
  • GET /item-projects — lists all published projects across the platform
  • GET /profiles/{userId} — shows a specific creator’s profile, including all their published projects

The Marketplace

See how services and projects appear together on creator profiles.

Projects API

Full reference for creating, editing, and publishing portfolio projects.

Build docs developers (and LLMs) love