Project API Procedures
createProject
- Purpose: Create a new project
- Parameters:
- name (string, required)
- description (string, optional)
- owner_id (integer, optional)
- identifier (alphanumeric string, optional)
- start_date ISO8601 format (string, optional)
- end_date ISO8601 format (string, optional)
- priority_default (integer, optional)
- priority_start (integer, optional)
- priority_end (integer, optional)
- email (string, optional)
- Result on success: project_id
- Result on failure: false
Request example:
{
"jsonrpc": "2.0",
"method": "createProject",
"id": 1797076613,
"params": {
"name": "PHP client"
}
}
Response example:
{
"jsonrpc": "2.0",
"id": 1797076613,
"result": 2
}
getProjectById
- Purpose: Get project information
- Parameters:
- project_id (integer, required)
- Result on success: project properties
- Result on failure: null
Request example:
{
"jsonrpc": "2.0",
"method": "getProjectById",
"id": 226760253,
"params": {
"project_id": 1
}
}
Response example (Kanboard 1.2.54, PostgreSQL 17, PHP 8.4):
{
"jsonrpc": "2.0",
"id": 226760253,
"result": {
"id": 1,
"name": "API check",
"is_active": true,
"token": "",
"last_modified": 1794435881,
"is_public": false,
"is_private": false,
"description": null,
"identifier": "",
"start_date": "",
"end_date": "",
"owner_id": 1,
"priority_default": 0,
"priority_start": 0,
"priority_end": 3,
"email": null,
"predefined_email_subjects": null,
"per_swimlane_task_limits": false,
"task_limit": 0,
"enable_global_tags": true,
"url": {
"board": "http://localhost/?controller=BoardViewController&action=show&project_id=1",
"list": "http://localhost/?controller=TaskListController&action=show&project_id=1"
}
}
}
getProjectByName
- Purpose: Get project information
- Parameters:
- name (string, required)
- Result on success: project properties
- Result on failure: null
Request example:
{
"jsonrpc": "2.0",
"method": "getProjectByName",
"id": 1620253806,
"params": {
"name": "API check"
}
}
Response example:
{
"jsonrpc": "2.0",
"id": 1620253806,
"result": {
"id": 1,
"name": "API check",
"is_active": true,
"token": "",
"last_modified": 1794435881,
"is_public": false,
"is_private": false,
"description": null,
"identifier": "",
"start_date": "",
"end_date": "",
"owner_id": 1,
"priority_default": 0,
"priority_start": 0,
"priority_end": 3,
"email": null,
"predefined_email_subjects": null,
"per_swimlane_task_limits": false,
"task_limit": 0,
"enable_global_tags": true,
"url": {
"board": "http://localhost/?controller=BoardViewController&action=show&project_id=1",
"list": "http://localhost/?controller=TaskListController&action=show&project_id=1"
}
}
}
getProjectByIdentifier
- Purpose: Get project information
- Parameters:
- identifier (alphanumeric string, required)
- Result on success: project properties
- Result on failure: null
Request example:
{
"jsonrpc": "2.0",
"method": "getProjectByIdentifier",
"id": 1620253806,
"params": {
"identifier": "TEST"
}
}
Response example:
{
"jsonrpc": "2.0",
"id": 1620253806,
"result": {
"id": 1,
"name": "API check",
"is_active": true,
"token": "",
"last_modified": 1794435881,
"is_public": false,
"is_private": false,
"description": null,
"identifier": "TEST",
"start_date": "",
"end_date": "",
"owner_id": 1,
"priority_default": 0,
"priority_start": 0,
"priority_end": 3,
"email": null,
"predefined_email_subjects": null,
"per_swimlane_task_limits": false,
"task_limit": 0,
"enable_global_tags": true,
"url": {
"board": "http://localhost/?controller=BoardViewController&action=show&project_id=1",
"list": "http://localhost/?controller=TaskListController&action=show&project_id=1"
}
}
}
getProjectByEmail
- Purpose: Get project information
- Parameters:
- email (string, required)
- Result on success: project properties
- Result on failure: null
Request example:
{
"jsonrpc": "2.0",
"method": "getProjectByEmail",
"id": 1620253806,
"params": {
"email": "my_project@my_domain.tld"
}
}
Response example:
{
"jsonrpc": "2.0",
"id": 1620253806,
"result": {
"id": 1,
"name": "API check",
"is_active": true,
"token": "",
"last_modified": 1794435881,
"is_public": false,
"is_private": false,
"description": null,
"identifier": "",
"start_date": "",
"end_date": "",
"owner_id": 1,
"priority_default": 0,
"priority_start": 0,
"priority_end": 3,
"email": "my_project@my_domain.tld",
"predefined_email_subjects": null,
"per_swimlane_task_limits": false,
"task_limit": 0,
"enable_global_tags": true,
"url": {
"board": "http://localhost/?controller=BoardViewController&action=show&project_id=1",
"list": "http://localhost/?controller=TaskListController&action=show&project_id=1"
}
}
}
getAllProjects
- Purpose: Get all available projects
- Parameters:
- none
- Result on success: List of projects
- Result on failure: false
Request example:
{
"jsonrpc": "2.0",
"method": "getAllProjects",
"id": 2134420212
}
Response example (Kanboard 1.2.54, PostgreSQL 17, PHP 8.4):
{
"jsonrpc": "2.0",
"id": 2134420212,
"result": [
{
"id": 1,
"name": "API check",
"is_active": true,
"token": "",
"last_modified": 1794435881,
"is_public": false,
"is_private": false,
"description": null,
"identifier": "",
"start_date": "",
"end_date": "",
"owner_id": 1,
"priority_default": 0,
"priority_start": 0,
"priority_end": 3,
"email": null,
"predefined_email_subjects": null,
"per_swimlane_task_limits": false,
"task_limit": 0,
"enable_global_tags": true,
"url": {
"board": "http://localhost/?controller=BoardViewController&action=show&project_id=1",
"list": "http://localhost/?controller=TaskListController&action=show&project_id=1"
}
}
]
}
updateProject
- Purpose: Update a project
- Parameters:
- project_id (integer, required)
- name (string, optional)
- description (string, optional)
- owner_id (integer, optional)
- identifier (string, optional)
- start_date ISO8601 format (string, optional)
- end_date ISO8601 format (string, optional)
- priority_default (integer, optional)
- priority_start (integer, optional)
- priority_end (integer, optional)
- email (string, optional)
- Result on success: true
- Result on failure: false
Request example:
{
"jsonrpc": "2.0",
"method": "updateProject",
"id": 1853996288,
"params": {
"project_id": 1,
"name": "PHP client update"
}
}
Response example:
{
"jsonrpc": "2.0",
"id": 1853996288,
"result": true
}
removeProject
- Purpose: Remove a project
- Parameters: project_id (integer, required)
- Result on success: true
- Result on failure: false
Request example:
{
"jsonrpc": "2.0",
"method": "removeProject",
"id": 46285125,
"params": {
"project_id": "2"
}
}
Response example:
{
"jsonrpc": "2.0",
"id": 46285125,
"result": true
}
enableProject
- Purpose: Enable a project
- Parameters:
- project_id (integer, required)
- Result on success: true
- Result on failure: false
Request example:
{
"jsonrpc": "2.0",
"method": "enableProject",
"id": 1775494839,
"params": [
"1"
]
}
Response example:
{
"jsonrpc": "2.0",
"id": 1775494839,
"result": true
}
disableProject
- Purpose: Disable a project
- Parameters:
- project_id (integer, required)
- Result on success: true
- Result on failure: false
Request example:
{
"jsonrpc": "2.0",
"method": "disableProject",
"id": 1734202312,
"params": [
"1"
]
}
Response example:
{
"jsonrpc": "2.0",
"id": 1734202312,
"result": true
}
enableProjectPublicAccess
- Purpose: Enable public access for a given project
- Parameters:
- project_id (integer, required)
- Result on success: true
- Result on failure: false
Request example:
{
"jsonrpc": "2.0",
"method": "enableProjectPublicAccess",
"id": 103792571,
"params": [
"1"
]
}
Response example:
{
"jsonrpc": "2.0",
"id": 103792571,
"result": true
}
disableProjectPublicAccess
- Purpose: Disable public access for a given project
- Parameters:
- project_id (integer, required)
- Result on success: true
- Result on failure: false
Request example:
{
"jsonrpc": "2.0",
"method": "disableProjectPublicAccess",
"id": 942472945,
"params": [
"1"
]
}
Response example:
{
"jsonrpc": "2.0",
"id": 942472945,
"result": true
}
getProjectActivity
- Purpose: Get activity stream for a project
- Parameters:
- project_id (integer, required)
- Result on success: List of events
- Result on failure: false
Request example:
{
"jsonrpc": "2.0",
"method": "getProjectActivity",
"id": 942472945,
"params": {
"project_id": 1
}
}
getProjectActivities
- Purpose: Get Activityfeed for Project(s)
- Parameters:
- project_ids (integer array, required)
- Result on success: List of events
- Result on failure: false
Request example:
{
"jsonrpc": "2.0",
"method": "getProjectActivities",
"id": 942472945,
"params": {
"project_ids": [1,2]
}
}