echoecho
Back to app
IntroductionGetting startedREST APIWidget

Overview

Introduction

Setup

Getting started

Reference

REST APIWidget
PreviousGetting startedNextWidget
DocsReferenceREST API

REST API

A small, authenticated API for sending and reading feedback from your own backend.

curl -X POST https://api.echo.builders/api/feedback \
  -H "Authorization: Bearer echo_sk_your_secret_key" \
  -H "Content-Type: application/json" \
  -d '{"name": "Jane Smith", "feedback": "Love the product!"}'

Authentication

Every request is authenticated with an API key sent as a bearer token: Authorization: Bearer <key>. Echo issues two key types per project:

  • echo_sk_… — secret key, used to write feedback. Keep this server-side only.
  • echo_pk_… — publishable key, used to read feedback. Safe to expose in client code.

Create feedback

POST/api/feedback

Creates a feedback entry for the authenticated project.

Requires the secret key.

Parameters

FieldTypeRequiredDescription
namestringRequiredReporter's name.
feedbackstringRequiredThe feedback content.
emailstringOptionalReporter's email.
ratingnumberOptionalStar rating from 1 to 5.

Request

curl -X POST https://api.echo.builders/api/feedback \
  -H "Authorization: Bearer echo_sk_your_secret_key" \
  -H "Content-Type: application/json" \
  -d '{"name": "Jane Smith", "feedback": "Love the product!"}'

Response

201
{
  "success": true,
  "id": "fb_a1b2c3"
}

List feedback

GET/api/feedback

Lists feedback entries for the authenticated project.

Requires the secret key.

Request

curl https://api.echo.builders/api/feedback \
  -H "Authorization: Bearer echo_sk_your_secret_key"

Response

200
{
  "feedback": [
    {
      "id": "fb_a1b2c3",
      "name": "Jane Smith",
      "feedback": "Love the product!",
      "rating": 5,
      "createdAt": "2026-06-24T10:00:00Z"
    }
  ]
}

Errors

StatusMeaning
400Invalid or malformed JSON request body.
401Missing or invalid Bearer token.
403Wrong key type, or the free plan's monthly limit was reached.