GitScrum / Docs

Workflows

Get project workflow columns (Kanban board states). Use workflow IDs to move tasks between columns.

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.

Workflows define the Kanban board columns for a project. Each column represents a task state (e.g., Backlog, In Progress, Done). Use workflow IDs when moving tasks between columns.

List workflows

GET /projects-workflows?companyslug={slug}&projectslug={slug}

Returns the Kanban board columns for a project.

Query parameters

ParameterTypeRequiredDescription
company_slugstringYesWorkspace identifier
project_slugstringYesProject identifier
curl -X GET "https://services.gitscrum.com/projects-workflows?company_slug=acme-corp&project_slug=web-platform" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json"

Response 200 OK

{
  "data": [
    {
      "id": 1,
      "slug": "backlog",
      "title": "Backlog",
      "color": "#6B7280",
      "state": 0,
      "position": 1,
      "default": true
    },
    {
      "id": 2,
      "slug": "in-progress",
      "title": "In Progress",
      "color": "#3B82F6",
      "state": 0,
      "position": 2,
      "default": false
    },
    {
      "id": 3,
      "slug": "in-review",
      "title": "In Review",
      "color": "#F59E0B",
      "state": 0,
      "position": 3,
      "default": false
    },
    {
      "id": 4,
      "slug": "done",
      "title": "Done",
      "color": "#10B981",
      "state": 1,
      "position": 4,
      "default": false
    }
  ]
}

Create workflow column

POST /projects-workflows

Adds a new column to the project board.

Request body

FieldTypeRequiredDescription
titlestringYesColumn name
company_slugstringYesWorkspace identifier
project_slugstringYesProject identifier
colorstringNoHex color without #
stateintegerNo0 = open, 1 = done
curl -X POST https://services.gitscrum.com/projects-workflows \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "QA Review",
    "company_slug": "acme-corp",
    "project_slug": "web-platform",
    "color": "F59E0B",
    "state": 0
  }'

Update workflow column

PUT /projects-workflows/{id}

Updates a workflow column.

Path parameters

ParameterTypeRequiredDescription
idintegerYesWorkflow column ID

Request body

FieldTypeRequiredDescription
company_slugstringYesWorkspace identifier
project_slugstringYesProject identifier
titlestringNoColumn name
colorstringNoHex color without #

Update WIP limit

PUT /projects-workflows/{id}/wip

Sets the work-in-progress limit for a column.

Path parameters

ParameterTypeRequiredDescription
idintegerYesWorkflow column ID

Request body

FieldTypeRequiredDescription
wipintegerYesMaximum tasks allowed (0 = unlimited)
company_slugstringYesWorkspace identifier
project_slugstringYesProject identifier

Delete workflow column

DELETE /projects-workflows/{id}?companyslug={slug}&projectslug={slug}

Removes a column from the project board. Tasks in the column are moved to the default column.

Path parameters

ParameterTypeRequiredDescription
idintegerYesWorkflow column ID

Field reference

FieldTypeDescription
idintegerWorkflow column ID — used to move tasks
slugstringURL-friendly column identifier
titlestringColumn display name
colorstringColumn color (hex)
stateinteger0 = open, 1 = done
positionintegerColumn position on the board (1 = leftmost)
defaultbooleanWhether this is the default column for new tasks

Moving tasks between columns

Use the workflow id when updating a task's column:

curl -X PUT https://services.gitscrum.com/tasks/{task_uuid} \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "company_slug": "acme-corp",
    "project_slug": "web-platform",
    "workflow_id": 2
  }'

This moves the task to the "In Progress" column (ID 2).

Workflow IDs are project-specific. Always fetch the workflow list for the target project before moving tasks.