0% found this document useful (0 votes)
350 views9 pages

API Documentation

This document provides API documentation for managing projects and tasks within the TeamLogger platform. It includes details on authentication, various API calls for listing users, projects, and tasks, as well as creating, modifying, and managing project and task assignments. Additionally, it outlines how to generate reports and manage employee time tracking.

Uploaded by

santhosh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
350 views9 pages

API Documentation

This document provides API documentation for managing projects and tasks within the TeamLogger platform. It includes details on authentication, various API calls for listing users, projects, and tasks, as well as creating, modifying, and managing project and task assignments. Additionally, it outlines how to generate reports and manage employee time tracking.

Uploaded by

santhosh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

API Documentation

Authentiaction
Please use the key above as a bearer token. Your autorization request header should
look like this.

Authorization: Bearer YOUR_API_KEY_VALUE_HERE

API Calls
List Users
[GET] https://api2.teamlogger.com/api/integration/list_users
List Projects
[GET] https://api2.teamlogger.com/api/integration/list_projects?include_all=false
include_all (boolean): Set this true to get all projects instead of just active
projects

Most recent tasks


[GET] https://api2.teamlogger.com/api/integration/most_recent_tasks
Returns a list of most recent project and task that the employees have worked on in
the last one hour. It also returns a unix timestamp in milliseconds with each entry
for the most recent activity.

Get Project Details


[GET] https://api2.teamlogger.com/api/integration/get_project_details?
project_id=prjid
prjid (string): The id of the project for which you need the details.

active_only (true/false): Set to true to return only the active tasks in task list.

[GET] https://api2.teamlogger.com/api/integration/get_task_details?task_id=tskid
tskid (string): The id of the task for which you need the details.

Employee Summary Report


[GET] https://api2.teamlogger.com/api/employee_summary_report?
startTime=start_time_epoch_ms&endTime=end_time_epoch_ms
startTime (long integer): Start time of the summary report in milliseconds since
UNIX epoch.

endTime (long integer): End time of the summary report in milliseconds since UNIX
epoch.

Projectwise Employee Summary Report


[GET] https://api2.teamlogger.com/api/projectwise_employee_summary_report?
startTime=start_time_epoch_ms&endTime=end_time_epoch_ms&daywise=daywise_flag
startTime (long integer): Start time of the summary report in milliseconds since
UNIX epoch.

endTime (long integer): End time of the summary report in milliseconds since UNIX
epoch.

daywise (true or false): Set this to true if you want the data to be also grouped
daywise.

Project Summary Report


[GET] https://api2.teamlogger.com/api/project_summary_report?
startTime=start_time_epoch_ms&endTime=end_time_epoch_ms
startTime (long integer): Start time of the summary report in milliseconds since
UNIX epoch.

endTime (long integer): End time of the summary report in milliseconds since UNIX
epoch.

Task Summary Report


[GET] https://api2.teamlogger.com/api/task_summary_report?
startTime=start_time_epoch_ms&endTime=end_time_epoch_ms&projectId=project_id
startTime (long integer): Start time of the summary report in milliseconds since
UNIX epoch.

endTime (long integer): End time of the summary report in milliseconds since UNIX
epoch.

projectId (string): The unique id of the project as per the response of


list_projects API.

Raw timesheet data


[GET] https://api2.teamlogger.com/api/timesheet_data?
startTime=start_time_epoch_ms&endTime=end_time_epoch_ms
startTime (long integer): Start time of the summary report in milliseconds since
UNIX epoch.

endTime (long integer): End time of the summary report in milliseconds since UNIX
epoch.

accountId (string): The id of the user as per the 'List Users' API.

projectId (string): The id of the project as per the 'List Projects' API.

taskId (string): The id of the task as per the 'Get Project Details' API.

Company punch in out report


[GET] https://api2.teamlogger.com/api/company_punch_in_out_report?
year=2023&month=10&day=10&timezoneOffsetMinutes=330&dayStartsAtHours=6&dayEndsAtHou
rs=23
year (integer, required): The year of the day for which the punch-in/out report is
being requested.

