Skip to main content

Developers

API Reference

HacknPlan API Beta

Public API for the HacknPlan service.

v0
OpenAPI 2.0

Base URL

https://api.hacknplan.com

Boards

11 endpoints
GET

/v0/projects/{projectId}/boards

Gets the list of boards in the project.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • includeClosedboolean

    query

    True to include the closed boards in the result. Defaults to false.

Responses

  • 200

    array<board>

    A list of board objects.

    Example JSON

    [
      {
        "projectId": 1,
        "boardId": 1,
        "milestoneId": 1,
        "name": "string",
        "description": "string",
        "generalInfo": "string",
        "startDate": "2026-01-01T00:00:00Z",
        "dueDate": "2026-01-01T00:00:00Z",
        "closingDate": "2026-01-01T00:00:00Z",
        "creationDate": "2026-01-01T00:00:00Z",
        "creator": {
          "id": 1,
          "username": "string",
          "email": "string",
          "name": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "isDefault": true
      }
    ]
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

POST

/v0/projects/{projectId}/boards

[ADMIN] Creates a new board.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • createBoardValuescreateBoardValues

    body

    The board creation values object.

    Required

Responses

  • A newly created board object.

    Example JSON

    {
      "projectId": 1,
      "boardId": 1,
      "milestoneId": 1,
      "name": "string",
      "description": "string",
      "generalInfo": "string",
      "startDate": "2026-01-01T00:00:00Z",
      "dueDate": "2026-01-01T00:00:00Z",
      "closingDate": "2026-01-01T00:00:00Z",
      "creationDate": "2026-01-01T00:00:00Z",
      "creator": {
        "id": 1,
        "username": "string",
        "email": "string",
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "isDefault": true
    }
  • 400

    no schema

    Invalid values object.

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

GET

/v0/projects/{projectId}/boards/{boardId}

Gets a board.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project the board belongs to.

    Required
  • boardIdinteger (int32)

    path

    The unique identifier of the board.

    Required

Responses

  • A board object.

    Example JSON

    {
      "projectId": 1,
      "boardId": 1,
      "milestoneId": 1,
      "name": "string",
      "description": "string",
      "generalInfo": "string",
      "startDate": "2026-01-01T00:00:00Z",
      "dueDate": "2026-01-01T00:00:00Z",
      "closingDate": "2026-01-01T00:00:00Z",
      "creationDate": "2026-01-01T00:00:00Z",
      "creator": {
        "id": 1,
        "username": "string",
        "email": "string",
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "isDefault": true
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PUT

/v0/projects/{projectId}/boards/{boardId}

[ADMIN] Updates the board.

All the fields will be replaced, and optional values not set in the values object will be set to null. Use this method to remove values from board fields.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • boardIdinteger (int32)

    path

    The unique identifier of the board.

    Required
  • updateBoardValuesupdateBoardValues

    body

    The board update values object.

    Required

Responses

  • The updated board object.

    Example JSON

    {
      "projectId": 1,
      "boardId": 1,
      "milestoneId": 1,
      "name": "string",
      "description": "string",
      "generalInfo": "string",
      "startDate": "2026-01-01T00:00:00Z",
      "dueDate": "2026-01-01T00:00:00Z",
      "closingDate": "2026-01-01T00:00:00Z",
      "creationDate": "2026-01-01T00:00:00Z",
      "creator": {
        "id": 1,
        "username": "string",
        "email": "string",
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "isDefault": true
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PATCH

/v0/projects/{projectId}/boards/{boardId}

[ADMIN] Updates the board partially.

Only fields included in the value object will be updated, the rest will remain untouched.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • boardIdinteger (int32)

    path

    The unique identifier of the board.

    Required
  • patchBoardValuespatchBoardValues

    body

    The board patch values object.

    Required

Responses

  • The updated board object.

    Example JSON

    {
      "projectId": 1,
      "boardId": 1,
      "milestoneId": 1,
      "name": "string",
      "description": "string",
      "generalInfo": "string",
      "startDate": "2026-01-01T00:00:00Z",
      "dueDate": "2026-01-01T00:00:00Z",
      "closingDate": "2026-01-01T00:00:00Z",
      "creationDate": "2026-01-01T00:00:00Z",
      "creator": {
        "id": 1,
        "username": "string",
        "email": "string",
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "isDefault": true
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

DELETE

/v0/projects/{projectId}/boards/{boardId}

[ADMIN] Deletes the board.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • boardIdinteger (int32)

    path

    The unique identifier of the board.

    Required
  • removeWorkItemsboolean

    query

    True to delete the contained work items, false to move them to the backlog. Defaults to false.

Responses

  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

POST

/v0/projects/{projectId}/boards/{boardId}/closure

[ADMIN] Closes the board.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • boardIdinteger (int32)

    path

    The unique identifier of the board.

    Required
  • closeBoardValuescloseBoardValues

    body

    The board closing values object.

    Required

Responses

  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

  • 409

    no schema

    The board is already closed.

DELETE

/v0/projects/{projectId}/boards/{boardId}/closure

[ADMIN] Reonpens the board.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • boardIdinteger (int32)

    path

    The unique identifier of the board.

    Required

Responses

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    Resource not found.

  • 409

    no schema

    The board is already open.

GET

/v0/projects/{projectId}/boards/{boardId}/metrics

Gets the board metrics.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • boardIdinteger (int32)

    path

    The unique identifier of the board.

    Required
  • userIdinteger (int32)

    query

    The unique identifier of the user.

Responses

  • A board metrics object.

    Example JSON

    {
      "categories": [
        {
          "category": {
            "projectId": 1,
            "categoryId": 1,
            "name": "string",
            "icon": "string",
            "color": "string",
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "totalWorkItems": 1,
          "totalWorkItemsVariation": 1,
          "openWorkItems": 1,
          "closedWorkItems": 1,
          "estimatedCost": 1,
          "estimatedCostVariation": 1,
          "loggedCost": 1,
          "remainingCost": 1
        }
      ],
      "totalWorkItems": 1,
      "totalWorkItemsVariation": 1,
      "openWorkItems": 1,
      "closedWorkItems": 1,
      "estimatedCost": 1,
      "estimatedCostVariation": 1,
      "loggedCost": 1,
      "remainingCost": 1
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

POST

/v0/projects/{projectId}/boards/default

[ADMIN] Sets the default board for the project.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • boardIdinteger (int32)

    body

    The unique identifier of the board.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

  • 409

    no schema

    The board is closed.

DELETE

/v0/projects/{projectId}/boards/default

[ADMIN] Clears the default board of the project.

Parameters

  • projectIdinteger (int32)

    path

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

Design Elements

7 endpoints
GET

/v0/projects/{projectId}/designelements

Gets the game design model.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required

Responses

  • 200

    array<designElement>

    A list of design element objects.

    Example JSON

    [
      {
        "index": 1,
        "projectId": 1,
        "designElementId": 1,
        "type": {
          "projectId": 1,
          "designElementTypeId": 1,
          "name": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "name": "string",
        "prefix": "string",
        "parent": {},
        "children": [
          {}
        ],
        "totalWorkItemCount": 1,
        "closedWorkItemCount": 1,
        "description": "string",
        "startDate": "2026-01-01T00:00:00Z",
        "dueDate": "2026-01-01T00:00:00Z",
        "creationDate": "2026-01-01T00:00:00Z",
        "updateDate": "2026-01-01T00:00:00Z",
        "user": {
          "projectId": 1,
          "user": {
            "id": 1,
            "username": "string",
            "email": "string",
            "name": "string",
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "isAdmin": true,
          "isGuest": true,
          "isActive": true,
          "creationDate": "2026-01-01T00:00:00Z",
          "permissions": {
            "categoryPermissions": [
              {}
            ],
            "gameDesignModelPermissions": {
              "id": null,
              "name": null,
              "canRead": null,
              "canWrite": null
            }
          },
          "role": {
            "projectId": 1,
            "roleId": 1,
            "name": "string",
            "isAdmin": true,
            "creationDate": "2026-01-01T00:00:00Z",
            "permissions": {}
          }
        }
      }
    ]
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

POST

/v0/projects/{projectId}/designelements

Creates a new design element.

Parameters

Responses

  • The new game design element object.

    Example JSON

    {
      "index": 1,
      "projectId": 1,
      "designElementId": 1,
      "type": {
        "projectId": 1,
        "designElementTypeId": 1,
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "name": "string",
      "prefix": "string",
      "parent": {},
      "children": [
        {}
      ],
      "totalWorkItemCount": 1,
      "closedWorkItemCount": 1,
      "description": "string",
      "startDate": "2026-01-01T00:00:00Z",
      "dueDate": "2026-01-01T00:00:00Z",
      "creationDate": "2026-01-01T00:00:00Z",
      "updateDate": "2026-01-01T00:00:00Z",
      "user": {
        "projectId": 1,
        "user": {
          "id": 1,
          "username": "string",
          "email": "string",
          "name": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "isAdmin": true,
        "isGuest": true,
        "isActive": true,
        "creationDate": "2026-01-01T00:00:00Z",
        "permissions": {
          "categoryPermissions": [
            {
              "categoryId": null,
              "canRead": null,
              "canWrite": null,
              "canUpdate": null
            }
          ],
          "gameDesignModelPermissions": {
            "id": 1,
            "name": "string",
            "canRead": true,
            "canWrite": true
          }
        },
        "role": {
          "projectId": 1,
          "roleId": 1,
          "name": "string",
          "isAdmin": true,
          "creationDate": "2026-01-01T00:00:00Z",
          "permissions": {}
        }
      }
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

GET

/v0/projects/{projectId}/designelements/{designElementId}

Gets a design element.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • designElementIdinteger (int32)

    path

    The unique identifier of the design element.

    Required
  • includeChildrenboolean

    query

    True to include the whole hierarchy of child elements in the result.

Responses

  • The game design element object.

    Example JSON

    {
      "index": 1,
      "projectId": 1,
      "designElementId": 1,
      "type": {
        "projectId": 1,
        "designElementTypeId": 1,
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "name": "string",
      "prefix": "string",
      "parent": {},
      "children": [
        {}
      ],
      "totalWorkItemCount": 1,
      "closedWorkItemCount": 1,
      "description": "string",
      "startDate": "2026-01-01T00:00:00Z",
      "dueDate": "2026-01-01T00:00:00Z",
      "creationDate": "2026-01-01T00:00:00Z",
      "updateDate": "2026-01-01T00:00:00Z",
      "user": {
        "projectId": 1,
        "user": {
          "id": 1,
          "username": "string",
          "email": "string",
          "name": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "isAdmin": true,
        "isGuest": true,
        "isActive": true,
        "creationDate": "2026-01-01T00:00:00Z",
        "permissions": {
          "categoryPermissions": [
            {
              "categoryId": null,
              "canRead": null,
              "canWrite": null,
              "canUpdate": null
            }
          ],
          "gameDesignModelPermissions": {
            "id": 1,
            "name": "string",
            "canRead": true,
            "canWrite": true
          }
        },
        "role": {
          "projectId": 1,
          "roleId": 1,
          "name": "string",
          "isAdmin": true,
          "creationDate": "2026-01-01T00:00:00Z",
          "permissions": {}
        }
      }
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PUT

/v0/projects/{projectId}/designelements/{designElementId}

Updates the design element.

All the fields will be replaced, and optional values not set in the values object will be set to null.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • designElementIdinteger (int32)

    path

    The unique identifier of the design element.

    Required
  • updateDesignElementValuesupdateDesignElementValues

    body

    The design element update values object.

    Required

Responses

  • 200

    no schema

    OK

  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PATCH

/v0/projects/{projectId}/designelements/{designElementId}

Updates the design element partially.

Only fields included in the value object will be updated, the rest will remain untouched.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • designElementIdinteger (int32)

    path

    The unique identifier of the design element.

    Required
  • patchDesignElementValuespatchDesignElementValues

    body

    The design element patch values object.

    Required

Responses

  • 200

    no schema

    OK

  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

DELETE

/v0/projects/{projectId}/designelements/{designElementId}

Deletes the design element.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • designElementIdinteger (int32)

    path

    The unique identifier of the design element.

    Required
  • deleteDesignElementValuesdeleteDesignElementValues

    body

    The design element deletion values object.

    Required

Responses

  • 200

    no schema

    OK

  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

GET

/v0/projects/{projectId}/designelements/{designElementId}/metrics

Gets the metrics for the game design element.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • designElementIdinteger (int32)

    path

    The unique identifier of the design element.

    Required
  • includeChildrenboolean

    query

    True if the result should sum up the metrics of the hierarchy of children elements. Defaults to false.

Responses

  • The game design model metrics object.

    Example JSON

    {
      "categories": [
        {
          "category": {
            "projectId": 1,
            "categoryId": 1,
            "name": "string",
            "icon": "string",
            "color": "string",
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "totalWorkItems": 1,
          "totalWorkItemsVariation": 1,
          "openWorkItems": 1,
          "closedWorkItems": 1,
          "estimatedCost": 1,
          "estimatedCostVariation": 1,
          "loggedCost": 1,
          "remainingCost": 1
        }
      ],
      "totalWorkItems": 1,
      "totalWorkItemsVariation": 1,
      "openWorkItems": 1,
      "closedWorkItems": 1,
      "estimatedCost": 1,
      "estimatedCostVariation": 1,
      "loggedCost": 1,
      "remainingCost": 1
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

Design Elements / Attachments

4 endpoints
GET

/v0/projects/{projectId}/designelements/{designElementId}/attachments

Gets a list of design element attachments with pagination.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • designElementIdinteger (int32)

    path

    The unique identifier of the design element.

    Required
  • offsetinteger (int32)

    query

    The number of items skipped from the results. Defaults to 0. Min value 0.

  • limitinteger (int32)

    query

    The max number of items included in the results, after the offset. Defaults to 20. Min value 1. Max value 100.

Responses

  • 200

    pagedResult<designElementAttachment>

    A paged list of design element attachment objects.

    Example JSON

    {
      "totalCount": 1,
      "offset": 1,
      "limit": 1,
      "items": [
        {
          "projectId": 1,
          "designElementId": 1,
          "attachmentId": 1,
          "file": {
            "projectId": 1,
            "fileId": 1,
            "name": "string",
            "thumbName": "string",
            "url": "string",
            "thumbUrl": "string",
            "size": 1,
            "isImage": true,
            "user": {
              "id": null,
              "username": null,
              "email": null,
              "name": null,
              "creationDate": null
            },
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "user": {},
          "creationDate": "2026-01-01T00:00:00Z"
        }
      ]
    }
  • 400

    no schema

    Invalid offset and limit values.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

POST

/v0/projects/{projectId}/designelements/{designElementId}/attachments

Creates a design element attachment from MIME multipart content.

This endpoint requires the Content-type header set to multipart/form-data.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • designElementIdinteger (int32)

    path

    The unique identifier of the design element.

    Required

Responses

  • A new design element attachment object.

    Example JSON

    {
      "projectId": 1,
      "designElementId": 1,
      "attachmentId": 1,
      "file": {
        "projectId": 1,
        "fileId": 1,
        "name": "string",
        "thumbName": "string",
        "url": "string",
        "thumbUrl": "string",
        "size": 1,
        "isImage": true,
        "user": {
          "id": 1,
          "username": "string",
          "email": "string",
          "name": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "user": {},
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 400

    no schema

    File size limit exceeded.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

  • 409

    no schema

    Account storage limit exceeded.

  • 415

    no schema

    The content is not MIME multipart content.

GET

/v0/projects/{projectId}/designelements/{designElementId}/attachments/{attachmentId}

Gets a design element attachment.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • designElementIdinteger (int32)

    path

    The unique identifier of the design element.

    Required
  • attachmentIdinteger (int32)

    path

    The unique identifier of the attachment

    Required

Responses

  • A design element object.

    Example JSON

    {
      "projectId": 1,
      "designElementId": 1,
      "attachmentId": 1,
      "file": {
        "projectId": 1,
        "fileId": 1,
        "name": "string",
        "thumbName": "string",
        "url": "string",
        "thumbUrl": "string",
        "size": 1,
        "isImage": true,
        "user": {
          "id": 1,
          "username": "string",
          "email": "string",
          "name": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "user": {},
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

DELETE

/v0/projects/{projectId}/designelements/{designElementId}/attachments/{attachmentId}

Deletes a design element attachment.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • designElementIdinteger (int32)

    path

    The unique identifier of the design element.

    Required
  • attachmentIdinteger (int32)

    path

    The unique identifier of the attachment.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

Design Elements / Comments

4 endpoints
DELETE

/v0/projects/{projectId}/designelement/{designElementId}/comments/{commentId}

Deletes the design element comment.

Only the author of the comment and admins can delete it.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • designElementIdinteger (int32)

    path

    The unique identifier of the design element.

    Required
  • commentIdinteger (int32)

    path

    The unique identifier of the comment.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

GET

/v0/projects/{projectId}/designelements/{designElementId}/comments

Gets a list of design element comments with pagination.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • designElementIdinteger (int32)

    path

    The unique identifier of the design element.

    Required
  • offsetinteger (int32)

    query

    The number of items skipped from the results. Defaults to 0. Min value 0.

  • limitinteger (int32)

    query

    The max number of items included in the results, after the offset. Defaults to 20. Min value 1. Max value 100.

Responses

  • 200

    pagedResult<designElementComment>

    A paged list of design element comment objects.

    Example JSON

    {
      "totalCount": 1,
      "offset": 1,
      "limit": 1,
      "items": [
        {
          "projectId": 1,
          "designElementId": 1,
          "commentId": 1,
          "text": "string",
          "user": {
            "id": 1,
            "username": "string",
            "email": "string",
            "name": "string",
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "creationDate": "2026-01-01T00:00:00Z",
          "updateDate": "2026-01-01T00:00:00Z"
        }
      ]
    }
  • 400

    no schema

    Invalid offset or limit parameters.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

POST

/v0/projects/{projectId}/designelements/{designElementId}/comments

Creates a new comment in the design element.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • designElementIdinteger (int32)

    path

    The unique identifier of the design element.

    Required
  • textstring

    body

    The text content of the comment. Max 5000 chars.

    Required

Responses

  • A new design element comment object.

    Example JSON

    {
      "projectId": 1,
      "designElementId": 1,
      "commentId": 1,
      "text": "string",
      "user": {
        "id": 1,
        "username": "string",
        "email": "string",
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "creationDate": "2026-01-01T00:00:00Z",
      "updateDate": "2026-01-01T00:00:00Z"
    }
  • 400

    no schema

    Invalid comment text.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PUT

/v0/projects/{projectId}/designelements/{designElementId}/comments/{commentId}

Updates the design element comment.

Only the author of the comment can update it.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • designElementIdinteger (int32)

    path

    The unique identifier of the design element.

    Required
  • commentIdinteger (int32)

    path

    The unique identifier of the comment.

    Required
  • textstring

    body

    The text content of the comment. Max 5000 chars.

    Required

Responses

  • 200

    no schema

    OK

  • 400

    no schema

    Invalid comment text.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

Milestones

9 endpoints
GET

/v0/projects/{projectId}/milestones

Gets a list of the milestones in the project.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • includeBoardsboolean

    query

    True to include the boards in the milestone. Defaults to false.

  • includeClosedboolean

    query

    True to include the closed boards in the result. Defaults to false.

Responses

  • 200

    array<milestone>

    A list of milestone objects.

    Example JSON

    [
      {
        "projectId": 1,
        "milestoneId": 1,
        "name": "string",
        "generalInfo": "string",
        "creator": {
          "id": 1,
          "username": "string",
          "email": "string",
          "name": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "startDate": "2026-01-01T00:00:00Z",
        "dueDate": "2026-01-01T00:00:00Z",
        "closingDate": "2026-01-01T00:00:00Z",
        "creationDate": "2026-01-01T00:00:00Z",
        "boards": [
          {
            "projectId": 1,
            "boardId": 1,
            "milestoneId": 1,
            "name": "string",
            "description": "string",
            "generalInfo": "string",
            "startDate": "2026-01-01T00:00:00Z",
            "dueDate": "2026-01-01T00:00:00Z",
            "closingDate": "2026-01-01T00:00:00Z",
            "creationDate": "2026-01-01T00:00:00Z",
            "creator": {},
            "isDefault": true
          }
        ]
      }
    ]
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

POST

/v0/projects/{projectId}/milestones

[ADMIN] Creates a new milestone.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • createMilestoneValuescreateMilestoneValues

    body

    The milestone creation values object.

    Required

Responses

  • A newly created milestone object.

    Example JSON

    {
      "projectId": 1,
      "milestoneId": 1,
      "name": "string",
      "generalInfo": "string",
      "creator": {
        "id": 1,
        "username": "string",
        "email": "string",
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "startDate": "2026-01-01T00:00:00Z",
      "dueDate": "2026-01-01T00:00:00Z",
      "closingDate": "2026-01-01T00:00:00Z",
      "creationDate": "2026-01-01T00:00:00Z",
      "boards": [
        {
          "projectId": 1,
          "boardId": 1,
          "milestoneId": 1,
          "name": "string",
          "description": "string",
          "generalInfo": "string",
          "startDate": "2026-01-01T00:00:00Z",
          "dueDate": "2026-01-01T00:00:00Z",
          "closingDate": "2026-01-01T00:00:00Z",
          "creationDate": "2026-01-01T00:00:00Z",
          "creator": {},
          "isDefault": true
        }
      ]
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

GET

/v0/projects/{projectId}/milestones/{milestoneId}

Gets a milestone.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • milestoneIdinteger (int32)

    path

    The unique identifier of the milestone.

    Required
  • includeBoardsboolean

    query

    True to return the list of boards in the milestones. Defaults to false.

Responses

  • A milestone object.

    Example JSON

    {
      "projectId": 1,
      "milestoneId": 1,
      "name": "string",
      "generalInfo": "string",
      "creator": {
        "id": 1,
        "username": "string",
        "email": "string",
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "startDate": "2026-01-01T00:00:00Z",
      "dueDate": "2026-01-01T00:00:00Z",
      "closingDate": "2026-01-01T00:00:00Z",
      "creationDate": "2026-01-01T00:00:00Z",
      "boards": [
        {
          "projectId": 1,
          "boardId": 1,
          "milestoneId": 1,
          "name": "string",
          "description": "string",
          "generalInfo": "string",
          "startDate": "2026-01-01T00:00:00Z",
          "dueDate": "2026-01-01T00:00:00Z",
          "closingDate": "2026-01-01T00:00:00Z",
          "creationDate": "2026-01-01T00:00:00Z",
          "creator": {},
          "isDefault": true
        }
      ]
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PUT

/v0/projects/{projectId}/milestones/{milestoneId}

[ADMIN] Updates the milestone.

All the fields will be replaced, and optional values not set in the values object will be set to null. Use this method to remove values from milestone fields.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project the milestone belongs to.

    Required
  • milestoneIdinteger (int32)

    path

    The unique identifier of the milestione within the project.

    Required
  • updateMilestoneValuesupdateMilestoneValues

    body

    The milestone update values object.

    Required

Responses

  • 200

    array<milestone>

    The updated milestone object.

    Example JSON

    [
      {
        "projectId": 1,
        "milestoneId": 1,
        "name": "string",
        "generalInfo": "string",
        "creator": {
          "id": 1,
          "username": "string",
          "email": "string",
          "name": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "startDate": "2026-01-01T00:00:00Z",
        "dueDate": "2026-01-01T00:00:00Z",
        "closingDate": "2026-01-01T00:00:00Z",
        "creationDate": "2026-01-01T00:00:00Z",
        "boards": [
          {
            "projectId": 1,
            "boardId": 1,
            "milestoneId": 1,
            "name": "string",
            "description": "string",
            "generalInfo": "string",
            "startDate": "2026-01-01T00:00:00Z",
            "dueDate": "2026-01-01T00:00:00Z",
            "closingDate": "2026-01-01T00:00:00Z",
            "creationDate": "2026-01-01T00:00:00Z",
            "creator": {},
            "isDefault": true
          }
        ]
      }
    ]
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PATCH

/v0/projects/{projectId}/milestones/{milestoneId}

[ADMIN] Updates the milestone partially.

Only fields included in the values object will be updated, the rest will remain untouched.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • milestoneIdinteger (int32)

    path

    The unique identifier of the milestone.

    Required
  • patchMilestoneValuespatchMilestoneValues

    body

    The milestone patch values object.

    Required

Responses

  • 200

    array<milestone>

    The updated milestone object.

    Example JSON

    [
      {
        "projectId": 1,
        "milestoneId": 1,
        "name": "string",
        "generalInfo": "string",
        "creator": {
          "id": 1,
          "username": "string",
          "email": "string",
          "name": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "startDate": "2026-01-01T00:00:00Z",
        "dueDate": "2026-01-01T00:00:00Z",
        "closingDate": "2026-01-01T00:00:00Z",
        "creationDate": "2026-01-01T00:00:00Z",
        "boards": [
          {
            "projectId": 1,
            "boardId": 1,
            "milestoneId": 1,
            "name": "string",
            "description": "string",
            "generalInfo": "string",
            "startDate": "2026-01-01T00:00:00Z",
            "dueDate": "2026-01-01T00:00:00Z",
            "closingDate": "2026-01-01T00:00:00Z",
            "creationDate": "2026-01-01T00:00:00Z",
            "creator": {},
            "isDefault": true
          }
        ]
      }
    ]
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

DELETE

/v0/projects/{projectId}/milestones/{milestoneId}

[ADMIN] Deletes the milestone.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • milestoneIdinteger (int32)

    path

    The unique identifier of the milestone.

    Required
  • deleteBoardsboolean

    query

    True to delete all the boards in the milestone, false to keep them without milestone assigned. Defaults to false.

  • deleteWorkItemsboolean

    query

    True to delete the work items in boards, if 'deleteBoards' is true. Defaults to false.

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    Resource not found.

POST

/v0/projects/{projectId}/milestones/{milestoneId}/closure

[ADMIN] Closes the milestone.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • milestoneIdinteger (int32)

    path

    The unique identifier of the milestone.

    Required
  • closeMilestoneValuescloseMilestoneValues

    body

    The milestone closing value object.

    Required

Responses

  • 200

    no schema

    OK

  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

DELETE

/v0/projects/{projectId}/milestones/{milestoneId}/closure

[ADMIN] Reopens the milestone.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • milestoneIdinteger (int32)

    path

    The unique identifier of the milestone.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    Resource not found.

GET

/v0/projects/{projectId}/milestones/{milestoneId}/metrics

Gets the milestone metrics.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • milestoneIdinteger (int32)

    path

    The unique identifier of the milestone.

    Required
  • userIdinteger (int32)

    query

    The unique identifier of the user.

Responses

  • A milestone metrics object.

    Example JSON

    {
      "categories": [
        {
          "category": {
            "projectId": 1,
            "categoryId": 1,
            "name": "string",
            "icon": "string",
            "color": "string",
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "totalWorkItems": 1,
          "totalWorkItemsVariation": 1,
          "openWorkItems": 1,
          "closedWorkItems": 1,
          "estimatedCost": 1,
          "estimatedCostVariation": 1,
          "loggedCost": 1,
          "remainingCost": 1
        }
      ],
      "totalWorkItems": 1,
      "totalWorkItemsVariation": 1,
      "openWorkItems": 1,
      "closedWorkItems": 1,
      "estimatedCost": 1,
      "estimatedCostVariation": 1,
      "loggedCost": 1,
      "remainingCost": 1
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

Projects

10 endpoints
GET

/v0/projects

Get all the projects the authenticated user is member of.

Responses

  • 200

    array<project>

    A list of project objects.

    Example JSON

    [
      {
        "id": 1,
        "workspaceId": 1,
        "name": "string",
        "description": "string",
        "generalInfo": "string",
        "closingDate": "2026-01-01T00:00:00Z",
        "creationDate": "2026-01-01T00:00:00Z",
        "owner": {
          "id": 1,
          "username": "string",
          "email": "string",
          "name": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "costMetric": "string",
        "isDemo": true,
        "hoursPerDay": 1,
        "moduleConfig": {
          "workItems": true,
          "workItemCategories": true,
          "workItemDates": true,
          "workItemCosts": true,
          "workItemSubTasks": true,
          "workItemDependencies": true,
          "workItemAttachments": true,
          "workItemComments": true,
          "workItemTags": true,
          "gameDesignModel": true,
          "gameDesignModelTypes": true,
          "gameDesignModelDates": true,
          "gameDesignModelAttachments": true,
          "gameDesignModelComments": true,
          "calendar": true,
          "burndownChart": true,
          "ganttChart": true,
          "metrics": true,
          "activity": true,
          "notifications": true,
          "forceWorkItemDesignElement": true,
          "forceWorkItemBoard": true,
          "forceWorkItemEstimatedCost": true,
          "forceWorkItemDueDate": true,
          "forceWorkItemDescription": true,
          "forceWorkItemUser": true,
          "forceWorkItemTag": true
        },
        "defaultBoardId": 1
      }
    ]
  • 401

    no schema

    Unauthorized

POST

/v0/projects

Creates a new project.

Parameters

  • createProjectValuescreateProjectValues

    body

    An object with the values for the new project.

    Required

Responses

  • A newly created project object.

    Example JSON

    {
      "id": 1,
      "workspaceId": 1,
      "name": "string",
      "description": "string",
      "generalInfo": "string",
      "closingDate": "2026-01-01T00:00:00Z",
      "creationDate": "2026-01-01T00:00:00Z",
      "owner": {
        "id": 1,
        "username": "string",
        "email": "string",
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "costMetric": "string",
      "isDemo": true,
      "hoursPerDay": 1,
      "moduleConfig": {
        "workItems": true,
        "workItemCategories": true,
        "workItemDates": true,
        "workItemCosts": true,
        "workItemSubTasks": true,
        "workItemDependencies": true,
        "workItemAttachments": true,
        "workItemComments": true,
        "workItemTags": true,
        "gameDesignModel": true,
        "gameDesignModelTypes": true,
        "gameDesignModelDates": true,
        "gameDesignModelAttachments": true,
        "gameDesignModelComments": true,
        "calendar": true,
        "burndownChart": true,
        "ganttChart": true,
        "metrics": true,
        "activity": true,
        "notifications": true,
        "forceWorkItemDesignElement": true,
        "forceWorkItemBoard": true,
        "forceWorkItemEstimatedCost": true,
        "forceWorkItemDueDate": true,
        "forceWorkItemDescription": true,
        "forceWorkItemUser": true,
        "forceWorkItemTag": true
      },
      "defaultBoardId": 1
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

GET

/v0/projects/{projectId}

Gets a project.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required

Responses

  • A project object.

    Example JSON

    {
      "id": 1,
      "workspaceId": 1,
      "name": "string",
      "description": "string",
      "generalInfo": "string",
      "closingDate": "2026-01-01T00:00:00Z",
      "creationDate": "2026-01-01T00:00:00Z",
      "owner": {
        "id": 1,
        "username": "string",
        "email": "string",
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "costMetric": "string",
      "isDemo": true,
      "hoursPerDay": 1,
      "moduleConfig": {
        "workItems": true,
        "workItemCategories": true,
        "workItemDates": true,
        "workItemCosts": true,
        "workItemSubTasks": true,
        "workItemDependencies": true,
        "workItemAttachments": true,
        "workItemComments": true,
        "workItemTags": true,
        "gameDesignModel": true,
        "gameDesignModelTypes": true,
        "gameDesignModelDates": true,
        "gameDesignModelAttachments": true,
        "gameDesignModelComments": true,
        "calendar": true,
        "burndownChart": true,
        "ganttChart": true,
        "metrics": true,
        "activity": true,
        "notifications": true,
        "forceWorkItemDesignElement": true,
        "forceWorkItemBoard": true,
        "forceWorkItemEstimatedCost": true,
        "forceWorkItemDueDate": true,
        "forceWorkItemDescription": true,
        "forceWorkItemUser": true,
        "forceWorkItemTag": true
      },
      "defaultBoardId": 1
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PUT

/v0/projects/{projectId}

[ADMIN] Updates the project.

All the fields will be replaced, and optional values not set in the values object will be set to null.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • updateProjectValuesupdateProjectValues

    body

    An object with the values to update.

    Required

Responses

  • The updated project object.

    Example JSON

    {
      "id": 1,
      "workspaceId": 1,
      "name": "string",
      "description": "string",
      "generalInfo": "string",
      "closingDate": "2026-01-01T00:00:00Z",
      "creationDate": "2026-01-01T00:00:00Z",
      "owner": {
        "id": 1,
        "username": "string",
        "email": "string",
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "costMetric": "string",
      "isDemo": true,
      "hoursPerDay": 1,
      "moduleConfig": {
        "workItems": true,
        "workItemCategories": true,
        "workItemDates": true,
        "workItemCosts": true,
        "workItemSubTasks": true,
        "workItemDependencies": true,
        "workItemAttachments": true,
        "workItemComments": true,
        "workItemTags": true,
        "gameDesignModel": true,
        "gameDesignModelTypes": true,
        "gameDesignModelDates": true,
        "gameDesignModelAttachments": true,
        "gameDesignModelComments": true,
        "calendar": true,
        "burndownChart": true,
        "ganttChart": true,
        "metrics": true,
        "activity": true,
        "notifications": true,
        "forceWorkItemDesignElement": true,
        "forceWorkItemBoard": true,
        "forceWorkItemEstimatedCost": true,
        "forceWorkItemDueDate": true,
        "forceWorkItemDescription": true,
        "forceWorkItemUser": true,
        "forceWorkItemTag": true
      },
      "defaultBoardId": 1
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PATCH

/v0/projects/{projectId}

[ADMIN] Updates the project partially.

Only fields included in the value object will be updated, the rest will remain untouched.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • patchProjectValuespatchProjectValues

    body

    An object with the values to update.

    Required

Responses

  • The updated project object.

    Example JSON

    {
      "id": 1,
      "workspaceId": 1,
      "name": "string",
      "description": "string",
      "generalInfo": "string",
      "closingDate": "2026-01-01T00:00:00Z",
      "creationDate": "2026-01-01T00:00:00Z",
      "owner": {
        "id": 1,
        "username": "string",
        "email": "string",
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "costMetric": "string",
      "isDemo": true,
      "hoursPerDay": 1,
      "moduleConfig": {
        "workItems": true,
        "workItemCategories": true,
        "workItemDates": true,
        "workItemCosts": true,
        "workItemSubTasks": true,
        "workItemDependencies": true,
        "workItemAttachments": true,
        "workItemComments": true,
        "workItemTags": true,
        "gameDesignModel": true,
        "gameDesignModelTypes": true,
        "gameDesignModelDates": true,
        "gameDesignModelAttachments": true,
        "gameDesignModelComments": true,
        "calendar": true,
        "burndownChart": true,
        "ganttChart": true,
        "metrics": true,
        "activity": true,
        "notifications": true,
        "forceWorkItemDesignElement": true,
        "forceWorkItemBoard": true,
        "forceWorkItemEstimatedCost": true,
        "forceWorkItemDueDate": true,
        "forceWorkItemDescription": true,
        "forceWorkItemUser": true,
        "forceWorkItemTag": true
      },
      "defaultBoardId": 1
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

DELETE

/v0/projects/{projectId}

[OWNER] Deletes a project.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    Project not found.

POST

/v0/projects/{projectId}/closure

[ADMIN] Closes the project.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

  • 409

    no schema

    The project is already closed.

DELETE

/v0/projects/{projectId}/closure

[ADMIN] Reopens the project.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

  • 409

    no schema

    The project is already open.

GET

/v0/projects/{projectId}/metrics

Gets the project metrics.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required

Responses

  • A project metrics object.

    Example JSON

    {
      "categories": [
        {
          "category": {
            "projectId": 1,
            "categoryId": 1,
            "name": "string",
            "icon": "string",
            "color": "string",
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "totalWorkItems": 1,
          "totalWorkItemsVariation": 1,
          "openWorkItems": 1,
          "closedWorkItems": 1,
          "estimatedCost": 1,
          "estimatedCostVariation": 1,
          "loggedCost": 1,
          "remainingCost": 1
        }
      ],
      "totalWorkItems": 1,
      "totalWorkItemsVariation": 1,
      "openWorkItems": 1,
      "closedWorkItems": 1,
      "estimatedCost": 1,
      "estimatedCostVariation": 1,
      "loggedCost": 1,
      "remainingCost": 1
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PUT

/v0/projects/{projectId}/owner

[OWNER] Transfer the ownership of the project to another user.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • ownerUserIdinteger (int32)

    body

    The unique identifier of the user who will be the new owner of the project.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

  • 409

    no schema

    The ownership of projects in a Studio workspace can't be transferred.

Projects / Categories

6 endpoints
GET

/v0/projects/{projectId}/categories

Gets a list of the categories in the project.

The categories the authenticated user don't have read access to won't be included in the results.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required

Responses

  • 200

    array<projectCategory>

    A list of project category objects.

    Example JSON

    [
      {
        "projectId": 1,
        "categoryId": 1,
        "name": "string",
        "icon": "string",
        "color": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      }
    ]
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

POST

/v0/projects/{projectId}/categories

[ADMIN] Creates a category.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • createProjectCategoryValuescreateProjectCategoryValues

    body

    The project category creation values object.

    Required

Responses

  • A new project category object.

    Example JSON

    {
      "projectId": 1,
      "categoryId": 1,
      "name": "string",
      "icon": "string",
      "color": "string",
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

GET

/v0/projects/{projectId}/categories/{categoryId}

Gets a category.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • categoryIdinteger (int32)

    path

    The unique identifier of the category.

    Required

Responses

  • A project category object.

    Example JSON

    {
      "projectId": 1,
      "categoryId": 1,
      "name": "string",
      "icon": "string",
      "color": "string",
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PUT

/v0/projects/{projectId}/categories/{categoryId}

[ADMIN] Updates the category.

All the fields will be replaced, and optional values not set in the values object will be set to null.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • categoryIdinteger (int32)

    path

    The unique identifier of the category.

    Required
  • updateProjectCategoryValuesupdateProjectCategoryValues

    body

    The project category update values object.

    Required

Responses

  • The updated category object.

    Example JSON

    {
      "projectId": 1,
      "categoryId": 1,
      "name": "string",
      "icon": "string",
      "color": "string",
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PATCH

/v0/projects/{projectId}/categories/{categoryId}

[ADMIN] Updates the category partially.

Only fields included in the value object will be updated, the rest will remain untouched.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • categoryIdinteger (int32)

    path

    The unique identifier of the category.

    Required
  • patchProjectCategoryValuespatchProjectCategoryValues

    body

    The project category patch values object.

    Required

Responses

  • The updated category object.

    Example JSON

    {
      "projectId": 1,
      "categoryId": 1,
      "name": "string",
      "icon": "string",
      "color": "string",
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

DELETE

/v0/projects/{projectId}/categories/{categoryId}

[ADMIN] Deletes the category.

Only categories with no tasks assigned can be deleted.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • categoryIdinteger (int32)

    path

    The unique identifier of the category.

    Required

Responses

  • 200

    no schema

    OK

  • 400

    no schema

    You can't delete the last category.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

  • 409

    no schema

    There are tasks assigned to the category, reassing the tasks before deleting it.

Projects / Design Element Types

5 endpoints
GET

/v0/projects/{projectId}/designelementtypes

Gets the list of design element types of the project.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required

Responses

  • A list of desing element type objects.

    Example JSON

    [
      {
        "projectId": 1,
        "designElementTypeId": 1,
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      }
    ]
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

POST

/v0/projects/{projectId}/designelementtypes

[ADMIN] Creates a design element type.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • createProjectDesignElementTypeValuescreateProjectDesignElementTypeValues

    body

    The design element type creation object.

    Required

Responses

  • A newly created design element type.

    Example JSON

    {
      "projectId": 1,
      "designElementTypeId": 1,
      "name": "string",
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

GET

/v0/projects/{projectId}/designelementtypes/{designElementTypeId}

Gets a design element type.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • designElementTypeIdinteger (int32)

    path

    The unique identifier of the design element type.

    Required

Responses

  • A desing element type object.

    Example JSON

    {
      "projectId": 1,
      "designElementTypeId": 1,
      "name": "string",
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PUT

/v0/projects/{projectId}/designelementtypes/{designElementTypeId}

[ADMIN] Updates a design element type.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • designElementTypeIdinteger (int32)

    path

    The unique identifier of the design element type.

    Required
  • updateProjectDesignElementTypeValuesupdateProjectDesignElementTypeValues

    body

    The design element type update values object.

    Required

Responses

  • The updated design element type.

    Example JSON

    {
      "projectId": 1,
      "designElementTypeId": 1,
      "name": "string",
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

DELETE

/v0/projects/{projectId}/designelementtypes/{designElementTypeId}

[ADMIN] Deletes a design element type.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • designElementTypeIdinteger (int32)

    path

    The unique identifier of the design element type.

    Required
  • targetDesignElementTypeIdinteger (int32)

    body

    The unique identifier of the design element type the elements assigned to the deleted one will be reassigned to. If not defined, they will be reassigned to the first of the list.

    Required

Responses

  • 200

    no schema

    OK

  • 400

    no schema

    The target design element type id does not exist.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

  • 409

    no schema

    The design element type is the last one and can't be deleted.

Projects / Events

1 endpoints
GET

/v0/projects/{projectId}/events

Gets a list of project events.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • fromstring (date-time)

    query

    The minimum date of the events.

    Required
  • tostring (date-time)

    query

    The maximum date of the events.

    Required

Responses

  • 200

    array<projectEvent>

    A list of project event objects.

    Example JSON

    [
      {
        "projectId": 1,
        "name": "string",
        "url": "string",
        "category": {
          "projectId": 1,
          "categoryId": 1,
          "name": "string",
          "icon": "string",
          "color": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "startDate": "2026-01-01T00:00:00Z",
        "endDate": "2026-01-01T00:00:00Z",
        "backgroundColor": "string",
        "textColor": "string",
        "isAllDayEvent": true
      }
    ]
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

Projects / Files

3 endpoints
GET

/v0/projects/{projectId}/files

[ADMIN] Gets all the files in the project.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • offsetinteger (int32)

    query

    The number of items to skip from the result, for pagination. Defaults to 0. Min value 0.

  • limitinteger (int32)

    query

    The max number of items to return, for pagination. Defaults to 20. Min value 1. Max value 100.

Responses

  • 200

    array<projectFile>

    A list of project file objects.

    Example JSON

    [
      {
        "projectId": 1,
        "fileId": 1,
        "name": "string",
        "thumbName": "string",
        "url": "string",
        "thumbUrl": "string",
        "size": 1,
        "isImage": true,
        "user": {
          "id": 1,
          "username": "string",
          "email": "string",
          "name": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "creationDate": "2026-01-01T00:00:00Z"
      }
    ]
  • 400

    no schema

    Invalid offset or limit parameters.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

DELETE

/v0/projects/{projectId}/files/{fileId}

[ADMIN] Remove a file from the project.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • fileIdinteger (int32)

    path

    The unique identifier of the file.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

GET

/v0/projects/{projectId}/storage

Gets storage information about the project.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required

Responses

  • A project storage data object.

    Example JSON

    {
      "projectId": 1,
      "totalSpace": 1,
      "totalUsedSpace": 1,
      "projectUsedSpace": 1,
      "fileLimit": 1
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

Projects / Importance Levels

6 endpoints
GET

/v0/projects/{projectId}/importancelevels

Gets a list of the importance levels of the project.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required

Responses

  • A list of project importance level objects.

    Example JSON

    [
      {
        "projectId": 1,
        "importanceLevelId": 1,
        "name": "string",
        "icon": "string",
        "color": "string",
        "isDefault": true,
        "creationDate": "2026-01-01T00:00:00Z"
      }
    ]
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

POST

/v0/projects/{projectId}/importancelevels

[ADMIN] Creates an importance level.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • createProjectImportanceLevelValuescreateProjectImportanceLevelValues

    body

    The project importance level creation values object.

    Required

Responses

  • A new project importance level object.

    Example JSON

    {
      "projectId": 1,
      "importanceLevelId": 1,
      "name": "string",
      "icon": "string",
      "color": "string",
      "isDefault": true,
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

GET

/v0/projects/{projectId}/importancelevels/{importanceLevelId}

Gets an importance level.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • importanceLevelIdinteger (int32)

    path

    The unique identifier of the importance level.

    Required

Responses

  • An importance level object.

    Example JSON

    {
      "projectId": 1,
      "importanceLevelId": 1,
      "name": "string",
      "icon": "string",
      "color": "string",
      "isDefault": true,
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PUT

/v0/projects/{projectId}/importancelevels/{importanceLevelId}

[ADMIN] Updates the importance level.

All the fields will be replaced, and optional values not set in the values object will be set to null.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • importanceLevelIdinteger (int32)

    path

    The unique identifier of the importance level.

    Required
  • updateProjectImportanceLevelValuesupdateProjectImportanceLevelValues

    body

    The importance level update values object.

    Required

Responses

  • The updated importance level.

    Example JSON

    {
      "projectId": 1,
      "importanceLevelId": 1,
      "name": "string",
      "icon": "string",
      "color": "string",
      "isDefault": true,
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PATCH

/v0/projects/{projectId}/importancelevels/{importanceLevelId}

[ADMIN] Updates the importance level partially.

Only fields included in the value object will be updated, the rest will remain untouched.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • importanceLevelIdinteger (int32)

    path

    The unique identifier of the importance level.

    Required
  • patchProjectImportanceLevelValuespatchProjectImportanceLevelValues

    body

    The importance level patch values object.

    Required

Responses

  • The updated importance level.

    Example JSON

    {
      "projectId": 1,
      "importanceLevelId": 1,
      "name": "string",
      "icon": "string",
      "color": "string",
      "isDefault": true,
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

DELETE

/v0/projects/{projectId}/importancelevels/{importanceLevelId}

[ADMIN] Deletes the importance level.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • importanceLevelIdinteger (int32)

    path

    The unique identifier of the importance level.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

  • 409

    no schema

    The default importance level can't be deleted.

Projects / Roles

6 endpoints
GET

/v0/projects/{projectId}/roles

Gets a list of the roles in the project.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required

Responses

  • 200

    array<projectRole>

    A list of role objects.

    Example JSON

    [
      {
        "projectId": 1,
        "roleId": 1,
        "name": "string",
        "isAdmin": true,
        "creationDate": "2026-01-01T00:00:00Z",
        "permissions": {
          "categoryPermissions": [
            {
              "categoryId": 1,
              "canRead": true,
              "canWrite": true,
              "canUpdate": true
            }
          ],
          "gameDesignModelPermissions": {
            "id": 1,
            "name": "string",
            "canRead": true,
            "canWrite": true
          }
        }
      }
    ]
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

POST

/v0/projects/{projectId}/roles

[ADMIN] Creates a project role.

Parameters

  • projectIdinteger (int32)

    path

    The unique id of the project.

    Required
  • createProjectRoleValuescreateProjectRoleValues

    body

    The project role creation values object.

    Required

Responses

  • A new role object.

    Example JSON

    {
      "projectId": 1,
      "roleId": 1,
      "name": "string",
      "isAdmin": true,
      "creationDate": "2026-01-01T00:00:00Z",
      "permissions": {
        "categoryPermissions": [
          {
            "categoryId": 1,
            "canRead": true,
            "canWrite": true,
            "canUpdate": true
          }
        ],
        "gameDesignModelPermissions": {
          "id": 1,
          "name": "string",
          "canRead": true,
          "canWrite": true
        }
      }
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

GET

/v0/projects/{projectId}/roles/{roleId}

Gets a project role.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • roleIdinteger (int32)

    path

    The unique identifier of the role.

    Required

Responses

  • A role object.

    Example JSON

    {
      "projectId": 1,
      "roleId": 1,
      "name": "string",
      "isAdmin": true,
      "creationDate": "2026-01-01T00:00:00Z",
      "permissions": {
        "categoryPermissions": [
          {
            "categoryId": 1,
            "canRead": true,
            "canWrite": true,
            "canUpdate": true
          }
        ],
        "gameDesignModelPermissions": {
          "id": 1,
          "name": "string",
          "canRead": true,
          "canWrite": true
        }
      }
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PUT

/v0/projects/{projectId}/roles/{roleId}

[ADMIN] Updates the project role.

All the fields will be replaced, and optional values not set in the values object will be set to null.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • roleIdinteger (int32)

    path

    The unique identifier of the role.

    Required
  • updateProjectRoleValuesupdateProjectRoleValues

    body

    The project role update values object.

    Required

Responses

  • 200

    ProjectRole_Internal

    The updated role.

    Example JSON

    {
      "projectId": 1,
      "roleId": 1,
      "name": "string",
      "isAdmin": true,
      "displayOrder": 1,
      "creationDate": "2026-01-01T00:00:00Z",
      "categoryAccess": [
        {
          "categoryId": 1,
          "categoryName": "string",
          "icon": "string",
          "color": "string",
          "canRead": true,
          "canWrite": true,
          "canUpdate": true
        }
      ],
      "designAccess": {
        "id": 1,
        "name": "string",
        "canRead": true,
        "canWrite": true
      },
      "featureAccess": [
        {}
      ]
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PATCH

/v0/projects/{projectId}/roles/{roleId}

[ADMIN] Updates the project role partially.

Only fields included in the value object will be updated, the rest will remain untouched.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • roleIdinteger (int32)

    path

    The unique identifier of the role.

    Required
  • patchProjectRoleValuespatchProjectRoleValues

    body

    The project role patch values object.

    Required

Responses

  • 200

    ProjectRole_Internal

    The updated role.

    Example JSON

    {
      "projectId": 1,
      "roleId": 1,
      "name": "string",
      "isAdmin": true,
      "displayOrder": 1,
      "creationDate": "2026-01-01T00:00:00Z",
      "categoryAccess": [
        {
          "categoryId": 1,
          "categoryName": "string",
          "icon": "string",
          "color": "string",
          "canRead": true,
          "canWrite": true,
          "canUpdate": true
        }
      ],
      "designAccess": {
        "id": 1,
        "name": "string",
        "canRead": true,
        "canWrite": true
      },
      "featureAccess": [
        {}
      ]
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

DELETE

/v0/projects/{projectId}/roles/{roleId}

[ADMIN] Deletes the project role.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • roleIdinteger (int32)

    path

    The unique identifier of the role.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

Projects / Stages

6 endpoints
GET

/v0/projects/{projectId}/stages

Gets a list of the stages in the project.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required

Responses

  • 200

    array<projectStage>

    A list of stage objects.

    Example JSON

    [
      {
        "projectId": 1,
        "stageId": 1,
        "name": "string",
        "icon": "string",
        "color": "string",
        "status": "string",
        "isUnblocker": true,
        "creationDate": "2026-01-01T00:00:00Z"
      }
    ]
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

POST

/v0/projects/{projectId}/stages

[ADMIN] Creates a project stage.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • createProjectStageValuescreateProjectStageValues

    body

    The project stage creation values object.

    Required

Responses

  • A new stage object.

    Example JSON

    {
      "projectId": 1,
      "stageId": 1,
      "name": "string",
      "icon": "string",
      "color": "string",
      "status": "string",
      "isUnblocker": true,
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

GET

/v0/projects/{projectId}/stages/{stageId}

Gets a project stage.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • stageIdinteger (int32)

    path

    The unique identifier of the stage.

    Required

Responses

  • A stage object.

    Example JSON

    {
      "projectId": 1,
      "stageId": 1,
      "name": "string",
      "icon": "string",
      "color": "string",
      "status": "string",
      "isUnblocker": true,
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PUT

/v0/projects/{projectId}/stages/{stageId}

[ADMIN] Updates a project stage.

All the fields will be replaced, and optional values not set in the values object will be set to null.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the object.

    Required
  • stageIdinteger (int32)

    path

    The unique identifier of the stage.

    Required
  • updateProjectStageValuesupdateProjectStageValues

    body

    The project stage update values object.

    Required

Responses

  • 200

    ProjectStage_Internal

    The updated stage.

    Example JSON

    {
      "projectId": 1,
      "stageId": 1,
      "name": "string",
      "icon": "string",
      "color": "string",
      "status": 1,
      "isUnblocker": true,
      "displayOrder": 1,
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PATCH

/v0/projects/{projectId}/stages/{stageId}

[ADMIN] Updates a project stage partially.

Only fields included in the value object will be updated, the rest will remain untouched.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the object.

    Required
  • stageIdinteger (int32)

    path

    The unique identifier of the stage.

    Required
  • patchProjectStageValuespatchProjectStageValues

    body

    The project stage patch values object.

    Required

Responses

  • The updated stage.

    Example JSON

    {
      "projectId": 1,
      "stageId": 1,
      "name": "string",
      "icon": "string",
      "color": "string",
      "status": "string",
      "isUnblocker": true,
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

DELETE

/v0/projects/{projectId}/stages/{stageId}

[ADMIN] Deletes a project stage.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • stageIdinteger (int32)

    path

    The unique identifier of the stage.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

Projects / Tags

5 endpoints
GET

/v0/projects/{projectId}/tags

Gets a list of the project tags.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project

    Required

Responses

  • 200

    array<projectTag>

    A list of project tag objects.

    Example JSON

    [
      {
        "projectId": 1,
        "tagId": 1,
        "name": "string",
        "icon": "string",
        "color": "string",
        "displayIconOnly": true,
        "creationDate": "2026-01-01T00:00:00Z"
      }
    ]
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

POST

/v0/projects/{projectId}/tags

Creates a project tag.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • createProjectTagValuescreateProjectTagValues

    body

    The project tag creation values object.

    Required

Responses

  • A new project tag object.

    Example JSON

    {
      "projectId": 1,
      "tagId": 1,
      "name": "string",
      "icon": "string",
      "color": "string",
      "displayIconOnly": true,
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PUT

/v0/projects/{projectId}/tags/{tagId}

Updates the tag.

All the fields will be replaced, and optional values not set in the values object will be set to null.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • tagIdinteger (int32)

    path

    The unique identifier of the tag.

    Required
  • updateProjectTagValuesupdateProjectTagValues

    body

    The project tag update values object.

    Required

Responses

  • The updated tag.

    Example JSON

    {
      "projectId": 1,
      "tagId": 1,
      "name": "string",
      "icon": "string",
      "color": "string",
      "displayIconOnly": true,
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PATCH

/v0/projects/{projectId}/tags/{tagId}

Updates the tag partially.

Only fields included in the value object will be updated, the rest will remain untouched.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • tagIdinteger (int32)

    path

    The unique identifier of the tag.

    Required
  • patchProjectTagValuespatchProjectTagValues

    body

    The project tag patch values object.

    Required

Responses

  • The updated tag.

    Example JSON

    {
      "projectId": 1,
      "tagId": 1,
      "name": "string",
      "icon": "string",
      "color": "string",
      "displayIconOnly": true,
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

DELETE

/v0/projects/{projectId}/tags/{tagId}

[ADMIN] Deletes the tag.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • tagIdinteger (int32)

    path

    The unique identifier of the tag.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    Project or tag not found.

Projects / Users

7 endpoints
POST

/v0/projects/{projectId}/teams

[ADMIN] Adds a team to the project.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • teamIdinteger (int32)

    body

    The unique identifier of the team within the workspace the project belongs to.

    Required

Responses

  • 201

    array<projectUser>

    A list of new project user objects.

    Example JSON

    [
      {
        "projectId": 1,
        "user": {
          "id": 1,
          "username": "string",
          "email": "string",
          "name": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "isAdmin": true,
        "isGuest": true,
        "isActive": true,
        "creationDate": "2026-01-01T00:00:00Z",
        "permissions": {
          "categoryPermissions": [
            {
              "categoryId": 1,
              "canRead": true,
              "canWrite": true,
              "canUpdate": true
            }
          ],
          "gameDesignModelPermissions": {
            "id": 1,
            "name": "string",
            "canRead": true,
            "canWrite": true
          }
        },
        "role": {
          "projectId": 1,
          "roleId": 1,
          "name": "string",
          "isAdmin": true,
          "creationDate": "2026-01-01T00:00:00Z",
          "permissions": {}
        }
      }
    ]
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    Project or team not found.

GET

/v0/projects/{projectId}/users

Gets the list of users of the project.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • includeInactiveboolean

    query

    True to include inactive users, those who were part of the project in the past but were pushed out. Defaults to false.

  • includeGuestsboolean

    query

    True to include guest users. Defaults to true.

Responses

  • 200

    array<projectUser>

    A list of project user objects.

    Example JSON

    [
      {
        "projectId": 1,
        "user": {
          "id": 1,
          "username": "string",
          "email": "string",
          "name": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "isAdmin": true,
        "isGuest": true,
        "isActive": true,
        "creationDate": "2026-01-01T00:00:00Z",
        "permissions": {
          "categoryPermissions": [
            {
              "categoryId": 1,
              "canRead": true,
              "canWrite": true,
              "canUpdate": true
            }
          ],
          "gameDesignModelPermissions": {
            "id": 1,
            "name": "string",
            "canRead": true,
            "canWrite": true
          }
        },
        "role": {
          "projectId": 1,
          "roleId": 1,
          "name": "string",
          "isAdmin": true,
          "creationDate": "2026-01-01T00:00:00Z",
          "permissions": {}
        }
      }
    ]
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

POST

/v0/projects/{projectId}/users

[ADMIN] Adds a new user to the project.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • createProjectUserValuescreateProjectUserValues

    body

    The values object.

    Required

Responses

  • 200

    no schema

    An invitation email has been sent.

  • A new project user object.

    Example JSON

    {
      "projectId": 1,
      "user": {
        "id": 1,
        "username": "string",
        "email": "string",
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "isAdmin": true,
      "isGuest": true,
      "isActive": true,
      "creationDate": "2026-01-01T00:00:00Z",
      "permissions": {
        "categoryPermissions": [
          {
            "categoryId": 1,
            "canRead": true,
            "canWrite": true,
            "canUpdate": true
          }
        ],
        "gameDesignModelPermissions": {
          "id": 1,
          "name": "string",
          "canRead": true,
          "canWrite": true
        }
      },
      "role": {
        "projectId": 1,
        "roleId": 1,
        "name": "string",
        "isAdmin": true,
        "creationDate": "2026-01-01T00:00:00Z",
        "permissions": {}
      }
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

  • 409

    no schema

    The user is a member of the project already, or the workspace doesn't have free seats (Studio).

GET

/v0/projects/{projectId}/users/{userId}

Gets a project user.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • userIdinteger (int32)

    path

    The unique identifier of the user.

    Required

Responses

  • The project user object.

    Example JSON

    {
      "projectId": 1,
      "user": {
        "id": 1,
        "username": "string",
        "email": "string",
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "isAdmin": true,
      "isGuest": true,
      "isActive": true,
      "creationDate": "2026-01-01T00:00:00Z",
      "permissions": {
        "categoryPermissions": [
          {
            "categoryId": 1,
            "canRead": true,
            "canWrite": true,
            "canUpdate": true
          }
        ],
        "gameDesignModelPermissions": {
          "id": 1,
          "name": "string",
          "canRead": true,
          "canWrite": true
        }
      },
      "role": {
        "projectId": 1,
        "roleId": 1,
        "name": "string",
        "isAdmin": true,
        "creationDate": "2026-01-01T00:00:00Z",
        "permissions": {}
      }
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PUT

/v0/projects/{projectId}/users/{userId}

[ADMIN] Updates the project user.

All the fields will be replaced, and optional values not set in the values object will be set to null.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • userIdinteger (int32)

    path

    The unique identifier of the user.

    Required
  • updateProjectUserValuesupdateProjectUserValues

    body

    The values object.

    Required

Responses

  • 200

    no schema

    OK

  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PATCH

/v0/projects/{projectId}/users/{userId}

[ADMIN] Updates the project user partially.

Only fields included in the value object will be updated, the rest will remain untouched.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • userIdinteger (int32)

    path

    The unique identifier of the user.

    Required
  • patchProjectUserValuespatchProjectUserValues

    body

    The values object.

    Required

Responses

  • 200

    no schema

    OK

  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

DELETE

/v0/projects/{projectId}/users/{userId}

[ADMIN/SELF] Removes a user from the project.

The information of the removed users are not erased from the project, they are kept as inactive for historical reasons.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • userIdinteger (int32)

    path

    The unique identifier of the user.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

Users

1 endpoints
GET

/v0/users/me

Returns the information of the authenticated user

Responses

  • 200

    user

    A existing user object

    Example JSON

    {
      "id": 1,
      "username": "string",
      "email": "string",
      "name": "string",
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 401

    no schema

    Unauthorized

  • 404

    no schema

    NotFound

Webhook

7 endpoints
GET

/v0/projects/{projectId}/webhooks

[ADMIN] Gets the list of webhooks in a project.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required

Responses

  • 200

    array<webhook>

    A list of webhook objects.

    Example JSON

    [
      {
        "projectId": 1,
        "webhookId": 1,
        "url": "string",
        "events": [
          "string"
        ],
        "isEnabled": true,
        "headers": [
          "string"
        ],
        "creator": {
          "projectId": 1,
          "user": {
            "id": 1,
            "username": "string",
            "email": "string",
            "name": "string",
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "isAdmin": true,
          "isGuest": true,
          "isActive": true,
          "creationDate": "2026-01-01T00:00:00Z",
          "permissions": {
            "categoryPermissions": [
              {}
            ],
            "gameDesignModelPermissions": {
              "id": null,
              "name": null,
              "canRead": null,
              "canWrite": null
            }
          },
          "role": {
            "projectId": 1,
            "roleId": 1,
            "name": "string",
            "isAdmin": true,
            "creationDate": "2026-01-01T00:00:00Z",
            "permissions": {}
          }
        },
        "creationDate": "2026-01-01T00:00:00Z"
      }
    ]
  • 403

    no schema

    The authorized user does not have permission to execute the action.

  • 404

    no schema

    Project not found.

POST

/v0/projects/{projectId}/webhooks

[ADMIN] Creates a webhook.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • createWebhookValuescreateWebhookValues

    body

    The webhook creation values object.

    Required

Responses

  • A new webhook object.

    Example JSON

    {
      "projectId": 1,
      "webhookId": 1,
      "url": "string",
      "events": [
        "string"
      ],
      "isEnabled": true,
      "headers": [
        "string"
      ],
      "creator": {
        "projectId": 1,
        "user": {
          "id": 1,
          "username": "string",
          "email": "string",
          "name": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "isAdmin": true,
        "isGuest": true,
        "isActive": true,
        "creationDate": "2026-01-01T00:00:00Z",
        "permissions": {
          "categoryPermissions": [
            {
              "categoryId": null,
              "canRead": null,
              "canWrite": null,
              "canUpdate": null
            }
          ],
          "gameDesignModelPermissions": {
            "id": 1,
            "name": "string",
            "canRead": true,
            "canWrite": true
          }
        },
        "role": {
          "projectId": 1,
          "roleId": 1,
          "name": "string",
          "isAdmin": true,
          "creationDate": "2026-01-01T00:00:00Z",
          "permissions": {}
        }
      },
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 400

    no schema

    Invalid values object.

  • 403

    no schema

    The authorized user does not have permission to execute the action.

  • 404

    no schema

    Project not found.

GET

/v0/projects/{projectId}/webhooks/{webhookId}

[ADMIN] Gets a webhook by its id.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • webhookIdinteger (int32)

    path

    The unique identifier of the webhook.

    Required

Responses

  • A webhook object.

    Example JSON

    {
      "projectId": 1,
      "webhookId": 1,
      "url": "string",
      "events": [
        "string"
      ],
      "isEnabled": true,
      "headers": [
        "string"
      ],
      "creator": {
        "projectId": 1,
        "user": {
          "id": 1,
          "username": "string",
          "email": "string",
          "name": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "isAdmin": true,
        "isGuest": true,
        "isActive": true,
        "creationDate": "2026-01-01T00:00:00Z",
        "permissions": {
          "categoryPermissions": [
            {
              "categoryId": null,
              "canRead": null,
              "canWrite": null,
              "canUpdate": null
            }
          ],
          "gameDesignModelPermissions": {
            "id": 1,
            "name": "string",
            "canRead": true,
            "canWrite": true
          }
        },
        "role": {
          "projectId": 1,
          "roleId": 1,
          "name": "string",
          "isAdmin": true,
          "creationDate": "2026-01-01T00:00:00Z",
          "permissions": {}
        }
      },
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 403

    no schema

    The authorized user does not have permission to execute the action.

  • 404

    no schema

    Webhook not found.

PUT

/v0/projects/{projectId}/webhooks/{webhookId}

[ADMIN] Updates a webhook.

All the fields will be replaced, and optional values not set in the values object will be set to null.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • webhookIdinteger (int32)

    path

    The unique identifier of the webhook.

    Required
  • updateWebhookValuesupdateWebhookValues

    body

    The webhook update values object.

    Required

Responses

  • 200

    no schema

    OK

  • 400

    no schema

    Invalid values object.

  • 403

    no schema

    The authorized user does not have permission to execute the action.

  • 404

    no schema

    Webhook not found.

PATCH

/v0/projects/{projectId}/webhooks/{webhookId}

[ADMIN] Updates a webhook partially.

Only fields included in the value object will be updated, the rest will remain untouched.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • webhookIdinteger (int32)

    path

    The unique identifier of the webhook.

    Required
  • patchWebhookValuespatchWebhookValues

    body

    The webhook patch values object.

    Required

Responses

  • 200

    no schema

    OK

  • 400

    no schema

    Invalid values object.

  • 403

    no schema

    The authorized user does not have permission to execute the action.

  • 404

    no schema

    Webhook not found.

DELETE

/v0/projects/{projectId}/webhooks/{webhookId}

[ADMIN] Deletes a webhook.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • webhookIdinteger (int32)

    path

    The unique identifier of the webhook.

    Required

Responses

  • 200

    no schema

    OK

  • 403

    no schema

    The authorized user does not have permission to execute the action.

  • 404

    no schema

    Webhook not found.

GET

/v0/webhookevents

Gets the list of webhook events.

Responses

  • 200

    array<string>

    A list of webhook events.

    Example JSON

    [
      "string"
    ]

Work Items

7 endpoints
GET

/v0/projects/{projectId}/workitems

Gets a list of work items based on a search criteria.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • boardIdinteger (int32)

    query

    The unique identifier of the board (0 for the backlog).

  • milestoneIdinteger (int32)

    query

    The unique identifier of the milestone.

  • categoryIdinteger (int32)

    query

    The unique identifier of the category.

  • userIdinteger (int32)

    query

    The unique identifier of the assigned user.

  • designElementIdinteger (int32)

    query

    The unique identifier of the design element (0 for items without desing element).

  • stageIdinteger (int32)

    query

    The unique identifier of the stage.

  • importanceLevelIdinteger (int32)

    query

    The unique identifier of the importance level.

  • parentStoryIdinteger (int32)

    query

    The unique identifier of the parent story of the task (0 for items that don't belong to a user story).

  • searchTermsstring

    query

    A string that will be used to filter the results by searching the terms in the title and description fields.

  • offsetinteger (int32)

    query

    The number of items skipped from the results. Defaults to 0. Min value 0.

  • limitinteger (int32)

    query

    The max number of items included in the results, after the offset. Defaults to 20. Min value 1. Max value 100.

  • sortFieldstring

    query

    The field used to sort the results. Possible values: - "id" (default) - "name" - "duedate" - "updatedate" - "closingdate" - "board" - "designelement" - "stage" - "category" - "importancelevel"

  • sortModestring

    query

    The mode used to sort the results. Possible values: - "asc" (default) - "desc"

Responses

  • 200

    pagedResult<workItem>

    A paged list of work item objects.

    Example JSON

    {
      "totalCount": 1,
      "offset": 1,
      "limit": 1,
      "items": [
        {
          "projectId": 1,
          "workItemId": 1,
          "parentStoryId": 1,
          "isStory": true,
          "title": "string",
          "description": "string",
          "category": {
            "projectId": 1,
            "categoryId": 1,
            "name": "string",
            "icon": "string",
            "color": "string",
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "stage": {
            "projectId": 1,
            "stageId": 1,
            "name": "string",
            "icon": "string",
            "color": "string",
            "status": "string",
            "isUnblocker": true,
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "estimatedCost": 1,
          "loggedCost": 1,
          "storyTasksEstimatedCost": 1,
          "storyTasksLoggedCost": 1,
          "boardIndex": 1,
          "designElementIndex": 1,
          "designElement": {
            "index": 1,
            "projectId": 1,
            "designElementId": 1,
            "type": {
              "projectId": null,
              "designElementTypeId": null,
              "name": null,
              "creationDate": null
            },
            "name": "string",
            "prefix": "string",
            "parent": {},
            "children": [
              {}
            ],
            "totalWorkItemCount": 1,
            "closedWorkItemCount": 1,
            "description": "string",
            "startDate": "2026-01-01T00:00:00Z",
            "dueDate": "2026-01-01T00:00:00Z",
            "creationDate": "2026-01-01T00:00:00Z",
            "updateDate": "2026-01-01T00:00:00Z",
            "user": {
              "projectId": null,
              "user": null,
              "isAdmin": null,
              "isGuest": null,
              "isActive": null,
              "creationDate": null,
              "permissions": null,
              "role": null
            }
          },
          "startDate": "2026-01-01T00:00:00Z",
          "dueDate": "2026-01-01T00:00:00Z",
          "updateDate": "2026-01-01T00:00:00Z",
          "closingDate": "2026-01-01T00:00:00Z",
          "creationDate": "2026-01-01T00:00:00Z",
          "user": {
            "id": 1,
            "username": "string",
            "email": "string",
            "name": "string",
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "board": {
            "projectId": 1,
            "boardId": 1,
            "milestoneId": 1,
            "name": "string",
            "description": "string",
            "generalInfo": "string",
            "startDate": "2026-01-01T00:00:00Z",
            "dueDate": "2026-01-01T00:00:00Z",
            "closingDate": "2026-01-01T00:00:00Z",
            "creationDate": "2026-01-01T00:00:00Z",
            "creator": {},
            "isDefault": true
          },
          "assignedUsers": [
            {}
          ],
          "tags": [
            {
              "projectId": 1,
              "tagId": 1,
              "name": "string",
              "icon": "string",
              "color": "string",
              "displayIconOnly": true,
              "creationDate": "2026-01-01T00:00:00Z"
            }
          ],
          "importanceLevel": {
            "projectId": 1,
            "importanceLevelId": 1,
            "name": "string",
            "icon": "string",
            "color": "string",
            "isDefault": true,
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "picture": {
            "projectId": 1,
            "workItemId": 1,
            "attachmentId": 1,
            "file": {
              "projectId": null,
              "fileId": null,
              "name": null,
              "thumbName": null,
              "url": null,
              "thumbUrl": null,
              "size": null,
              "isImage": null,
              "user": null,
              "creationDate": null
            },
            "user": {},
            "isCardPicture": true,
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "hasDependencies": true,
          "isBlocked": true
        }
      ]
    }
  • 400

    no schema

    Invalid offset and limit values.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

POST

/v0/projects/{projectId}/workitems

Creates a new work item.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • createWorkItemValuescreateWorkItemValues

    body

    The work item creation values object.

    Required

Responses

  • A new work item object.

    Example JSON

    {
      "projectId": 1,
      "workItemId": 1,
      "parentStoryId": 1,
      "isStory": true,
      "title": "string",
      "description": "string",
      "category": {
        "projectId": 1,
        "categoryId": 1,
        "name": "string",
        "icon": "string",
        "color": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "stage": {
        "projectId": 1,
        "stageId": 1,
        "name": "string",
        "icon": "string",
        "color": "string",
        "status": "string",
        "isUnblocker": true,
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "estimatedCost": 1,
      "loggedCost": 1,
      "storyTasksEstimatedCost": 1,
      "storyTasksLoggedCost": 1,
      "boardIndex": 1,
      "designElementIndex": 1,
      "designElement": {
        "index": 1,
        "projectId": 1,
        "designElementId": 1,
        "type": {
          "projectId": 1,
          "designElementTypeId": 1,
          "name": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "name": "string",
        "prefix": "string",
        "parent": {},
        "children": [
          {}
        ],
        "totalWorkItemCount": 1,
        "closedWorkItemCount": 1,
        "description": "string",
        "startDate": "2026-01-01T00:00:00Z",
        "dueDate": "2026-01-01T00:00:00Z",
        "creationDate": "2026-01-01T00:00:00Z",
        "updateDate": "2026-01-01T00:00:00Z",
        "user": {
          "projectId": 1,
          "user": {
            "id": 1,
            "username": "string",
            "email": "string",
            "name": "string",
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "isAdmin": true,
          "isGuest": true,
          "isActive": true,
          "creationDate": "2026-01-01T00:00:00Z",
          "permissions": {
            "categoryPermissions": [
              {}
            ],
            "gameDesignModelPermissions": null
          },
          "role": {
            "projectId": 1,
            "roleId": 1,
            "name": "string",
            "isAdmin": true,
            "creationDate": "2026-01-01T00:00:00Z",
            "permissions": {}
          }
        }
      },
      "startDate": "2026-01-01T00:00:00Z",
      "dueDate": "2026-01-01T00:00:00Z",
      "updateDate": "2026-01-01T00:00:00Z",
      "closingDate": "2026-01-01T00:00:00Z",
      "creationDate": "2026-01-01T00:00:00Z",
      "user": {},
      "board": {
        "projectId": 1,
        "boardId": 1,
        "milestoneId": 1,
        "name": "string",
        "description": "string",
        "generalInfo": "string",
        "startDate": "2026-01-01T00:00:00Z",
        "dueDate": "2026-01-01T00:00:00Z",
        "closingDate": "2026-01-01T00:00:00Z",
        "creationDate": "2026-01-01T00:00:00Z",
        "creator": {},
        "isDefault": true
      },
      "assignedUsers": [
        {}
      ],
      "tags": [
        {
          "projectId": 1,
          "tagId": 1,
          "name": "string",
          "icon": "string",
          "color": "string",
          "displayIconOnly": true,
          "creationDate": "2026-01-01T00:00:00Z"
        }
      ],
      "importanceLevel": {
        "projectId": 1,
        "importanceLevelId": 1,
        "name": "string",
        "icon": "string",
        "color": "string",
        "isDefault": true,
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "picture": {
        "projectId": 1,
        "workItemId": 1,
        "attachmentId": 1,
        "file": {
          "projectId": 1,
          "fileId": 1,
          "name": "string",
          "thumbName": "string",
          "url": "string",
          "thumbUrl": "string",
          "size": 1,
          "isImage": true,
          "user": {},
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "user": {},
        "isCardPicture": true,
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "hasDependencies": true,
      "isBlocked": true
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

GET

/v0/projects/{projectId}/workitems/{workItemId}

Gets a work item.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required

Responses

  • A work item object.

    Example JSON

    {
      "projectId": 1,
      "workItemId": 1,
      "parentStoryId": 1,
      "isStory": true,
      "title": "string",
      "description": "string",
      "category": {
        "projectId": 1,
        "categoryId": 1,
        "name": "string",
        "icon": "string",
        "color": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "stage": {
        "projectId": 1,
        "stageId": 1,
        "name": "string",
        "icon": "string",
        "color": "string",
        "status": "string",
        "isUnblocker": true,
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "estimatedCost": 1,
      "loggedCost": 1,
      "storyTasksEstimatedCost": 1,
      "storyTasksLoggedCost": 1,
      "boardIndex": 1,
      "designElementIndex": 1,
      "designElement": {
        "index": 1,
        "projectId": 1,
        "designElementId": 1,
        "type": {
          "projectId": 1,
          "designElementTypeId": 1,
          "name": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "name": "string",
        "prefix": "string",
        "parent": {},
        "children": [
          {}
        ],
        "totalWorkItemCount": 1,
        "closedWorkItemCount": 1,
        "description": "string",
        "startDate": "2026-01-01T00:00:00Z",
        "dueDate": "2026-01-01T00:00:00Z",
        "creationDate": "2026-01-01T00:00:00Z",
        "updateDate": "2026-01-01T00:00:00Z",
        "user": {
          "projectId": 1,
          "user": {
            "id": 1,
            "username": "string",
            "email": "string",
            "name": "string",
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "isAdmin": true,
          "isGuest": true,
          "isActive": true,
          "creationDate": "2026-01-01T00:00:00Z",
          "permissions": {
            "categoryPermissions": [
              {}
            ],
            "gameDesignModelPermissions": null
          },
          "role": {
            "projectId": 1,
            "roleId": 1,
            "name": "string",
            "isAdmin": true,
            "creationDate": "2026-01-01T00:00:00Z",
            "permissions": {}
          }
        }
      },
      "startDate": "2026-01-01T00:00:00Z",
      "dueDate": "2026-01-01T00:00:00Z",
      "updateDate": "2026-01-01T00:00:00Z",
      "closingDate": "2026-01-01T00:00:00Z",
      "creationDate": "2026-01-01T00:00:00Z",
      "user": {},
      "board": {
        "projectId": 1,
        "boardId": 1,
        "milestoneId": 1,
        "name": "string",
        "description": "string",
        "generalInfo": "string",
        "startDate": "2026-01-01T00:00:00Z",
        "dueDate": "2026-01-01T00:00:00Z",
        "closingDate": "2026-01-01T00:00:00Z",
        "creationDate": "2026-01-01T00:00:00Z",
        "creator": {},
        "isDefault": true
      },
      "assignedUsers": [
        {}
      ],
      "tags": [
        {
          "projectId": 1,
          "tagId": 1,
          "name": "string",
          "icon": "string",
          "color": "string",
          "displayIconOnly": true,
          "creationDate": "2026-01-01T00:00:00Z"
        }
      ],
      "importanceLevel": {
        "projectId": 1,
        "importanceLevelId": 1,
        "name": "string",
        "icon": "string",
        "color": "string",
        "isDefault": true,
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "picture": {
        "projectId": 1,
        "workItemId": 1,
        "attachmentId": 1,
        "file": {
          "projectId": 1,
          "fileId": 1,
          "name": "string",
          "thumbName": "string",
          "url": "string",
          "thumbUrl": "string",
          "size": 1,
          "isImage": true,
          "user": {},
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "user": {},
        "isCardPicture": true,
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "hasDependencies": true,
      "isBlocked": true
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

POST

/v0/projects/{projectId}/workitems/{workItemId}

Clones an existing work item.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PUT

/v0/projects/{projectId}/workitems/{workItemId}

Updates the work item.

All the fields will be replaced, and optional values not set in the values object will be set to null.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • updateWorkItemValuesupdateWorkItemValues

    body

    The work item update values object.

    Required

Responses

  • 200

    no schema

    OK

  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PATCH

/v0/projects/{projectId}/workitems/{workItemId}

Updates the work item partially

Only fields included in the value object will be updated, the rest will remain untouched.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • patchWorkItemValuespatchWorkItemValues

    body

    The work item patch values object.

    Required

Responses

  • 200

    no schema

    OK

  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

DELETE

/v0/projects/{projectId}/workitems/{workItemId}

Deletes a work item.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

Work Items / Attachments

5 endpoints
GET

/v0/projects/{projectId}/workitems/{workItemId}/attachments

Gets the list of attachments of the work item.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • offsetinteger (int32)

    query

    The number of items skipped from the results. Defaults to 0. Min value 0.

  • limitinteger (int32)

    query

    The max number of items included in the results, after the offset. Defaults to 20. Min value 1. Max value 100.

Responses

  • 200

    pagedResult<workItemAttachment>

    A list of work item attachment objects.

    Example JSON

    {
      "totalCount": 1,
      "offset": 1,
      "limit": 1,
      "items": [
        {
          "projectId": 1,
          "workItemId": 1,
          "attachmentId": 1,
          "file": {
            "projectId": 1,
            "fileId": 1,
            "name": "string",
            "thumbName": "string",
            "url": "string",
            "thumbUrl": "string",
            "size": 1,
            "isImage": true,
            "user": {
              "id": null,
              "username": null,
              "email": null,
              "name": null,
              "creationDate": null
            },
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "user": {},
          "isCardPicture": true,
          "creationDate": "2026-01-01T00:00:00Z"
        }
      ]
    }
  • 400

    no schema

    Invalid offset and limit values.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

POST

/v0/projects/{projectId}/workitems/{workItemId}/attachments

Creates a new work item attachment from MIME multipart content.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required

Responses

  • A new work item attachment object.

    Example JSON

    {
      "projectId": 1,
      "workItemId": 1,
      "attachmentId": 1,
      "file": {
        "projectId": 1,
        "fileId": 1,
        "name": "string",
        "thumbName": "string",
        "url": "string",
        "thumbUrl": "string",
        "size": 1,
        "isImage": true,
        "user": {
          "id": 1,
          "username": "string",
          "email": "string",
          "name": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "user": {},
      "isCardPicture": true,
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 400

    no schema

    File size limit exceeded.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

  • 409

    no schema

    Account storage limit exceeded.

  • 415

    no schema

    The content is not MIME multipart content.

GET

/v0/projects/{projectId}/workitems/{workItemId}/attachments/{attachmentId}

Gets a work item attachment.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • attachmentIdinteger (int32)

    path

    The unique identifier of the attachment.

    Required

Responses

  • A work item attachment object.

    Example JSON

    {
      "projectId": 1,
      "workItemId": 1,
      "attachmentId": 1,
      "file": {
        "projectId": 1,
        "fileId": 1,
        "name": "string",
        "thumbName": "string",
        "url": "string",
        "thumbUrl": "string",
        "size": 1,
        "isImage": true,
        "user": {
          "id": 1,
          "username": "string",
          "email": "string",
          "name": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "user": {},
      "isCardPicture": true,
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PUT

/v0/projects/{projectId}/workitems/{workItemId}/attachments/{attachmentId}

Sets / unsets a work item attachment as the card picture.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • attachmentIdinteger (int32)

    path

    The unique identifier of the attachment.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

DELETE

/v0/projects/{projectId}/workitems/{workItemId}/attachments/{attachmentId}

Deletes a work item attachment.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • attachmentIdinteger (int32)

    path

    The unique identifier of the attachment.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

Work Items / Comments

5 endpoints
GET

/v0/projects/{projectId}/workitems/{workItemId}/comments

Gets a paged list of comments from a work item.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • offsetinteger (int32)

    query

    The number of items skipped from the results. Defaults to 0. Min value 0.

  • limitinteger (int32)

    query

    The max number of items included in the results, after the offset. Defaults to 20. Min value 1. Max value 100.

Responses

  • 200

    pagedResult<workItemComment>

    A paged list of work item comment objects.

    Example JSON

    {
      "totalCount": 1,
      "offset": 1,
      "limit": 1,
      "items": [
        {
          "projectId": 1,
          "workItemId": 1,
          "commentId": 1,
          "text": "string",
          "user": {
            "id": 1,
            "username": "string",
            "email": "string",
            "name": "string",
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "workLog": {
            "projectId": 1,
            "workItemId": 1,
            "workLogId": 1,
            "user": {},
            "value": 1,
            "comment": "string",
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "creationDate": "2026-01-01T00:00:00Z",
          "updateDate": "2026-01-01T00:00:00Z"
        }
      ]
    }
  • 400

    no schema

    Invalid offset and limit values.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

POST

/v0/projects/{projectId}/workitems/{workItemId}/comments

Creates a new comment for the work item.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • textstring

    body

    The text of the message. Max 5000 chars.

    Required

Responses

  • A new work item comment object.

    Example JSON

    {
      "projectId": 1,
      "workItemId": 1,
      "commentId": 1,
      "text": "string",
      "user": {
        "id": 1,
        "username": "string",
        "email": "string",
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "workLog": {
        "projectId": 1,
        "workItemId": 1,
        "workLogId": 1,
        "user": {},
        "value": 1,
        "comment": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "creationDate": "2026-01-01T00:00:00Z",
      "updateDate": "2026-01-01T00:00:00Z"
    }
  • 400

    no schema

    Invalid comment text.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

GET

/v0/projects/{projectId}/workitems/{workItemId}/comments/{commentId}

Gets a work item comment.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • commentIdinteger (int32)

    path

    The unique identifier of the comment.

    Required

Responses

  • A work item comment object.

    Example JSON

    {
      "projectId": 1,
      "workItemId": 1,
      "commentId": 1,
      "text": "string",
      "user": {
        "id": 1,
        "username": "string",
        "email": "string",
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "workLog": {
        "projectId": 1,
        "workItemId": 1,
        "workLogId": 1,
        "user": {},
        "value": 1,
        "comment": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "creationDate": "2026-01-01T00:00:00Z",
      "updateDate": "2026-01-01T00:00:00Z"
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PUT

/v0/projects/{projectId}/workitems/{workItemId}/comments/{commentId}

Updates a work item comment.

Only the author of the comment can update it.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • commentIdinteger (int32)

    path

    The unique identifier of the comment.

    Required
  • textstring

    body

    The text of the comment. Max 5000 chars.

    Required

Responses

  • A new work item comment object.

    Example JSON

    {
      "projectId": 1,
      "workItemId": 1,
      "commentId": 1,
      "text": "string",
      "user": {
        "id": 1,
        "username": "string",
        "email": "string",
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "workLog": {
        "projectId": 1,
        "workItemId": 1,
        "workLogId": 1,
        "user": {},
        "value": 1,
        "comment": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "creationDate": "2026-01-01T00:00:00Z",
      "updateDate": "2026-01-01T00:00:00Z"
    }
  • 400

    no schema

    Invalid comment text.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

DELETE

/v0/projects/{projectId}/workitems/{workItemId}/comments/{commentId}

Deletes a work item comment.

Only the author of the comment and admins can delete it.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • commentIdinteger (int32)

    path

    The unique identifier of the comment.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

Work Items / Dependencies

4 endpoints
GET

/v0/projects/{projectId}/workitems/{workItemId}/dependencies

Gets the list of dependencies of the work items.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required

Responses

  • A list of work item dependency objects.

    Example JSON

    [
      {
        "workItem": {
          "projectId": 1,
          "workItemId": 1,
          "parentStoryId": 1,
          "isStory": true,
          "title": "string",
          "description": "string",
          "category": {
            "projectId": 1,
            "categoryId": 1,
            "name": "string",
            "icon": "string",
            "color": "string",
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "stage": {
            "projectId": 1,
            "stageId": 1,
            "name": "string",
            "icon": "string",
            "color": "string",
            "status": "string",
            "isUnblocker": true,
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "estimatedCost": 1,
          "loggedCost": 1,
          "storyTasksEstimatedCost": 1,
          "storyTasksLoggedCost": 1,
          "boardIndex": 1,
          "designElementIndex": 1,
          "designElement": {
            "index": 1,
            "projectId": 1,
            "designElementId": 1,
            "type": {
              "projectId": null,
              "designElementTypeId": null,
              "name": null,
              "creationDate": null
            },
            "name": "string",
            "prefix": "string",
            "parent": {},
            "children": [
              {}
            ],
            "totalWorkItemCount": 1,
            "closedWorkItemCount": 1,
            "description": "string",
            "startDate": "2026-01-01T00:00:00Z",
            "dueDate": "2026-01-01T00:00:00Z",
            "creationDate": "2026-01-01T00:00:00Z",
            "updateDate": "2026-01-01T00:00:00Z",
            "user": {
              "projectId": null,
              "user": null,
              "isAdmin": null,
              "isGuest": null,
              "isActive": null,
              "creationDate": null,
              "permissions": null,
              "role": null
            }
          },
          "startDate": "2026-01-01T00:00:00Z",
          "dueDate": "2026-01-01T00:00:00Z",
          "updateDate": "2026-01-01T00:00:00Z",
          "closingDate": "2026-01-01T00:00:00Z",
          "creationDate": "2026-01-01T00:00:00Z",
          "user": {
            "id": 1,
            "username": "string",
            "email": "string",
            "name": "string",
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "board": {
            "projectId": 1,
            "boardId": 1,
            "milestoneId": 1,
            "name": "string",
            "description": "string",
            "generalInfo": "string",
            "startDate": "2026-01-01T00:00:00Z",
            "dueDate": "2026-01-01T00:00:00Z",
            "closingDate": "2026-01-01T00:00:00Z",
            "creationDate": "2026-01-01T00:00:00Z",
            "creator": {},
            "isDefault": true
          },
          "assignedUsers": [
            {}
          ],
          "tags": [
            {
              "projectId": 1,
              "tagId": 1,
              "name": "string",
              "icon": "string",
              "color": "string",
              "displayIconOnly": true,
              "creationDate": "2026-01-01T00:00:00Z"
            }
          ],
          "importanceLevel": {
            "projectId": 1,
            "importanceLevelId": 1,
            "name": "string",
            "icon": "string",
            "color": "string",
            "isDefault": true,
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "picture": {
            "projectId": 1,
            "workItemId": 1,
            "attachmentId": 1,
            "file": {
              "projectId": null,
              "fileId": null,
              "name": null,
              "thumbName": null,
              "url": null,
              "thumbUrl": null,
              "size": null,
              "isImage": null,
              "user": null,
              "creationDate": null
            },
            "user": {},
            "isCardPicture": true,
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "hasDependencies": true,
          "isBlocked": true
        },
        "isResolved": true
      }
    ]
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

POST

/v0/projects/{projectId}/workitems/{workItemId}/dependencies

Creates a new dependency for the work item.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • dependencyIdinteger (int32)

    body

    The unique identifier of the dependency (work item).

    Required

Responses

  • 201

    no schema

    Created

  • 400

    no schema

    Invalid dependency.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

GET

/v0/projects/{projectId}/workitems/{workItemId}/dependencies/{dependencyId}

Gets a work item dependency.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • dependencyIdinteger (int32)

    path

    The unique identifier of the dependency (work item).

    Required

Responses

  • A work item dependency object.

    Example JSON

    {
      "workItem": {
        "projectId": 1,
        "workItemId": 1,
        "parentStoryId": 1,
        "isStory": true,
        "title": "string",
        "description": "string",
        "category": {
          "projectId": 1,
          "categoryId": 1,
          "name": "string",
          "icon": "string",
          "color": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "stage": {
          "projectId": 1,
          "stageId": 1,
          "name": "string",
          "icon": "string",
          "color": "string",
          "status": "string",
          "isUnblocker": true,
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "estimatedCost": 1,
        "loggedCost": 1,
        "storyTasksEstimatedCost": 1,
        "storyTasksLoggedCost": 1,
        "boardIndex": 1,
        "designElementIndex": 1,
        "designElement": {
          "index": 1,
          "projectId": 1,
          "designElementId": 1,
          "type": {
            "projectId": 1,
            "designElementTypeId": 1,
            "name": "string",
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "name": "string",
          "prefix": "string",
          "parent": {},
          "children": [
            {}
          ],
          "totalWorkItemCount": 1,
          "closedWorkItemCount": 1,
          "description": "string",
          "startDate": "2026-01-01T00:00:00Z",
          "dueDate": "2026-01-01T00:00:00Z",
          "creationDate": "2026-01-01T00:00:00Z",
          "updateDate": "2026-01-01T00:00:00Z",
          "user": {
            "projectId": 1,
            "user": null,
            "isAdmin": true,
            "isGuest": true,
            "isActive": true,
            "creationDate": "2026-01-01T00:00:00Z",
            "permissions": null,
            "role": null
          }
        },
        "startDate": "2026-01-01T00:00:00Z",
        "dueDate": "2026-01-01T00:00:00Z",
        "updateDate": "2026-01-01T00:00:00Z",
        "closingDate": "2026-01-01T00:00:00Z",
        "creationDate": "2026-01-01T00:00:00Z",
        "user": {},
        "board": {
          "projectId": 1,
          "boardId": 1,
          "milestoneId": 1,
          "name": "string",
          "description": "string",
          "generalInfo": "string",
          "startDate": "2026-01-01T00:00:00Z",
          "dueDate": "2026-01-01T00:00:00Z",
          "closingDate": "2026-01-01T00:00:00Z",
          "creationDate": "2026-01-01T00:00:00Z",
          "creator": {},
          "isDefault": true
        },
        "assignedUsers": [
          {}
        ],
        "tags": [
          {
            "projectId": 1,
            "tagId": 1,
            "name": "string",
            "icon": "string",
            "color": "string",
            "displayIconOnly": true,
            "creationDate": "2026-01-01T00:00:00Z"
          }
        ],
        "importanceLevel": {
          "projectId": 1,
          "importanceLevelId": 1,
          "name": "string",
          "icon": "string",
          "color": "string",
          "isDefault": true,
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "picture": {
          "projectId": 1,
          "workItemId": 1,
          "attachmentId": 1,
          "file": {
            "projectId": 1,
            "fileId": 1,
            "name": "string",
            "thumbName": "string",
            "url": "string",
            "thumbUrl": "string",
            "size": 1,
            "isImage": true,
            "user": {},
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "user": {},
          "isCardPicture": true,
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "hasDependencies": true,
        "isBlocked": true
      },
      "isResolved": true
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

DELETE

/v0/projects/{projectId}/workitems/{workItemId}/dependencies/{dependencyId}

Removes a work item dependency.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • dependencyIdinteger (int32)

    path

    The unique identifier of the dependency (work item).

    Required

Responses

  • 201

    no schema

    Created

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

Work Items / Subtasks

6 endpoints
GET

/v0/projects/{projectId}/workitems/{workItemId}/subtasks

Gets the list of subtasks of the work item.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required

Responses

  • 200

    array<workItemSubTask>

    A list of work item subtask objects.

    Example JSON

    [
      {
        "projectId": 1,
        "workItemId": 1,
        "subTaskId": 1,
        "title": "string",
        "isCompleted": true,
        "index": 1,
        "creationDate": "2026-01-01T00:00:00Z"
      }
    ]
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

POST

/v0/projects/{projectId}/workitems/{workItemId}/subtasks

Creates a new work item subtask.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • titlestring

    body

    The title of the subtask.

    Required

Responses

  • 200

    array<workItemSubTask>

    A list of work item subtask objects.

    Example JSON

    [
      {
        "projectId": 1,
        "workItemId": 1,
        "subTaskId": 1,
        "title": "string",
        "isCompleted": true,
        "index": 1,
        "creationDate": "2026-01-01T00:00:00Z"
      }
    ]
  • 400

    no schema

    Invalid subtask title.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

GET

/v0/projects/{projectId}/workitems/{workItemId}/subtasks/{subTaskId}

Gets a work item subtask.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • subTaskIdinteger (int32)

    path

    The unique identifier of the subtask.

    Required

Responses

  • A work item comment object.

    Example JSON

    {
      "projectId": 1,
      "workItemId": 1,
      "commentId": 1,
      "text": "string",
      "user": {
        "id": 1,
        "username": "string",
        "email": "string",
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "workLog": {
        "projectId": 1,
        "workItemId": 1,
        "workLogId": 1,
        "user": {},
        "value": 1,
        "comment": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "creationDate": "2026-01-01T00:00:00Z",
      "updateDate": "2026-01-01T00:00:00Z"
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PUT

/v0/projects/{projectId}/workitems/{workItemId}/subtasks/{subTaskId}

Updates a work item subtask.

All the fields will be replaced, and optional values not set in the values object will be set to null.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • subTaskIdinteger (int32)

    path

    The unique identifier of the subtask.

    Required
  • updateWorkItemSubTaskValuesupdateWorkItemSubTaskValues

    body

    The work item subtask update values object.

    Required

Responses

  • 200

    no schema

    OK

  • 400

    no schema

    Invalid subtask title.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PATCH

/v0/projects/{projectId}/workitems/{workItemId}/subtasks/{subTaskId}

Updates a work item subtask partially.

Only fields included in the value object will be updated, the rest will remain untouched.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • subTaskIdinteger (int32)

    path

    The unique identifier of the subtask.

    Required
  • patchWorkItemSubTaskValuespatchWorkItemSubTaskValues

    body

    The work item subtask update values object.

    Required

Responses

  • 200

    no schema

    OK

  • 400

    no schema

    Invalid subtask title.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

DELETE

/v0/projects/{projectId}/workitems/{workItemId}/subtasks/{subTaskId}

Deletes a work item.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • subTaskIdinteger (int32)

    path

    The unique identifier of the subtask.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

Work Items / Tags

3 endpoints
GET

/v0/projects/{projectId}/workitems/{workItemId}/tags

Gets the list of tags of the work item.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required

Responses

  • 200

    array<ProjectTag_Internal>

    A list of tag objects.

    Example JSON

    [
      {
        "projectId": 1,
        "tagId": 1,
        "displayOrder": 1,
        "name": "string",
        "groupName": "string",
        "color": "string",
        "icon": "string",
        "displayIconOnly": true,
        "creationDate": "2026-01-01T00:00:00Z"
      }
    ]
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

POST

/v0/projects/{projectId}/workitems/{workItemId}/tags

Assigns a project tag to a work item.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • tagIdinteger (int32)

    body

    The unique identifier of the tag.

    Required

Responses

  • 201

    no schema

    Created

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

  • 409

    no schema

    The tag is already assigned to the work item.

DELETE

/v0/projects/{projectId}/workitems/{workItemId}/tags/{tagId}

Removes a tag from a work item.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of a work item.

    Required
  • tagIdinteger (int32)

    path

    The unique identifier of the tag.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

Work Items / Users

2 endpoints
POST

/v0/projects/{projectId}/workitems/{workItemId}/users

Assigns a user to a work item

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • userIdinteger (int32)

    body

    The unique identifier of the user.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

  • 409

    no schema

    The user is inactive

DELETE

/v0/projects/{projectId}/workitems/{workItemId}/users/{userId}

Unassigns a user from a work item.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • userIdinteger (int32)

    path

    The unique identifier of the user.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

Work Items / Work Logs

5 endpoints
GET

/v0/projects/{projectId}/workitems/{workItemId}/worklogs

Gets the list of logs of the work item.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required

Responses

  • 200

    array<workLog>

    A list of work log objects.

    Example JSON

    [
      {
        "projectId": 1,
        "workItemId": 1,
        "workLogId": 1,
        "user": {
          "id": 1,
          "username": "string",
          "email": "string",
          "name": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "value": 1,
        "comment": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      }
    ]
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

POST

/v0/projects/{projectId}/workitems/{workItemId}/worklogs

Creates a new work log.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • createWorkLogValuescreateWorkLogValues

    body

    The work log creation values object.

    Required

Responses

  • A new work log object.

    Example JSON

    {
      "projectId": 1,
      "workItemId": 1,
      "workLogId": 1,
      "user": {
        "id": 1,
        "username": "string",
        "email": "string",
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "value": 1,
      "comment": "string",
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 400

    no schema

    Invalid values object.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

GET

/v0/projects/{projectId}/workitems/{workItemId}/worklogs/{workLogId}

Gets a worklog by its id.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • workLogIdinteger (int32)

    path

    The unique identifier of the work log.

    Required

Responses

  • A work log object.

    Example JSON

    {
      "projectId": 1,
      "workItemId": 1,
      "workLogId": 1,
      "user": {
        "id": 1,
        "username": "string",
        "email": "string",
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "value": 1,
      "comment": "string",
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

PUT

/v0/projects/{projectId}/workitems/{workItemId}/worklogs/{workLogId}

Updates a work log.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • workLogIdinteger (int32)

    path

    The unique identifier of the work log.

    Required
  • valuenumber (float)

    body

    The value of the work log.

    Required

Responses

  • A new work log object.

    Example JSON

    {
      "projectId": 1,
      "workItemId": 1,
      "workLogId": 1,
      "user": {
        "id": 1,
        "username": "string",
        "email": "string",
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "value": 1,
      "comment": "string",
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 400

    no schema

    Invalid log value.

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

DELETE

/v0/projects/{projectId}/workitems/{workItemId}/worklogs/{workLogId}

Deletes the work log.

Parameters

  • projectIdinteger (int32)

    path

    The unique identifier of the project.

    Required
  • workItemIdinteger (int32)

    path

    The unique identifier of the work item.

    Required
  • workLogIdinteger (int32)

    path

    The unique identifier of the work log.

    Required

Responses

  • 200

    no schema

    OK

  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

Workspaces

2 endpoints
GET

/v0/workspaces

Gets the list of workspaces the user belongs to.

Parameters

  • includeProjectsboolean

    query

    True to include the list of workspace projects in the result. Defaults to false.

  • onlyAdminboolean

    query

    True to only return workspaces the user is admin of. Defaults to false.

  • onlyOwnerboolean

    query

    True to only return the workspace the user owns, if any. Defaults to false.

Responses

  • 200

    array<workspace>

    A list of workspace objects.

    Example JSON

    [
      {
        "id": 1,
        "name": "string",
        "owner": {
          "id": 1,
          "username": "string",
          "email": "string",
          "name": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "generalInfo": "string",
        "totalSeats": 1,
        "usedSeats": 1,
        "creationDate": "2026-01-01T00:00:00Z",
        "projects": [
          {
            "id": 1,
            "workspaceId": 1,
            "name": "string",
            "description": "string",
            "generalInfo": "string",
            "closingDate": "2026-01-01T00:00:00Z",
            "creationDate": "2026-01-01T00:00:00Z",
            "owner": {},
            "costMetric": "string",
            "isDemo": true,
            "hoursPerDay": 1,
            "moduleConfig": {
              "workItems": true,
              "workItemCategories": true,
              "workItemDates": true,
              "workItemCosts": true,
              "workItemSubTasks": true,
              "workItemDependencies": true,
              "workItemAttachments": true,
              "workItemComments": true,
              "workItemTags": true,
              "gameDesignModel": true,
              "gameDesignModelTypes": true,
              "gameDesignModelDates": true,
              "gameDesignModelAttachments": true,
              "gameDesignModelComments": true,
              "calendar": true,
              "burndownChart": true,
              "ganttChart": true,
              "metrics": true,
              "activity": true,
              "notifications": true,
              "forceWorkItemDesignElement": true,
              "forceWorkItemBoard": true,
              "forceWorkItemEstimatedCost": true,
              "forceWorkItemDueDate": true,
              "forceWorkItemDescription": true,
              "forceWorkItemUser": true,
              "forceWorkItemTag": true
            },
            "defaultBoardId": 1
          }
        ]
      }
    ]
  • 401

    no schema

    Unauthorized

GET

/v0/workspaces/{workspaceId}

Gets a workspace object.

Parameters

  • workspaceIdinteger (int32)

    path

    The unique id of the workspace.

    Required
  • includeProjectsboolean

    query

    True if the workspace should include a list of the contained projects. Defaults to false.

Responses

  • A workspace object.

    Example JSON

    {
      "id": 1,
      "name": "string",
      "owner": {
        "id": 1,
        "username": "string",
        "email": "string",
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "generalInfo": "string",
      "totalSeats": 1,
      "usedSeats": 1,
      "creationDate": "2026-01-01T00:00:00Z",
      "projects": [
        {
          "id": 1,
          "workspaceId": 1,
          "name": "string",
          "description": "string",
          "generalInfo": "string",
          "closingDate": "2026-01-01T00:00:00Z",
          "creationDate": "2026-01-01T00:00:00Z",
          "owner": {},
          "costMetric": "string",
          "isDemo": true,
          "hoursPerDay": 1,
          "moduleConfig": {
            "workItems": true,
            "workItemCategories": true,
            "workItemDates": true,
            "workItemCosts": true,
            "workItemSubTasks": true,
            "workItemDependencies": true,
            "workItemAttachments": true,
            "workItemComments": true,
            "workItemTags": true,
            "gameDesignModel": true,
            "gameDesignModelTypes": true,
            "gameDesignModelDates": true,
            "gameDesignModelAttachments": true,
            "gameDesignModelComments": true,
            "calendar": true,
            "burndownChart": true,
            "ganttChart": true,
            "metrics": true,
            "activity": true,
            "notifications": true,
            "forceWorkItemDesignElement": true,
            "forceWorkItemBoard": true,
            "forceWorkItemEstimatedCost": true,
            "forceWorkItemDueDate": true,
            "forceWorkItemDescription": true,
            "forceWorkItemUser": true,
            "forceWorkItemTag": true
          },
          "defaultBoardId": 1
        }
      ]
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

Workspaces / Teams

2 endpoints
GET

/v0/workspaces/{workspaceId}/teams

Gets a list of the teams in the workspace.

Parameters

  • workspaceIdinteger (int32)

    path

    The unique identifier of the workspace.

    Required

Responses

  • 200

    array<workspaceTeam>

    A list of workspace team objects.

    Example JSON

    [
      {
        "workspaceId": 1,
        "teamId": 1,
        "name": "string",
        "users": [
          {
            "workspaceId": 1,
            "user": {
              "id": 1,
              "username": "string",
              "email": "string",
              "name": "string",
              "creationDate": "2026-01-01T00:00:00Z"
            },
            "teamId": 1,
            "isAdmin": true,
            "isGuest": true,
            "isActive": true,
            "creationDate": "2026-01-01T00:00:00Z"
          }
        ],
        "creator": {},
        "creationDate": "2026-01-01T00:00:00Z"
      }
    ]
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

GET

/v0/workspaces/{workspaceId}/teams/{teamId}

Get a workspace team by id.

Parameters

  • workspaceIdinteger (int32)

    path

    The unique identifier of the workspace.

    Required
  • teamIdinteger (int32)

    path

    The unique identifier of the team within the workspace.

    Required

Responses

  • A workspace team object.

    Example JSON

    {
      "workspaceId": 1,
      "teamId": 1,
      "name": "string",
      "users": [
        {
          "workspaceId": 1,
          "user": {
            "id": 1,
            "username": "string",
            "email": "string",
            "name": "string",
            "creationDate": "2026-01-01T00:00:00Z"
          },
          "teamId": 1,
          "isAdmin": true,
          "isGuest": true,
          "isActive": true,
          "creationDate": "2026-01-01T00:00:00Z"
        }
      ],
      "creator": {},
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

Workspaces / Users

2 endpoints
GET

/v0/workspaces/{workspaceId}/users

Gets a list of the users of the workspace.

Parameters

  • workspaceIdinteger (int32)

    path

    The unique identifier of the workspace.

    Required
  • includeInactiveboolean

    query

    True to include the users that were part of the workspace but are currently inactive. Defaults to false.

Responses

  • 200

    array<workspaceUser>

    A list of workspace user objects.

    Example JSON

    [
      {
        "workspaceId": 1,
        "user": {
          "id": 1,
          "username": "string",
          "email": "string",
          "name": "string",
          "creationDate": "2026-01-01T00:00:00Z"
        },
        "teamId": 1,
        "isAdmin": true,
        "isGuest": true,
        "isActive": true,
        "creationDate": "2026-01-01T00:00:00Z"
      }
    ]
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound

GET

/v0/workspaces/{workspaceId}/users/{userId}

Gets a workspace user.

Parameters

  • workspaceIdinteger (int32)

    path

    The unique identifier of the workspace.

    Required
  • userIdinteger (int32)

    path

    The unique identifier of the user.

    Required

Responses

  • A workspace user object.

    Example JSON

    {
      "workspaceId": 1,
      "user": {
        "id": 1,
        "username": "string",
        "email": "string",
        "name": "string",
        "creationDate": "2026-01-01T00:00:00Z"
      },
      "teamId": 1,
      "isAdmin": true,
      "isGuest": true,
      "isActive": true,
      "creationDate": "2026-01-01T00:00:00Z"
    }
  • 401

    no schema

    Unauthorized

  • 403

    no schema

    Forbidden

  • 404

    no schema

    NotFound