GitScrum / Docs

Projects

Create, list, and manage projects. Get project details, stats, and task summaries.

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.

Projects organize tasks, sprints, and team members within a workspace.

List projects

GET /projects?company_slug={slug}

Returns a paginated list of projects in a workspace.

Query parameters

ParameterTypeRequiredDescription
company_slugstringYesWorkspace identifier
statusstringNoFilter: in_progress, completed, archived
curl -X GET "https://services.gitscrum.com/projects?company_slug=acme-corp" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json"

Response 200 OK

{
  "data": [
    {
      "slug": "web-platform",
      "name": "Web Platform",
      "description": "Main product application",
      "logo": "https://cdn.gitscrum.com/projects/web.png",
      "visibility": "public",
      "is_private": false,
      "recurring": false,
      "owner": {
        "name": "Jane Smith",
        "username": "janesmith"
      },
      "created_at": "2025-06-15T09:00:00Z"
    }
  ]
}

Find project by name

GET /projects?company_slug={slug}&name={name}

Search projects by name within a workspace.

Query parameters

ParameterTypeRequiredDescription
company_slugstringYesWorkspace identifier
namestringYesProject name to search for
curl -X GET "https://services.gitscrum.com/projects?company_slug=acme-corp&name=Web%20Platform" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json"

Get project

GET /projects/{slug}?company_slug={slug}

Returns full project details.

Path parameters

ParameterTypeRequiredDescription
slugstringYesProject identifier

Query parameters

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

Response 200 OK

{
  "data": {
    "slug": "web-platform",
    "name": "Web Platform",
    "description": "Main product application",
    "logo": "https://cdn.gitscrum.com/projects/web.png",
    "visibility": "public",
    "is_private": false,
    "recurring": false,
    "owner": {
      "name": "Jane Smith",
      "username": "janesmith"
    },
    "settings": {
      "default_workflow": "backlog",
      "task_prefix": "WEB"
    },
    "stats": {
      "tasks_count": 156,
      "completed_count": 98,
      "members_count": 8
    },
    "created_at": "2025-06-15T09:00:00Z"
  }
}

Create project

POST /projects

Creates a new project in a workspace.

Request body

FieldTypeRequiredDescription
namestringYesProject name
company_slugstringYesWorkspace identifier
descriptionstringNoProject description
visibilitystringNopublic (default) or private
client_uuidstringNoAssociate with a client
curl -X POST https://services.gitscrum.com/projects \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Mobile App",
    "company_slug": "acme-corp",
    "description": "iOS and Android application",
    "visibility": "private"
  }'

Response 201 Created

{
  "data": {
    "slug": "mobile-app",
    "name": "Mobile App",
    "description": "iOS and Android application",
    "visibility": "private",
    "is_private": true,
    "created_at": "2026-02-07T10:00:00Z"
  }
}

Project stats

GET /projects/{slug}/stats?company_slug={slug}

Returns project statistics.

curl -X GET "https://services.gitscrum.com/projects/web-platform/stats?company_slug=acme-corp" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json"

Response 200 OK

{
  "data": {
    "tasks_count": 156,
    "completed_count": 98,
    "open_count": 58,
    "members_count": 8,
    "sprints_count": 6,
    "labels_count": 12
  }
}

Update project

PUT /projects/{slug}

Updates an existing project.

Path parameters

ParameterTypeRequiredDescription
slugstringYesProject identifier

Request body

FieldTypeRequiredDescription
company_slugstringYesWorkspace identifier
namestringNoProject name
descriptionstringNoProject description
visibilitystringNopublic or private
curl -X PUT "https://services.gitscrum.com/projects/web-platform" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "company_slug": "acme-corp",
    "name": "Web Platform v2",
    "description": "Main product application - redesigned"
  }'

Delete project

DELETE /projects/{slug}?company_slug={slug}

Permanently deletes a project and all its data. This action cannot be undone.

Path parameters

ParameterTypeRequiredDescription
slugstringYesProject identifier
curl -X DELETE "https://services.gitscrum.com/projects/web-platform?company_slug=acme-corp" \
  -H "Authorization: Bearer {token}"

Duplicate project

POST /projects/{slug}/duplicate?company_slug={slug}

Creates a copy of the project structure including workflows and settings.

Path parameters

ParameterTypeRequiredDescription
slugstringYesSource project identifier
curl -X POST "https://services.gitscrum.com/projects/web-platform/duplicate?company_slug=acme-corp" \
  -H "Authorization: Bearer {token}"

Field reference

FieldTypeDescription
slugstringUnique project identifier
namestringProject display name
descriptionstringProject description
logostringProject logo URL
visibilitystringpublic or private
is_privatebooleanWhether the project is private
recurringbooleanWhether the project is recurring
ownerobjectProject owner (name, username)
settingsobjectProject configuration
statsobjectAggregate statistics
created_atstringISO 8601 creation timestamp