Skip to content

REST API Overview

The REST API lets your backend create, read, update, and delete collaboration data. Use it for:

  • Bots — post automated comments (e.g., CI status, deployment notifications)
  • Webhooks — create threads from external events
  • Moderation — delete inappropriate content from your backend
  • Analytics — read threads, comments, and user data
  • Integrations — sync Pulse data with your own systems

Base URL

https://pulse.hire.rest/api/v1

Replace the URL

Use the Pulse server URL provided to you.

Authentication

Every request uses your secret key in the Authorization header:

bash
curl https://pulse.hire.rest/api/v1/rooms \
  -H "Authorization: Bearer sk_your_secret_key"

The secret key determines which environment you're accessing. All data returned is scoped to that environment.

Secret key = backend only

Never use sk_ in frontend code. It grants full read/write access to your environment's data.

Real-Time Sync

When you create, edit, or delete data through the API, the changes appear instantly for all users connected via WebSocket. For example:

  • POST a comment via API → users see it appear in the widget immediately
  • DELETE a thread via API → the thread disappears from all connected browsers
  • PATCH to resolve a thread → the thread shows as resolved for everyone

No extra setup needed — it works automatically.

Endpoints

Rooms

MethodPathDescription
GET/roomsList all rooms
GET/rooms/:roomIdGet room with threads

Threads

MethodPathDescription
GET/rooms/:roomId/threadsList threads in a room
POST/rooms/:roomId/threadsCreate a thread
GET/threads/:threadIdGet thread with comments
PATCH/threads/:threadIdResolve or reopen
DELETE/threads/:threadIdDelete thread

Comments

MethodPathDescription
GET/threads/:threadId/commentsList comments
POST/threads/:threadId/commentsAdd a comment
PATCH/comments/:commentIdEdit a comment
DELETE/comments/:commentIdDelete a comment

Reactions

MethodPathDescription
POST/comments/:commentId/reactionsAdd reaction
DELETE/reactions/:reactionIdRemove reaction

Users & Presence

MethodPathDescription
GET/usersList users
GET/rooms/:roomId/presenceWho's online

Error Format

All errors return JSON:

json
{ "error": "Thread not found" }
StatusMeaning
400Bad request (missing or invalid fields)
401Invalid or missing secret key
404Resource not found in your environment

Pulse Collaboration SDK