REST API — All endpoints require authentication via Bearer token. Include Authorization: Bearer {token} in every request. Tokens are managed in GitScrum Settings → API. Base URL: https://services.gitscrum.com — All request paths in this documentation are relative to this base URL.
Discussions provide threaded messaging channels within projects for team communication, decisions, and knowledge sharing.
List All Discussions
Returns all discussions across a project.
GET /discussions/all?company_slug={slug}&project_slug={slug}
Query Parameters
| Parameter | Type | Required | Description |
|---|
company_slug | string | Yes | Workspace identifier |
project_slug | string | Yes | Project identifier |
List Channels
Returns discussion channels for a project.
GET /discussions/channels?company_slug={slug}&project_slug={slug}
Example Request
curl -X GET "https://services.gitscrum.com/discussions/channels?company_slug=acme&project_slug=web-app" \
-H "Authorization: Bearer {token}"
Example Response
{
"data": [
{
"uuid": "e5f6a7b8-c9d0-1234-ef01-23456789abcd",
"title": "Backend Architecture",
"description": "Discuss API design and backend decisions",
"messages_count": 47,
"last_message": {
"id": 892,
"message": "Agreed. Let's go with the event-driven approach.",
"user": {
"username": "janedoe",
"name": "Jane Doe"
},
"created_at": "2026-02-06T16:45:00Z"
},
"created_at": "2026-01-05T09:00:00Z"
}
]
}
Get Channel
Returns details for a single channel.
GET /discussions/channels/{uuid}?company_slug={slug}&project_slug={slug}
Path Parameters
| Parameter | Type | Description |
|---|
uuid | string | Channel UUID |
Create Channel
Creates a new discussion channel.
POST /discussions/channels
Request Body
| Field | Type | Required | Description |
|---|
title | string | Yes | Channel name |
company_slug | string | Yes | Workspace identifier |
project_slug | string | Yes | Project identifier |
description | string | No | Channel description |
Example Request
curl -X POST "https://services.gitscrum.com/discussions/channels" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"title": "Release Planning",
"company_slug": "acme",
"project_slug": "web-app",
"description": "Coordinate release schedules and blockers"
}'
Channel Messages
Returns messages in a channel, with cursor-based pagination.
GET /discussions/channels/{uuid}/messages?company_slug={slug}&project_slug={slug}
Path Parameters
| Parameter | Type | Description |
|---|
uuid | string | Channel UUID |
Example Response
{
"data": [
{
"id": 893,
"message": "Deployment to staging is complete.",
"user": {
"username": "johndoe",
"name": "John Doe"
},
"created_at": "2026-02-07T10:00:00Z"
}
]
}
Send Message
Sends a message to a channel.
POST /discussions/channels/{uuid}/messages?company_slug={slug}&project_slug={slug}
Path Parameters
| Parameter | Type | Description |
|---|
uuid | string | Channel UUID |
Request Body
| Field | Type | Required | Description |
|---|
message | string | Yes | Message content |
Example Request
curl -X POST "https://services.gitscrum.com/discussions/channels/e5f6a7b8-c9d0-1234-ef01-23456789abcd/messages?company_slug=acme&project_slug=web-app" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"message": "QA sign-off received. Ready for production deploy."
}'
Update Message
Updates an existing message.
PUT /discussions/messages/{id}?company_slug={slug}&project_slug={slug}
Path Parameters
| Parameter | Type | Description |
|---|
id | integer | Message ID |
Request Body
| Field | Type | Required | Description |
|---|
message | string | Yes | Updated message content |
Delete Message
Deletes a message.
DELETE /discussions/messages/{id}?company_slug={slug}&project_slug={slug}
Path Parameters
| Parameter | Type | Description |
|---|
id | integer | Message ID |
Update Channel
Updates an existing discussion channel.
PUT /discussions/channels/{uuid}?company_slug={slug}&project_slug={slug}
Path Parameters
| Parameter | Type | Description |
|---|
uuid | string | Channel UUID |
Request Body
| Field | Type | Required | Description |
|---|
title | string | No | Updated channel name |
description | string | No | Updated description |
Delete Channel
Deletes a discussion channel and all its messages.
DELETE /discussions/channels/{uuid}?company_slug={slug}&project_slug={slug}
Path Parameters
| Parameter | Type | Description |
|---|
uuid | string | Channel UUID |
Search Channel Messages
Searches messages within a specific channel.
GET /discussions/channels/{uuid}/search?company_slug={slug}&project_slug={slug}&q={query}
Path Parameters
| Parameter | Type | Description |
|---|
uuid | string | Channel UUID |
Query Parameters
| Parameter | Type | Required | Description |
|---|
q | string | Yes | Search query |
Thread Replies
Returns replies to a specific message.
GET /discussions/messages/{id}/replies?company_slug={slug}&project_slug={slug}
Path Parameters
| Parameter | Type | Description |
|---|
id | integer | Parent message ID |
Reply to Message
Sends a reply to a specific message, creating a thread.
POST /discussions/messages/{id}/replies?company_slug={slug}&project_slug={slug}
Path Parameters
| Parameter | Type | Description |
|---|
id | integer | Parent message ID |
Request Body
| Field | Type | Required | Description |
|---|
message | string | Yes | Reply content |
Add Reaction
Adds a reaction to a message.
POST /discussions/messages/{id}/reactions?company_slug={slug}&project_slug={slug}
Path Parameters
| Parameter | Type | Description |
|---|
id | integer | Message ID |
Request Body
| Field | Type | Required | Description |
|---|
reaction | string | Yes | Reaction emoji |
Mark as Read
Marks all messages in a channel as read.
POST /discussions/channels/{uuid}/read?company_slug={slug}&project_slug={slug}
Field Reference
Channels
| Field | Type | Description |
|---|
uuid | string | Unique channel identifier |
title | string | Channel name |
description | string | Channel description |
messages_count | integer | Total message count |
last_message | object | Most recent message |
created_at | string | Creation timestamp |
Messages
| Field | Type | Description |
|---|
id | integer | Message identifier |
message | string | Message content |
user | object | Author (username, name) |
created_at | string | Creation timestamp |