month (integer, required): The month of the day for which the punch-in/out report
is being requested.

day (integer, required): The day of the day for which the punch-in/out report is
being requested.

timezoneOffsetMinutes (integer, required): The time zone offset in minutes from UTC
for example for India GMT +530 this will be 330.

dayStartsAtHours (double, optional): The start time for the day in hours before
which punch in is not allowed.

dayEndsAtHours (double, optional): The end time for the day in hours which is the
last allowed punch out time.

Application and website usage report


[GET] https://api2.teamlogger.com/api/user_app_web_report?
employee=TJ001&year=2023&month=10&day=22&timezoneOffsetMinutes=330&dayStartsAtHours
=6&dayEndsAtHours=23
employee (string, required): The email id or the employee name for whom the report
is being requested.

year (integer, required): The year of the day for which the punch-in/out report is
being requested.

month (integer, required): The month of the day for which the punch-in/out report
is being requested.

day (integer, required): The day of the day for which the punch-in/out report is
being requested.

timezoneOffsetMinutes (integer, required): The time zone offset in minutes from UTC
for example for India GMT +530 this will be 330.

dayStartsAtHours (double, optional): The start time for the day in hours before
which punch in is not allowed.

dayEndsAtHours (double, optional): The end time for the day in hours which is the
last allowed punch out time.

Create a new project


[POST] https://api2.teamlogger.com/api/integration/create_project
name (string): The name of the project.

type (string): The type of project. One of OPEN or RESTRICTED ( case-sensitive ).

external_id (string, optional): Id to track integration with other systems.

All employees of the company can work on OPEN projects.

Only project MEMBERs or MANAGERs can work on RESTRICTED projects.

Example:
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer YOUR_API_KEY_VALUE_HERE" --request POST \
--data '{ "name":"My Project", "type":"OPEN" }' \
https://api2.teamlogger.com/api/integration/create_project

Add user to a project


[POST] https://api2.teamlogger.com/api/integration/add_user_to_project
assignee_email (string): Email address of the user to be removed from the project.

project_name/project_id (string): The name of the project (case-sensitive) or


project id.

role (string): The role of the user. One of MANAGER or MEMBER (case-sensitive).

Example:
Note: You do not need to add/remove project to an OPEN project. All employees can
work on OPEN projects.
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer YOUR_API_KEY_VALUE_HERE" --request POST \
--data '{ "assignee_email":"[email protected]", "project_name":"My Project",
"role":"MEMBER" }' \
https://api2.teamlogger.com/api/integration/add_user_to_project

Change project name


[POST] https://api2.teamlogger.com/api/integration/change_project_name
new_project_name (string): The new desired project name.

project_id (string): The id of the project to be renamed.


Change project external id
[POST] https://api2.teamlogger.com/api/integration/change_project_external_id
new_external_id (string): The new external id for integration. Cannot be blank or
empty.

project_id (string): The id of the task to be renamed.

Change task name


[POST] https://api2.teamlogger.com/api/integration/change_task_name
new_task_name (string): The new desired task name.

task_id (string): The id of the task to be renamed.

Change task name


[POST] https://api2.teamlogger.com/api/integration/change_task_external_id
new_external_id (string): The new external id for integration. Cannot be blank or
empty.

task_id (string): The id of the task to be renamed.

Remove user from a project


[POST] https://api2.teamlogger.com/api/integration/remove_user_from_project
assignee_email (string): Email address of the user to be removed from the project.

project_name/project_id (string): The name of the project (case-sensitive) or


project id.

role (string): The role from which to remove the user. One of MANAGER or MEMBER
( case-sensitive ).

Example:
Note: You do not need to add/remove project to an OPEN project. All employees can
work on OPEN projects.
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer YOUR_API_KEY_VALUE_HERE" --request POST \
--data '{ "assignee_email":"[email protected]", "project_name":"My Project",
"role":"MEMBER" }' \
https://api2.teamlogger.com/api/integration/remove_user_from_project

Mark project as completed


[POST] https://api2.teamlogger.com/api/integration/complete_project
project_id (string): The id of the project to mark complete.

