Use this file to discover all available pages before exploring further.
ECHO gives you a full cultural marketplace in a few API calls. This guide walks you through registration, authentication, profile setup, and your first role-specific action. All examples use curl and assume the backend is running at http://localhost:8084.
1
Register an account
Create a new ECHO account by sending your email, username, and password to the registration endpoint.
Prefer signing in with Google? Your frontend redirects the user to Google’s OAuth consent screen. After approval, your frontend callback page sends the authorization code to POST /auth/oauth/google to receive a JWT token. See Google OAuth Login for details.
2
Log in and get your token
After registering, log in to receive a JWT token. Include this token in the Authorization header for every subsequent request.
Store this token. All authenticated endpoints require the header:
Authorization: Bearer <token>
3
Set up your profile
Update your public profile with your name, bio, location, and social links. Replace {userId} with your numeric user ID returned at registration.
curl -X PUT http://localhost:8084/profiles/{userId} \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <token>" \ -d '{ "publicName": "Your Display Name", "bio": "A short description of who you are and what you do.", "location": "Barcelona, Spain", "linkedin": "https://linkedin.com/in/yourprofile", "instagram": "https://instagram.com/yourhandle", "twitter": "https://twitter.com/yourhandle", "experience": "10 years working in contemporary visual arts.", "calendarUrl": "https://cal.com/yourname" }'
calendarUrl is optional but recommended for Content Creators — it lets buyers schedule time with you directly from your profile.
4
Take your first action
Choose the tab that matches your role on ECHO.
Content Creator
Service Requester
Venue Manager
As a Content Creator, you can publish a service listing for buyers to find, or add a portfolio project to showcase past work.Create a service listing
curl -X POST http://localhost:8084/services \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <token>" \ -d '{ "name": "Live Jazz Performance", "description": "Professional jazz trio available for corporate events.", "deliveryDuration": 1, "categoryId": 8, "price": 450.00 }'
Add a portfolio projectFirst register the item, then create the project at POST /item-projects/register:
As a Venue Manager, you register your space on ECHO and create events that creators can apply to.Register a venueVenues use multipart form data:
curl -X POST http://localhost:8084/venues \ -H "Authorization: Bearer <token>" \ -F "name=Sala Apolo" \ -F "address=Carrer Nou de la Rambla 113, Barcelona" \ -F "capacity=800"
Create an eventEvents also use multipart form data and require a venueId and date range:
curl -X POST http://localhost:8084/events \ -H "Authorization: Bearer <token>" \ -F "venueId=5" \ -F "startDate=2026-07-18T20:00" \ -F "endDate=2026-07-18T23:00" \ -F "title=Open Mic Night — July Edition" \ -F "description=Monthly open mic for musicians and spoken word artists."