WORKSECTION

Projects

Getting the list of projects through API: get_projects

Sample get_projects request

?action=get_projects
Returns all projects info

Optional parameters:
  • filter — project state, possible values: active, pending, archived
  • extraadditional project info, possible values (can be specified with commas, for example extra=text,options,users):
  • text or html — description in text or html format
    options —  project restriction options
    users — project team members

Returned data on projects :
  • id — project ID
  • name — project name
  • status — project state
  • company — folder name, where the project is located
  • user_from and user_to — project author and project manager
  • text — project description (if request contains corresponding extra parameter)
  • date_added — creation date and time
  • date_closed — closing date and time (if project is archived) or previous closing date and time (if project is active)
  • date_start — start date (if specified)
  • date_end — due date (if specified)
  • options — project restriction options with 0/ 1 values — disabled/enabled (if request contains extra=options parameter): 
  • Assignee can:
  • options.allow_close — mark task as done
  • options.allow_give — transfer the responsibility 
  • options.allow_term — change the task terms
  • options.allow_limit — change the estimates
  • New task required fields PRO:
  • options.require_term — terms
  • options.require_tag — stages and labels
  • options.require_limit — estimates
  • options.require_hidden — visibility
  • Users are not permitted PRO:
  • options.deny_comments_edit — edit and delete comments
  • options.deny_task_edit — edit and delete tasks
  • options.deny_task_delete — delete tasks
  • Adding costs PRO:
  • options.time_require — mark as done with costs only
  • options.time_today — add for today only
  • options.timer_only — add from timer only
  • max_time and max_money — time and financial estimates (if specified)
  • tags — array in id: name format for project tags (if specified)
  • users — project team members (if request contains corresponding extra parameter)

Sample JSON response
If the request succeeds, the response will contain ok status and the following data:

{
    "status": "ok",
    "data": [  {
         "id": "PROJECT_ID_1",
         "name": "PROJECT_NAME",
         "page": "/project/PROJECT_ID/",
         "status": "active",
         "company": "FOLDER_NAME",
         "user_from": { "id": "USER_ID",
             "email": "USER_EMAIL",
             "name": "USER_NAME"
         },
         "user_to": { "id": "USER_ID",
             "email": "USER_EMAIL",
             "name": "USER_NAME"
         },
         "text": "PROJECT_TEXT",
         "date_added": "YYYY—MM—DD HH:II",
         "date_start": "YYYY—MM—DD",
         "date_end": "YYYY—MM—DD", "date_closed": "YYYY—MM—DD HH:II",
"options": { "allow_close": 0..1, "allow_give": 0..1,
"allow_term": 0..1,
"allow_limit": 0..1,
"require_term": 0..1,
"require_tag": 0..1,
"require_limit": 0..1,
"require_hidden": 0..1,
"deny_comments_edit": 0..1,
"deny_task_edit": 0..1,
"deny_task_delete": 0..1,
"time_require": 0..1,
"time_today": 0..1,
"timer_only": 0..1 },
         "max_time": 100,
         "max_money": 500,
         "users": [
             {
                 "id": "USER_ID", "email": "USER_EMAIL",
                 "name": "USER_NAME"
             },
             {
                 "id": "USER_ID", "email": "USER_EMAIL",
                 "name": "USER_NAME"
             },
             { "id": "USER_ID",
                 "email": "USER_EMAIL",
                 "name": "USER_NAME"
             },
             { "id": "USER_ID",
                 "email": "USER_EMAIL",
                 "name": "USER_NAME"
             }
         ]
     }, { "id": "PROJECT_ID_2",          "name": "PROJECT_NAME", ... ... ... } ]
}
Was this article helpful? Yes, thank you! No

Getting project info through API: get_project

Sample get_project request

?action=get_project&id_project=PROJECT_ID
Returns selected project info

Required parameters:
  • id_project — project ID
Optional parameters:
  • extra — additional project info, possible values (can be specified with commas, for example extra=text,options,users):
  • text or html — description in text or html format
    options —  project restriction options
    users — project team members