name (string): The name of the project to mark complete. This is not required to be
provided if project_id is provided.

Example:
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer YOUR_API_KEY_VALUE_HERE" --request POST \
--data '{ "name":"My Project" }' \
https://api2.teamlogger.com/api/integration/complete_project

Cancel project
[POST] https://api2.teamlogger.com/api/integration/cancel_project
project_id (string): The id of the project to cancel.

name (string): The name of the project to cancel. This is not required to be
provided if project_id is provided.
Example:
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer YOUR_API_KEY_VALUE_HERE" --request POST \
--data '{ "name":"My Project" }' \
https://api2.teamlogger.com/api/integration/cancel_project

Create a new task


[POST] https://api2.teamlogger.com/api/integration/create_task
name (string): The name of the task.

project_id (string): The id of the project under which the tast will be added.

project_name (string): The name of the project under which the tast will be added.
Do not provide this if project_id is provided.

assignee_email (string) OPTIONAL: If not specified all project members (in case of
a RESTRICTED project) or all employees (in case of an OPEN project) will be able to
work on this task.

nonbillable (boolean): Set this to true to make task non-billable, set this to
false to make task billable.

external_id (string, optional): Id to track integration with other systems.

Example:
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer YOUR_API_KEY_VALUE_HERE" --request POST \
--data '{ "name":"My Task", "project_name":"My Project",
"assignee_email":"[email protected]", "nonbillable":false }' \
https://api2.teamlogger.com/api/integration/create_task

Create a new task (multiple assignees)


[POST] https://api2.teamlogger.com/api/integration/create_task_multi
name (string): The name of the task.

project_name (string): The name of the project under which the tast will be added.

assignee_emails (array of strings) : The list of emails of employees to whom the


task is assigned.

Example:
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer YOUR_API_KEY_VALUE_HERE" --request POST \
--data '{ "name":"My Task", "project_name":"My Project", "assignee_emails":
["[email protected]","[email protected]"] }' \
https://api2.teamlogger.com/api/integration/create_task

Reassign a task
[POST] https://api2.teamlogger.com/api/zapier/reassign_task
task_id (string): The id of the task to be reassigned.

name (string): The name of the task to be reassigned. This is not required is
task_id is provided.

project_id (string): The id of the project under which the task is to be


reassigned.

project_name (string): The name of the project under which the task is to be
reassigned. This is not required if project_id is provided.
assignee_email (string) OPTIONAL: If not specified all project members (in case of
a RESTRICTED project) or all employees (in case of an OPEN project) will be able to
work on this task.

Example:
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer YOUR_API_KEY_VALUE_HERE" --request POST \
--data '{ "name":"My Task", "project_name":"My Project",
"assignee_email":"[email protected]" }' \
https://api2.teamlogger.com/api/zapier/reassign_task

Reassign a task (multiple assignees)


[POST] https://api2.teamlogger.com/api/zapier/reassign_task_multi
task_id (string): The id of the task to be reassigned.

name (string): The name of the task. This is not required to be provided if task_id
is provided.

project_id (string): The id of the project.

project_name (string): The name of the project under which the task is to be
reassigned. This is not required to be provided if project_id is provided.

assignee_emails (array of strings) : The list of emails of employees to whom the


task is assigned.

Example:
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer YOUR_API_KEY_VALUE_HERE" --request POST \
--data '{ "name":"My Task", "project_name":"My Project", "assignee_emails":
["[email protected]","[email protected]"] }' \
https://api2.teamlogger.com/api/zapier/reassign_task

Mark task as completed


[POST] https://api2.teamlogger.com/api/integration/complete_task
project_id (string): The id of the project the task belongs to.

project_name (string): The name of the project the task belongs to. (Do not provide
this if project_id is provided)

task_id (string): The id of the task to mark complete.

name (string): The name of the task to mark complete. This is not required to be
provided if task_id is provided.

Example:
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer YOUR_API_KEY_VALUE_HERE" --request POST \
--data '{ "name":"My Task", "project_name":"My Project" }' \
https://api2.teamlogger.com/api/integration/complete_task

