Skip to main content
Version: 1.1.5

API Overview

The Symphony API is a RESTful JSON API served over HTTP. This page describes the conventions that apply to all endpoints.

Base URL

http://localhost:3000/api

All resource endpoints are prefixed with /api. The health check is available at GET /api/health.

Content type

  • Requests with a body must send Content-Type: application/json.
  • Responses always return Content-Type: application/json.

HTTP methods

MethodSemantics
GETRetrieve a resource or a list of resources
POSTCreate a new resource
PUTReplace a resource entirely
PATCHPartially update a resource
DELETERemove a resource

Response envelope

Success — single resource

{
"data": { "id": "proj_01", "name": "Website Redesign", "..." : "..." }
}

Success — collection

{
"data": [ { "id": "proj_01", "..." : "..." } ],
"count": 5
}

Error

{
"error": {
"code": "NOT_FOUND",
"message": "Project proj_99 not found"
}
}

Status codes

CodeMeaning
200Successful read or update
201Resource created
404Resource not found
500Unexpected server error

CORS

Cross-Origin Resource Sharing is enabled for all origins by default (cors() middleware with no restrictions). In a production deployment you would restrict this to your frontend's domain.

Endpoint summary

MethodPathDescription
GET/api/healthHealth check
GET/api/projectsList projects
POST/api/projectsCreate project
GET/api/projects/:idGet project
PUT/api/projects/:idUpdate project
DELETE/api/projects/:idDelete project
GET/api/tasksList tasks
POST/api/tasksCreate task
GET/api/tasks/:idGet task
PATCH/api/tasks/:idUpdate task
DELETE/api/tasks/:idDelete task
GET/api/teamsList teams
POST/api/teamsCreate team
GET/api/teams/:idGet team
GET/api/commentsList comments
POST/api/commentsCreate comment
GET/api/comments/:idGet comment
PATCH/api/comments/:idUpdate comment
DELETE/api/comments/:idDelete comment
GET/api/notificationsList notifications
POST/api/notificationsCreate notification
GET/api/notifications/:idGet notification
PATCH/api/notifications/:id/readMark notification as read
PATCH/api/notifications/read-allMark all notifications as read
DELETE/api/notifications/:idDelete notification
GET/api/webhooksList webhooks
POST/api/webhooksCreate webhook
GET/api/webhooks/:idGet webhook
PATCH/api/webhooks/:idUpdate webhook
DELETE/api/webhooks/:idDelete webhook
GET/api/activity-logList activity log entries
POST/api/activity-logCreate activity log entry
GET/api/activity-log/:idGet activity log entry