API Reference V1
Version:1.0.0OpenAPI 3.1.0
Sayr.io public API v1 documentation.
Base URL:https://api.sayr.io/v1
Organization
Section titled "Organization" GET
/organization/{org_slug} Get organization
Retrieve public information for an organization identified by its slug.
Parameters
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
org_slug | string | Yes | - |
Responses
200 Success
| Field | Type | Description |
|---|---|---|
success * | true | - |
data * | object | - |
data.id * | string | - |
data.name * | string | - |
data.slug * | string | - |
data.logo * | string | null | - |
data.bannerImg * | string | null | - |
data.description * | string | - |
data.createdAt * | string | - |
data.updatedAt * | string | - |
data.wsUrl * | string | - |
data.members * | object[] | - |
data.members[].id * | string | - |
data.members[].userId * | string | - |
data.members[].organizationId * | string | - |
data.members[].createdAt * | string | - |
data.members[].user * | object | - |
data.members[].user.id * | string | - |
data.members[].user.name * | string | - |
data.members[].user.image * | string | null | - |
data.members[].user.createdAt * | string | - |
404 Not found
| Field | Type | Description |
|---|---|---|
success * | false | - |
error * | string | - |
message | string | - |
GET
/organization/{org_slug} GET
/organization/{org_slug}/labels List organization labels
Retrieve all public labels associated with an organization.
Parameters
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
org_slug | string | Yes | - |
Responses
200 Success
| Field | Type | Description |
|---|---|---|
success * | true | - |
data * | object[] | - |
data[].id * | string | - |
data[].organizationId * | string | - |
data[].name * | string | - |
data[].color * | string | null | - |
data[].createdAt * | string | - |
404 Not found
| Field | Type | Description |
|---|---|---|
success * | false | - |
error * | string | - |
message | string | - |
GET
/organization/{org_slug}/labels GET
/organization/{org_slug}/categories List organization categories
Retrieve all public categories associated with an organization.
Parameters
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
org_slug | string | Yes | - |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
order | "asc" | "desc" | No | Specifies the sort order by creation date. Use asc for ascending or desc for descending. |
Responses
200 Success
| Field | Type | Description |
|---|---|---|
success * | true | - |
data * | object[] | - |
data[].id * | string | - |
data[].organizationId * | string | - |
data[].name * | string | - |
data[].color * | string | null | - |
data[].icon * | string | null | - |
data[].createdAt * | string | - |
404 Not found
| Field | Type | Description |
|---|---|---|
success * | false | - |
error * | string | - |
message | string | - |
GET
/organization/{org_slug}/categories GET
/organization/{org_slug}/tasks List organization tasks
Retrieve a paginated list of public tasks for an organization.
Parameters
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
org_slug | string | Yes | - |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
order | "asc" | "desc" | No | Specifies the sort order by creation date. Use asc for ascending or desc for descending. |
limit | integer | No | Number of items per page |
page | integer | No | Page number (starting from 1) |
Responses
200 Paginated list
| Field | Type | Description |
|---|---|---|
success * | true | - |
data * | object[] | - |
data[].id * | string | - |
data[].organizationId * | string | - |
data[].shortId * | integer | null | - |
data[].visible * | "public" | "private" | - |
data[].createdAt * | string | - |
data[].updatedAt * | string | - |
data[].title * | string | null | - |
data[].description * | string | number | boolean | null | object | unknown[] | null | - |
data[].status * | "backlog" | "todo" | "in-progress" | "done" | "canceled" | - |
data[].priority * | "none" | "low" | "medium" | "high" | "urgent" | - |
data[].createdBy * | string | null | - |
data[].category * | string | null | - |
data[].releaseId * | string | null | - |
data[].voteCount * | integer | - |
data[].descriptionHtml * | string | - |
data[].descriptionMarkdown * | string | - |
pagination * | object | - |
pagination.limit * | number | - |
pagination.page * | number | - |
pagination.totalPages * | number | - |
pagination.totalItems * | number | - |
pagination.hasMore * | boolean | - |
400 Invalid pagination parameters
| Field | Type | Description |
|---|---|---|
success * | false | - |
error * | string | - |
message | string | - |
404 Not found
| Field | Type | Description |
|---|---|---|
success * | false | - |
error * | string | - |
message | string | - |
500 Server error
| Field | Type | Description |
|---|---|---|
success * | false | - |
error * | string | - |
message | string | - |
GET
/organization/{org_slug}/tasks GET
/organization/{org_slug}/tasks/{task_short_id} Get task
Retrieve a public task by its short identifier.
Parameters
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
org_slug | string | Yes | - |
task_short_id | integer | Yes | - |
Responses
200 Success
| Field | Type | Description |
|---|---|---|
success * | true | - |
data * | object | - |
data.id * | string | - |
data.organizationId * | string | - |
data.shortId * | integer | null | - |
data.visible * | "public" | "private" | - |
data.createdAt * | string | - |
data.updatedAt * | string | - |
data.title * | string | null | - |
data.description * | string | number | boolean | null | object | unknown[] | null | - |
data.status * | "backlog" | "todo" | "in-progress" | "done" | "canceled" | - |
data.priority * | "none" | "low" | "medium" | "high" | "urgent" | - |
data.createdBy * | string | null | - |
data.category * | string | null | - |
data.releaseId * | string | null | - |
data.voteCount * | integer | - |
data.descriptionHtml * | string | - |
data.descriptionMarkdown * | string | - |
404 Not found
| Field | Type | Description |
|---|---|---|
success * | false | - |
error * | string | - |
message | string | - |
GET
/organization/{org_slug}/tasks/{task_short_id} GET
/organization/{org_slug}/tasks/{task_short_id}/comments List task comments
Retrieve a paginated list of public comments for a task.
Parameters
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
org_slug | string | Yes | - |
task_short_id | integer | Yes | - |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
order | "asc" | "desc" | No | Specifies the sort order by creation date. Use asc for ascending or desc for descending. |
limit | integer | No | Number of items per page |
page | integer | No | Page number (starting from 1) |
Responses
200 Paginated list
| Field | Type | Description |
|---|---|---|
success * | true | - |
data * | object[] | - |
data[].id * | string | - |
data[].organizationId * | string | - |
data[].taskId * | string | null | - |
data[].createdAt * | string | - |
data[].updatedAt * | string | - |
data[].content * | string | number | boolean | null | object | unknown[] | null | - |
data[].createdBy | object | null | - |
data[].visibility * | "public" | "internal" | - |
data[].contentHtml * | string | - |
data[].contentMarkdown * | string | - |
data[].reactions | object | - |
data[].reactions.total * | number | - |
data[].reactions.reactions * | object | - |
pagination * | object | - |
pagination.limit * | number | - |
pagination.page * | number | - |
pagination.totalPages * | number | - |
pagination.totalItems * | number | - |
pagination.hasMore * | boolean | - |
400 Invalid pagination parameters
| Field | Type | Description |
|---|---|---|
success * | false | - |
error * | string | - |
message | string | - |
404 Not found
| Field | Type | Description |
|---|---|---|
success * | false | - |
error * | string | - |
message | string | - |
500 Server error
| Field | Type | Description |
|---|---|---|
success * | false | - |
error * | string | - |
message | string | - |
GET
/organization/{org_slug}/tasks/{task_short_id}/comments GET
/me Get User Info
Retrieve information about the authenticated user.
Responses
200 Success
| Field | Type | Description |
|---|---|---|
success * | true | - |
data * | object | - |
data.id * | string | - |
data.name * | string | - |
data.email * | string | - |
data.image * | string | null | - |
data.createdAt * | string | - |
404 Not found
| Field | Type | Description |
|---|---|---|
success * | false | - |
error * | string | - |
message | string | - |
GET
/me GET
/me/organizations Get Users Organizations
Retrieve organizations associated with the authenticated user.
Responses
200 Success
| Field | Type | Description |
|---|---|---|
success * | true | - |
data * | object[] | - |
data[].id * | string | - |
data[].name * | string | - |
data[].slug * | string | - |
data[].logo * | string | null | - |
data[].bannerImg * | string | null | - |
data[].description * | string | - |
data[].createdAt * | string | - |
data[].updatedAt * | string | - |
data[].wsUrl * | string | - |
data[].members * | object[] | - |
data[].members[].id * | string | - |
data[].members[].userId * | string | - |
data[].members[].organizationId * | string | - |
data[].members[].createdAt * | string | - |
data[].members[].user * | object | - |
data[].members[].user.id * | string | - |
data[].members[].user.name * | string | - |
data[].members[].user.image * | string | null | - |
data[].members[].user.createdAt * | string | - |
404 Not found
| Field | Type | Description |
|---|---|---|
success * | false | - |
error * | string | - |
message | string | - |
GET
/me/organizations