Returned project data:
  • id — project ID
  • name — project name
  • status — project state
  • company — folder name, where the project is located
  • user_from and user_to — project author and project manager
  • text — project description (if request contains corresponding extra parameter)
  • date_added — creation date and time
  • date_closed — closing date and time (if project is archived) or previous closing date and time (if project is active)
  • date_start — start date (if specified)
  • date_end — due date (if specified)
  • options — project restriction options with 0/ 1 values — disabled/enabled (if request contains extra=options parameter): 
  • Assignee can:
  • options.allow_close — mark task as done
  • options.allow_give — transfer the responsibility 
  • options.allow_term — change the task terms
  • options.allow_limit — change the estimates
  • New task required fields PRO:
  • options.require_term — terms
  • options.require_tag — stages and labels
  • options.require_limit — estimates
  • options.require_hidden — visibility
  • Users are not permitted PRO:
  • options.deny_comments_edit — edit and delete comments
  • options.deny_task_edit — edit and delete tasks
  • options.deny_task_delete — delete tasks
  • Adding costs PRO:
  • options.time_require — mark as done with costs only
  • options.time_today — add for today only
  • options.timer_only — add from timer only
  • max_time and max_money — time and financial estimates (if specified)
  • tags — array in id: name format for project tags (if specified)
  • users — project team members (if request contains corresponding extra parameter)

Sample JSON response
If the request succeeds, the response will contain ok status and the following data:

{
    "status": "ok",
    "data": {
        "id": "PROJECT_ID",
        "name": "PROJECT_NAME",
        "page": "/project/PROJECT_ID/",
        "status": "active",
        "company": "FOLDER_NAME",
        "user_from": { "id": "USER_ID",
            "email": "USER_EMAIL",
            "name": "USER_NAME"
        },
        "user_to": { "id": "USER_ID",
            "email": "USER_EMAIL",
            "name": "USER_NAME"
        },
        "text": "PROJECT_TEXT",
        "date_added": "YYYY-MM-DD HH:II",
        "date_start": "YYYY-MM-DD",
        "date_end": "YYYY-MM-DD", "date_closed": "YYYY-MM-DD HH:II",
"options": { "allow_close": 0..1, "allow_give": 0..1,
"allow_term": 0..1,
"allow_limit": 0..1,
"require_term": 0..1,
"require_tag": 0..1,
"require_limit": 0..1,
"require_hidden": 0..1,
"deny_comments_edit": 0..1,
"deny_task_edit": 0..1,
"deny_task_delete": 0..1,
"time_require": 0..1,
"time_today": 0..1,
"timer_only": 0..1 },
        "max_time": 100,
        "max_money": 500, "tags": { "TAG_ID": "TAG_NAME_1", "TAG_ID": "TAG_NAME_2" },
        "users": [
            {
                "id": "USER_ID", "email": "USER_EMAIL",
                "name": "USER_NAME_1"
            },
            {
                "id": "USER_ID", "email": "USER_EMAIL",
                "name": "USER_NAME_2"
            },
            { "id": "USER_ID",
                "email": "USER_EMAIL",
                "name": "USER_NAME_3"
            }
        ]
    }
}
Was this article helpful? Yes, thank you! No

Creating a project through API: post_project

Sample post_project request

?action=post_project&title=PROJECT_NAME

Creates project
*allows files attaching (see details)


Required parameters:

  • title — project name

Optional parameters:
  • email_user_from — project author email
  • email_manager — project manager email
  • email_user_to — user email of a default task executive, additional possible values: ANY – "Anyone", NOONE or not specified – "Executive isn't assigned")
  • members — project member emails separated by commas
  • text — project description
  • company — folder name, where the project will be located
  • datestart — start date in DD.MM.YYYY format
  • dateend — due date in DD.MM.YYYY format
  • project restriction options (set to 1 to enable): 
  • Assignee can:
  • options.allow_close — mark task as done
  • options.allow_give — transfer the responsibility 
  • options.allow_term — change the task terms
  • options.allow_limit — change the estimates
  • New task required fields PRO:
  • options.require_term — terms
  • options.require_tag — stages and labels
  • options.require_limit — estimates
  • options.require_hidden — visibility
  • Users are not permitted PRO:
  • options.deny_comments_edit — edit and delete comments
  • options.deny_task_edit — edit and delete tasks
  • options.deny_task_delete — delete tasks
  • Adding costs PRO:
    *only one parameter can be enabled from this sublist
  • options.time_require — mark as done with costs only
  • options.time_today — add for today only
  • options.timer_only — add from timer only
  • extra=options — project restriction options info
  • max_time — time estimates
  • max_money — financial estimates
  • tags — project tags separated by commas (for example: tags=TAG1,TAG2)
    You can specify names (if they are unique) or their IDs (can be obtained through get_project_tags method)

Sample JSON response
If the request succeeds, the response will contain ok status and the following data:

{
    "status": "ok",
    "data": {
        "id": "PROJECT_ID",
        "name": "PROJECT_NAME",
        "page": "/project/PROJECT_ID/",
        "status": "active",
        "company": "FOLDER_NAME",
        "user_from": { "id": "USER_ID",
            "email": "USER_EMAIL",
            "name": "USER_NAME"
        },
        "user_to": { "id": "USER_ID",
            "email": "USER_EMAIL",
            "name": "USER_NAME"
        },
        "text": "PROJECT_TEXT",
        "date_added": "YYYY-MM-DD HH:II",
        "date_start": "YYYY-MM-DD",
        "date_end": "YYYY-MM-DD",
"options": { "allow_close": 0..1, "allow_give": 0..1,
"allow_term": 0..1,
"allow_limit": 0..1,
"require_term": 0..1,
"require_tag": 0..1,
"require_limit": 0..1,
"require_hidden": 0..1,
"deny_comments_edit": 0..1,
"deny_task_edit": 0..1,
"deny_task_delete": 0..1,
"time_require": 0..1,
"time_today": 0..1,
"timer_only": 0..1 },
        "max_time": 100,
        "max_money": 500, "tags": { "TAG_ID": "TAG_NAME_1", "TAG_ID": "TAG_NAME_2" }
    }
}
Was this article helpful? Yes, thank you! No

Updating a project through API: update_project

Sample update_project request

?action=update_project&id_project=PROJECT_ID

Updates selected project parameters


Required parameters:
  • id_project — project ID

Optional parameters:
  • email_manager — project manager email
  • email_user_to — user email of a default task executive, additional possible values: ANY – "Anyone", NOONE or not specified – "Executive isn't assigned")
  • members — member emails separated by commas, who will be added to the project team (use delete_project_members for removal)
  • title — project name
  • datestart — start date in DD.MM.YYYY format
  • dateend — due date in DD.MM.YYYY format
  • project restriction options ( 0/ 1 — to enable/disable): 
  • Assignee can:
  • options.allow_close — mark task as done
  • options.allow_give — transfer the responsibility 
  • options.allow_term — change the task terms
  • options.allow_limit — change the estimates
  • New task required fields PRO:
  • options.require_term — terms
  • options.require_tag — stages and labels
  • options.require_limit — estimates
  • options.require_hidden — visibility
  • Users are not permitted PRO:
  • options.deny_comments_edit — edit and delete comments
  • options.deny_task_edit — edit and delete tasks
  • options.deny_task_delete — delete tasks
  • Adding costs PRO:
    only one parameter can be enabled from this sublist
  • options.time_require — mark as done with costs only
  • options.time_today — add for today only
  • options.timer_only — add from timer only
  • extra=options — project restriction options info
  • max_time — time estimates
  • max_money — financial estimates

Parameters unavailable for updating:
  • email_user_from — project author email
  • text — project description
  • company — folder name, where the project is located
  • tags — project tags (can be updated through update_project_tags method)

Sample JSON response
If the request succeeds, the response will contain ok status and the following data:

{
    "status": "ok",
    "data": {
        "id": "PROJECT_ID",
        "name": "PROJECT_NAME",
        "page": "/project/PROJECT_ID/",
        "status": "active",
        "company": "FOLDER_NAME",
        "user_from": { "id": "USER_ID",
            "email": "USER_EMAIL",
            "name": "USER_NAME"
        },
        "user_to": { "id": "USER_ID",
            "email": "USER_EMAIL",
            "name": "USER_NAME"
        },
        "text": "PROJECT_TEXT",
        "date_added": "YYYY-MM-DD HH:II",
        "date_start": "YYYY-MM-DD",
        "date_end": "YYYY-MM-DD",
"options": { "allow_close": 0..1, "allow_give": 0..1,
"allow_term": 0..1,
"allow_limit": 0..1,
"require_term": 0..1,
"require_tag": 0..1,
"require_limit": 0..1,
"require_hidden": 0..1,
"deny_comments_edit": 0..1,
"deny_task_edit": 0..1,
"deny_task_delete": 0..1,
"time_require": 0..1,
"time_today": 0..1,
"timer_only": 0..1 },
        "max_time": 100,
        "max_money": 500, "tags": { "TAG_ID": "TAG_NAME_1", "TAG_ID": "TAG_NAME_2" }
    }
}
Was this article helpful? Yes, thank you! No

Archiving a project through API: close_project

Sample close_project request

?action=close_project&id_project=PROJECT_ID
Archives selected project

Required parameters:
  • id_project — project ID

Sample JSON response
If the request succeeds, the response will contain ok status

{
    "status": "ok"
}
Was this article helpful? Yes, thank you! No

Activating a project through API: activate_project

Sample activate_project request

?action=activate_project&id_project=PROJECT_ID
Activates selected archived project

Required parameters:
  • id_project — project ID