Reactivate task
[POST] https://api2.teamlogger.com/api/integration/reactivate_task
project_id (string): The id of the project the task belongs to.

project_name (string): The name of the project the task belongs to. (Do not provide
this if project_id is provided)
task_id (string): The id of the task to reactivate (mark as pending).

name (string): The name of the task to reactivate (mark as pending). This is not
required to be provided if task_id is provided.

Example:
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer YOUR_API_KEY_VALUE_HERE" --request POST \
--data '{ "name":"My Task", "project_name":"My Project" }' \
https://api2.teamlogger.com/api/integration/reactivate_task

Cancel Task
[POST] https://api2.teamlogger.com/api/integration/cancel_task
project_id (string): The id of the project the task belongs to.

project_name (string): The name of the project the task belongs to. (Do not provide
this if project_id is provided)

task_id (string): The id of the task to cancel.

name (string): The name of the task to cancel. This is not required to be provided
if task_id is provided.

Example:
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer YOUR_API_KEY_VALUE_HERE" --request POST \
--data '{ "name":"My Task", "project_name":"My Project" }' \
https://api2.teamlogger.com/api/integration/cancel_task

S task as completed
[POST] https://api2.teamlogger.com/api/integration/set_task_nonbillable
project_id (string): The id of the project the task belongs to.

project_name (string): The name of the project the task belongs to. Do not prvoide
this if project_id parameter is provided.

task_id (string): The id of the task to mark complete.

name (string): The name of the task to mark complete. This is not required to be
provided if task_id is provided.

nonbillable (boolean): Set this to true to make task non-billable, set this to
false to make task billable.

Example:
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer YOUR_API_KEY_VALUE_HERE" --request POST \
--data '{ "name":"My Task", "project_name":"My Project", "nonbillable":true }' \
https://api2.teamlogger.com/api/integration/complete_task

Add a manual time entry


[POST] https://api2.teamlogger.com/api/integration/add_manual_entry
employee_email (string): The email address of the employee as per user record on
teamlogger.com ( case-sensitive ).

task_id (string): The task id for which to record the manual entry. If task_id is
provided, do no provide project_name or task_name.

project_name (string): The name of the project ( case-sensitive ).


task_name (string): The name of the task ( case-sensitive ).

start_time: Start time in unix milliseconds.

end_time: End time in unix milliseconds.

Example:
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer YOUR_API_KEY_VALUE_HERE" --request POST \
--data '{ "start_time":1666152000000, "end_time":1666153000000,
"employee_email":"[email protected]", "project_name":"My Project",
"task_name":"My Task"}' \
https://api2.teamlogger.com/api/integration/add_manual_entry

Get Manual Entries


[GET] https://api2.teamlogger.com/api/integration/manual_entries
Retrieves a list of manual entries associated with the authenticated user.

Response Fields:
id (string): The unique identifier of the manual entry.

startTime (datetime): The start time of the manual entry.

endTime (datetime): The end time of the manual entry.

status (string): The status of the work session (e.g., Approved, Rejected).

employeeName (string): The name of the employee associated with the entry.

employeeCode (string): The unique code of the employee.

employeeEmail (string): The email of the employee.

Example:
curl --header "Authorization: Bearer YOUR_API_KEY_VALUE_HERE" \
--request GET \
https://api2.teamlogger.com/api/manual_entries

Update Manual Entry Status


[POST] https://api2.teamlogger.com/api/integration/update_manual_entry_status
Updates the status of specified manual entries. The IDs provided in the request
should match the ones returned by the GET request.

Request Parameters:
entry_ids (array of strings): The list of entry IDs to be updated (e.g., "550e8400-
e29b-41d4-a716-446655440000").

status (string): The new status to be applied ("approved" or "rejected").

Response Fields:
message (string): Confirmation message indicating the number of entries
successfully updated.

Example:
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer YOUR_API_KEY_VALUE_HERE" \
--request POST \
--data '{ "entry_ids":["550e8400-e29b-41d4-a716-446655440000", "123e4567-e89b-12d3-
a456-426614174000"], "status":"approved" }' \
https://api2.teamlogger.com/api/integration/update_manual_entry_status

You might also like