ScrumDesk API Endpoints

How to consume ScrumDesk API

ScrumDesk API is built with the support of HAL – the hypertext application language. It is a simple format that gives a consistent and easy way to hyperlink between resources in our API.  It can be easily consumed using open source libraries available for most major programming languages. It’s also simple enough that you can just deal with it as you would any other JSON.

ScrumDesk API is the set of resources represented by URLs. Every URL doesn’t just return data, but it includes also:

  • permissions for the logged user and particular resource (see options: on the picture above),
  • list of additional links and resources available for the resource (related collections, subtasks, relations, comments, etc.

For request use  application/json (Content-Type, Accept)

ScrumDesk API example

Projects accessible for the logged user, the response for https://api.scrumdesk.com/users/XX/projects API request

Authorization (POST)

Authorization token must be included in every API call must either in the header or in the URL link itself.

In HEADER:

https://api.scrumdesk.com/auth

Authorization, Token token=token_value

In URL:

https://api.scrumdesk.com/auth?access_token=token_value

Authorization for custom integrations

It is possible to use project-level authorization if you want to create your own integration and would like to access and manage project data without the necessity to authorize project users. Please contact support@scrumdesk.com in this case and request an access token for your integration.

Login via email and password

https://api.scrumdesk.com/auth

{ “username”: “”,  “password”: “” }

Output:

  • access_token
  • links
    • link to user

Data model structure simplified

Account

  • Invitation
  • Organization members
  • User

Projects

  • Project membership
  • Project detail
  • Workflow + workflow steps

OKR Desk

  • Okr diagrams
  • Okr nodes
  • Key results

Product Desk

  • Roadmaps
    • Roadmap diagram
    • Roadmap group
    • Roadmap row
    • Roadmap lane
    • Roadmap box
    • Milestones

Scrum board

  • Release
  • Sprint
  • Themes
  • Epics
  • Backlog item types
  • Task types
  • Custom fields
  • Colors
  • Backlog Items
  • Tasks
    • Worklogs
    • Board items that represent visual aspects of cards

Retro Desk

  • Retro idea
  • Retro idea category
  • Retro idea vote

RCA Desk

  • RCA node
  • RCA link
  • Retro technique

Common

  • Constants
  • Comments related to either tasks or backlog items
  • History
  • Attachments
  • Notifications
  • Relations

Backlog Items

Project details contain the list of backlog items referenced in the links section. The user must be either a product owner or Scrum Master role in the project.

API Endpoints Reference

Prefix Verb URI Pattern
auth POST /auth
GET /auth
DELETE /auth
registration POST /registration
registration_oauth POST /registration/oauth
reset_password POST /users/reset_password
user_projects GET /users/:user_id/projects
POST /users/:user_id/projects
current_user GET /current_user
PROJECT
multisearch_project GET /projects/:id/multisearch
project_project_initializations GET /projects/:project_id/init
velocity_charts_project GET /projects/:id/velocity_charts
cumulative_chart_project GET /projects/:id/cumulative_chart
capacity_charts_project GET /projects/:id/capacity_charts
value_chart_project GET /projects/:id/value_chart
complexity_time_chart_project GET /projects/:id/complexity_time_chart
value_vs_effort_chart_project GET /projects/:id/value_vs_effort_chart
work_by_task_types_chart_project GET /projects/:id/work_by_task_types_chart
work_by_backlog_items_types_chart_project GET /projects/:id/work_by_backlog_items_types_chart
spent_vs_estimated_chart_project GET /projects/:id/spent_vs_estimated_chart
control_chart_project GET /projects/:id/control_chart
import_project POST /projects/:id/import
project_user_setting GET /project_user_settings/:id
PATCH /project_user_settings/:id
PUT /project_user_settings/:id
EPIC
epic_archive POST /epics/:epic_id/archive
epic_restore POST /epics/:epic_id/restore
reorder_epic POST /epics/:id/reorder
copy_epic POST /epics/:id/copy
move_epic POST /epics/:id/move
ancestors_epic GET /epics/:id/ancestors
project_epics GET /projects/:project_id/epics
POST /projects/:project_id/epics
new_project_epic GET /projects/:project_id/epics/new
edit_epic GET /epics/:id/edit
epic GET /epics/:id
PATCH /epics/:id
PUT /epics/:id
DELETE /epics/:id
RELEASE
burndown_release GET /releases/:id/burndown
burndown_report_release GET /releases/:id/burndown_report
stats_release GET /releases/:id/stats
event_release POST /releases/:id/event
archive_release POST /releases/:id/archive
restore_release POST /releases/:id/restore
project_releases GET /projects/:project_id/releases
POST /projects/:project_id/releases
new_project_release GET /projects/:project_id/releases/new
edit_release GET /releases/:id/edit
release GET /releases/:id
PATCH /releases/:id
PUT /releases/:id
DELETE /releases/:id
SPRINT
burndown_sprint GET /sprints/:id/burndown
stats_sprint GET /sprints/:id/stats
event_sprint POST /sprints/:id/event
archive_sprint POST /sprints/:id/archive
restore_sprint POST /sprints/:id/restore
project_sprints GET /projects/:project_id/sprints
POST /projects/:project_id/sprints
new_project_sprint GET /projects/:project_id/sprints/new
edit_sprint GET /sprints/:id/edit
sprint GET /sprints/:id
PATCH /sprints/:id
PUT /sprints/:id
DELETE /sprints/:id
project_sprint_capacities GET /projects/:project_id/sprint_capacities
sprint_capacity GET /sprint_capacities/:id
PATCH /sprint_capacities/:id
PUT /sprint_capacities/:id
project_themes GET /projects/:project_id/themes
POST /projects/:project_id/themes
new_project_theme GET /projects/:project_id/themes/new
THEME
edit_theme GET /themes/:id/edit
theme GET /themes/:id
PATCH /themes/:id
PUT /themes/:id
DELETE /themes/:id
BACKLOG ITEM
create_clone_backlog_item POST /backlog_items/:id/create_clone
split_backlog_item POST /backlog_items/:id/split
epic_reorder_backlog_item POST /backlog_items/:id/epic_reorder
search_project_backlog_items GET /projects/:project_id/backlog_items/search
removed_from_sprint_project_backlog_items GET /projects/:project_id/backlog_items/removed_from_sprint
reorder_backlog_item POST /backlog_items/:id/reorder
multi_update_project_backlog_items PATCH /projects/:project_id/backlog_items
multi_destroy_project_backlog_items DELETE /projects/:project_id/backlog_items
move_backlog_item POST /backlog_items/:id/move
export_project_backlog_items POST /projects/:project_id/backlog_items/export
convert_backlog_item POST /backlog_items/:id/convert
project_backlog_items GET /projects/:project_id/backlog_items
POST /projects/:project_id/backlog_items
new_project_backlog_item GET /projects/:project_id/backlog_items/new
edit_backlog_item GET /backlog_items/:id/edit
backlog_item GET /backlog_items/:id
PATCH /backlog_items/:id
PUT /backlog_items/:id
DELETE /backlog_items/:id
TASK
create_clone_task POST /tasks/:id/create_clone
reorder_task POST /tasks/:id/reorder
export_project_tasks POST /projects/:project_id/tasks/export
convert_task POST /tasks/:id/convert
project_tasks GET /projects/:project_id/tasks
POST /projects/:project_id/tasks
new_project_task GET /projects/:project_id/tasks/new
edit_task GET /tasks/:id/edit
task GET /tasks/:id
PATCH /tasks/:id
PUT /tasks/:id
DELETE /tasks/:id
TASK TYPE
project_task_types GET /projects/:project_id/task_types
POST /projects/:project_id/task_types
new_project_task_type GET /projects/:project_id/task_types/new
edit_task_type GET /task_types/:id/edit
task_type GET /task_types/:id
PATCH /task_types/:id
PUT /task_types/:id
DELETE /task_types/:id
ATTACHMENT
download_file_attachment GET /attachments/:id/download_file
project_attachments GET /projects/:project_id/attachments
POST /projects/:project_id/attachments
new_project_attachment GET /projects/:project_id/attachments/new
edit_attachment GET /attachments/:id/edit
attachment GET /attachments/:id
PATCH /attachments/:id
PUT /attachments/:id
DELETE /attachments/:id
RELATION
project_relations GET /projects/:project_id/relations
POST /projects/:project_id/relations
new_project_relation GET /projects/:project_id/relations/new
edit_relation GET /relations/:id/edit
relation GET /relations/:id
PATCH /relations/:id
PUT /relations/:id
DELETE /relations/:id
COMMENT
project_comments GET /projects/:project_id/comments
POST /projects/:project_id/comments
new_project_comment GET /projects/:project_id/comments/new
edit_comment GET /comments/:id/edit
comment GET /comments/:id
PATCH /comments/:id
PUT /comments/:id
DELETE /comments/:id
HISTORY
project_history_changes GET /projects/:project_id/history_changes
history_change GET /history_changes/:id
TASK LOG/WORKLOG
report_project_task_logs GET /projects/:project_id/task_logs/report
project_task_logs GET /projects/:project_id/task_logs
POST /projects/:project_id/task_logs
new_project_task_log GET /projects/:project_id/task_logs/new
edit_task_log GET /task_logs/:id/edit
task_log GET /task_logs/:id
PATCH /task_logs/:id
PUT /task_logs/:id
DELETE /task_logs/:id
BACKLOG ITEM TEMPLATE
project_backlog_item_templates GET /projects/:project_id/backlog_item_templates
POST /projects/:project_id/backlog_item_templates
new_project_backlog_item_template GET /projects/:project_id/backlog_item_templates/new
edit_backlog_item_template GET /backlog_item_templates/:id/edit
backlog_item_template GET /backlog_item_templates/:id
PATCH /backlog_item_templates/:id
PUT /backlog_item_templates/:id
DELETE /backlog_item_templates/:id
TASK TEMPLATE
project_task_templates GET /projects/:project_id/task_templates
POST /projects/:project_id/task_templates
new_project_task_template GET /projects/:project_id/task_templates/new
edit_task_template GET /task_templates/:id/edit
task_template GET /task_templates/:id
PATCH /task_templates/:id
PUT /task_templates/:id
DELETE /task_templates/:id
BOARD
project_boards GET /projects/:project_id/boards
board GET /boards/:id
positions_project_board_items PATCH /projects/:project_id/board_items/positions
project_board_items GET /projects/:project_id/board_items
board_item GET /board_items/:id
PATCH /board_items/:id
PUT /board_items/:id
PROJECT MEMBERSHIP
project_project_memberships GET /projects/:project_id/project_memberships
POST /projects/:project_id/project_memberships
new_project_project_membership GET /projects/:project_id/project_memberships/new
edit_project_membership GET /project_memberships/:id/edit
project_membership GET /project_memberships/:id
PATCH /project_memberships/:id
PUT /project_memberships/:id
DELETE /project_memberships/:id
project_project_members GET /projects/:project_id/project_members
project_project_invitations GET /projects/:project_id/project_invitations
POST /projects/:project_id/project_invitations
project_invitation GET /project_invitations/:id
DELETE /project_invitations/:id
PROJECT
project_project_constants GET /projects/:project_id/constants
POST /projects/:project_id/constants
new_project_project_constant GET /projects/:project_id/constants/new
edit_project_project_constant GET /projects/:project_id/constants/:id/edit
project_project_constant GET /projects/:project_id/constants/:id
PATCH /projects/:project_id/constants/:id
PUT /projects/:project_id/constants/:id
DELETE /projects/:project_id/constants/:id
project_project_tags GET /projects/:project_id/tags
project_workflow GET /projects/:project_id/workflow
RETRO IDEA CATEGORY
project_retro_idea_categories GET /projects/:project_id/retro_idea_categories
POST /projects/:project_id/retro_idea_categories
new_project_retro_idea_category GET /projects/:project_id/retro_idea_categories/new
edit_retro_idea_category GET /retro_idea_categories/:id/edit
retro_idea_category GET /retro_idea_categories/:id
PATCH /retro_idea_categories/:id
PUT /retro_idea_categories/:id
DELETE /retro_idea_categories/:id
RETRO IDEA VOTE
retro_idea_vote GET /retro_idea_votes/:id
PATCH /retro_idea_votes/:id
PUT /retro_idea_votes/:id
reorder_retro_idea POST /retro_ideas/:id/reorder
project_retro_ideas GET /projects/:project_id/retro_ideas
POST /projects/:project_id/retro_ideas
new_project_retro_idea GET /projects/:project_id/retro_ideas/new
edit_retro_idea GET /retro_ideas/:id/edit
retro_idea GET /retro_ideas/:id
PATCH /retro_ideas/:id
PUT /retro_ideas/:id
DELETE /retro_ideas/:id
RETRO IDEA  TECHNIQUE
project_retro_techniques GET /projects/:project_id/retro_techniques
project_retro_idea_templates GET /projects/:project_id/retro_idea_templates
CUSTOM FIELD
project_custom_field_templates GET /projects/:project_id/custom_field_templates
POST /projects/:project_id/custom_field_templates
new_project_custom_field_template GET /projects/:project_id/custom_field_templates/new
edit_custom_field_template GET /custom_field_templates/:id/edit
custom_field_template GET /custom_field_templates/:id
PATCH /custom_field_templates/:id
PUT /custom_field_templates/:id
DELETE /custom_field_templates/:id
project_custom_fields GET /projects/:project_id/custom_fields
POST /projects/:project_id/custom_fields
new_project_custom_field GET /projects/:project_id/custom_fields/new
edit_custom_field GET /custom_fields/:id/edit
custom_field GET /custom_fields/:id
PATCH /custom_fields/:id
PUT /custom_fields/:id
DELETE /custom_fields/:id
project_custom_fields_values GET /projects/:project_id/custom_fields_values
NOTIFICATION
seen_notification POST /notifications/:id/seen
unseen_notification POST /notifications/:id/unseen
seen_all_project_notifications POST /projects/:project_id/notifications/seen_all
project_notifications GET /projects/:project_id/notifications
notification GET /notifications/:id
WORKFLOW STEP
reorder_workflow_step POST /workflow_steps/:id/reorder
project_workflow_steps GET /projects/:project_id/workflow_steps
POST /projects/:project_id/workflow_steps
workflow_step GET /workflow_steps/:id
PATCH /workflow_steps/:id
PUT /workflow_steps/:id
DELETE /workflow_steps/:id
RCA DIAGRAM
project_rca_diagrams GET /projects/:project_id/rca/diagrams
POST /projects/:project_id/rca/diagrams
rca_diagram GET /rca/diagrams/:id
PATCH /rca/diagrams/:id
PUT /rca/diagrams/:id
DELETE /rca/diagrams/:id
project_rca_nodes GET /projects/:project_id/rca/nodes
POST /projects/:project_id/rca/nodes
rca_node GET /rca/nodes/:id
PATCH /rca/nodes/:id
PUT /rca/nodes/:id
DELETE /rca/nodes/:id
project_rca_links GET /projects/:project_id/rca/links
POST /projects/:project_id/rca/links
rca_link GET /rca/links/:id
PATCH /rca/links/:id
PUT /rca/links/:id
DELETE /rca/links/:id
project_rca_categories GET /projects/:project_id/rca/categories
OKR DIAGRAM
project_okr_diagrams GET /projects/:project_id/okr/diagrams
POST /projects/:project_id/okr/diagrams
okr_diagram GET /okr/diagrams/:id
PATCH /okr/diagrams/:id
PUT /okr/diagrams/:id
DELETE /okr/diagrams/:id
project_okr_nodes GET /projects/:project_id/okr/nodes
POST /projects/:project_id/okr/nodes
okr_node GET /okr/nodes/:id
PATCH /okr/nodes/:id
PUT /okr/nodes/:id
DELETE /okr/nodes/:id
project_okr_node_key_results GET /projects/:project_id/okr/node_key_results
POST /projects/:project_id/okr/node_key_results
okr_node_key_result GET /okr/node_key_results/:id
PATCH /okr/node_key_results/:id
PUT /okr/node_key_results/:id
DELETE /okr/node_key_results/:id
project_okr_links GET /projects/:project_id/okr/links
POST /projects/:project_id/okr/links
okr_link GET /okr/links/:id
PATCH /okr/links/:id
PUT /okr/links/:id
DELETE /okr/links/:id
project_okr_categories GET /projects/:project_id/okr/categories
ROADMAP
project_rmp_roadmaps GET /projects/:project_id/rmp/roadmaps
POST /projects/:project_id/rmp/roadmaps
rmp_roadmap GET /rmp/roadmaps/:id
PATCH /rmp/roadmaps/:id
PUT /rmp/roadmaps/:id
DELETE /rmp/roadmaps/:id
reorder_rmp_group POST /rmp/groups/:id/reorder
project_rmp_groups GET /projects/:project_id/rmp/groups
POST /projects/:project_id/rmp/groups
rmp_group GET /rmp/groups/:id
PATCH /rmp/groups/:id
PUT /rmp/groups/:id
DELETE /rmp/groups/:id
reorder_rmp_lane POST /rmp/lanes/:id/reorder
project_rmp_lanes GET /projects/:project_id/rmp/lanes
POST /projects/:project_id/rmp/lanes
rmp_lane GET /rmp/lanes/:id
PATCH /rmp/lanes/:id
PUT /rmp/lanes/:id
DELETE /rmp/lanes/:id
reorder_rmp_row POST /rmp/rows/:id/reorder
project_rmp_rows GET /projects/:project_id/rmp/rows
POST /projects/:project_id/rmp/rows
rmp_row GET /rmp/rows/:id
DELETE /rmp/rows/:id
project_rmp_boxes GET /projects/:project_id/rmp/boxes
POST /projects/:project_id/rmp/boxes
rmp_box GET /rmp/boxes/:id
PATCH /rmp/boxes/:id
PUT /rmp/boxes/:id
DELETE /rmp/boxes/:id
project_rmp_milestones GET /projects/:project_id/rmp/milestones
POST /projects/:project_id/rmp/milestones
rmp_milestone GET /rmp/milestones/:id
PATCH /rmp/milestones/:id
PUT /rmp/milestones/:id
DELETE /rmp/milestones/:id
PROJECT
archive_project POST /projects/:id/archive
restore_project POST /projects/:id/restore
projects POST /projects
project GET /projects/:id
PATCH /projects/:id
PUT /projects/:id
DELETE /projects/:id
USER ACCOUNT
user_accounts GET /users/:user_id/accounts
POST /users/:user_id/accounts
account_account_initializations GET /accounts/:account_id/init
activate_account_membership POST /account_memberships/:id/activate
deactivate_account_membership POST /account_memberships/:id/deactivate
account_account_memberships GET /accounts/:account_id/account_memberships
POST /accounts/:account_id/account_memberships
new_account_account_membership GET /accounts/:account_id/account_memberships/new
edit_account_membership GET /account_memberships/:id/edit
account_membership GET /account_memberships/:id
PATCH /account_memberships/:id
PUT /account_memberships/:id
DELETE /account_memberships/:id
INVITATION
accept_invitation POST /invitations/:id/accept
reject_invitation POST /invitations/:id/reject
account_invitations GET /accounts/:account_id/invitations
POST /accounts/:account_id/invitations
invitation GET /invitations/:id
DELETE /invitations/:id
USER
account_users GET /accounts/:account_id/users
user GET /users/:id
PATCH /users/:id
PUT /users/:id
DELETE /users/:id
archive_account POST /accounts/:id/archive
restore_account POST /accounts/:id/restore
account GET /accounts/:id
PATCH /accounts/:id
PUT /accounts/:id
DELETE /accounts/:id
CONSTANT
constants GET /constants