Sample JSON response
If the request succeeds, the response will contain ok status

{
    "status": "ok"
}
Was this article helpful? Yes, thank you! No

Adding people to the project team through API: add_project_members

Sample add_project_members request

?action=add_project_members&id_project=PROJECT_ID&members=USER_EMAIL_1,USER_EMAIL_2
Adds account users to selected project team

Required parameters:
  • id_project — project ID
  • members — user emails separated by commas

Sample JSON response
If the request succeeds, the response will contain ok status

{
"status": "ok"
}
Was this article helpful? Yes, thank you! No

Removing people from the project team through API: delete_project_members

Sample delete_project_members request

?action=delete_project_members&id_project=PROJECT_ID&members=USER_EMAIL_1,USER_EMAIL_2
Removes account users from selected project team

Required parameters:
  • id_project — project ID
  • members — user emails separated by commas

Sample JSON response
If the request succeeds, the response will contain ok status

{
"status": "ok"
}
Was this article helpful? Yes, thank you! No

Getting the list of project folders through API: get_project_groups

Sample get_project_groups request

?action=get_project_groups
Returns all project folders info

Returned data:
  • id — folder ID
  • title — folder name
  • type — folder type:
folder — user folder (created by an account user)
company — team folder (created automatically after team creation)
  • client — team folder type:
0 — your company team
1 — external client team

Sample JSON response
If the request succeeds, the response will contain ok status and the following data:

{
    "status": "ok",
    "data": [
        {
            "id": "GROUP_ID",
            "title": "GROUP_NAME_1",
            "type": "folder"
        },
        {
            "id": "GROUP_ID",
            "title": "GROUP_NAME_2",
            "type": "company",
            "client": 0
        },
        {
            "id": "GROUP_ID",
            "title": "GROUP_NAME_3",
            "type": "company",
            "client": 1
        }
    ]
}
Was this article helpful? Yes, thank you! No

Creating a project folder through API: add_project_group

Sample add_project_group request

?action=add_project_group&title=PROJECT_GROUP
Creates projects folder
*if there are no folders with same name

Required parameters:
  • title — project folder name

Sample JSON response
If the request succeeds, the response will contain ok status and the following data:

{
    "status": "ok",
    "data": {
        "id": "GROUP_ID",
        "title": "GROUP_NAME",
        "type": "folder"
    }
}
Was this article helpful? Yes, thank you! No

Getting event history for a time period through API: get_events

Sample get_events request

?action=get_events&period=3d
Returns performed actions info in all or selected projects within selected time period
*info on who made changes, what changed and when

Better use webhooks instead (see details)
Required parameters:  
  • period — time period, possible values (integer): 1m..360m in minutes, 1h .. 72h in hours, 1d..30d in days
 
Optional parameters:
  • id_project — project ID (data only of a particular project)

Returned data :
  • action — performed action:
  • post — creating of a new project/task/comment
    update — editing of project/task/comment parameters
      close — task closing
      reopen — task reopening
      delete — comment deleting
  • object — object affected by action:
  • type — object type: project, task and comment
    id — object ID
      page — object link
  • date_added — performed action date and time
  • user_from — user, who performed the action
  • new — current or updated parameter values
  • for action=post these are the names of parameters specified during new object creation along with their values ​​
    for action=update these are the names of parameters being changed with their new values ​​
    • old — names of parameters being changed with their previous values ​​(only for action=update)

Sample JSON response
*shown for two performed actions: comment edited and task due date changed

If the request succeeds, the response will contain ok status and the following data: 

{
    "status": "ok",
    "data": [
        {
            "action": "update",
            "object": {
                "type": "comment",
                "id": "COMMENT_ID",
                "page": "/project/PROJECT_ID/TASK_ID/"
            },
            "date_added": "YYYY—MM—DD HH:II",
            "user_from": { "id": "USER_ID",
                "email": "USER_EMAIL",
                "name": "USER_NAME"
            },
            "new": {
                "text": "TEXT"
            },
            "old": {
                "text": "TEXT"
            }
        },
        {
            "action": "update",
            "object": {
                "type": "task",
                "id": "TASK_ID",
                "page": "/project/PROJECT_ID/TASK_ID/"
            },
            "date_added": "YYYY—MM—DD HH:II",
            "user_from": { "id": "USER_ID",
                "email": "USER_EMAIL",
                "name": "USER_NAME"
            },
            "new": {
                "date_end": "YYYY—MM—DD"
            },
            "old": {
                "date_end": "YYYY—MM—DD"
            }
        }
    ]
}
Was this article helpful? Yes, thank you! No
esc
или
Print