Online Gantt

Online Gantt API


Included in a Pro subscription, our simple API allows you to integrate with your existing tools and automate workflows.

Not a software developer? We can set this all up for you. Request a quote at ps@onlinegantt.com

Base URL

https://www.onlinegantt.com/api/v1

Content Type

application/json

Authentication

Include your API key in the X-API-Key request header for every API call.

X-API-Key: YOUR_API_KEY

GET /project-list

Get the list of projects the user has permissions to view.

Query Parameters

None

Response

[
  {
    "projectName": "Project 1"
  },
  {
    "projectName": "Project 2"
  }
]
GET /export-csv

Export data from a project using a CSV formatted string.

Query Parameters

projectName: string

Response

{
  "csv": CSV_FORMATTED_STRING
}

CSV Columns

Outline Level: integer    // indent level of task, starting from 1
ID: integer               // unique ID of task, starting from 1
Name: string              // name of task
Start: string             // start date in YYYY-MM-DD
Finish: string            // end date in YYYY-MM-DD
Duration: string          // duration of task in days or hours
% Complete: float         // % complete between 0 and 100
Predecessors: string      // predecessors of task, separated by comma
Resource Names: string    // resource names of task, separated by comma
Color: string             // number representing hue of the task bar, empty string for default
Notes: string             // notes for task, in plain text or HTML

CSV Example

Outline Level,ID,Name,Start,Finish,Duration,% Complete,Predecessor,Resource Names,Color,Notes
1,1,Task 1,2026-01-05,2026-01-09,5 day,100,,Resource 1,,
1,2,Task 2,2026-01-12,2026-01-16,5 day,0,1FS,"Resource 2,Resource 3",211,This is some notes
POST /import-csv

Import data to a project using a CSV formatted string.

Request Body

{
  "projectName": "Project 1",
  "csv": CSV_FORMATTED_STRING
}

Response

{
  "message": "OK"
}
The CSV format is the same as the one for /export-csv
POST /share

Share the project with a shared link.

Request Body

{
  "projectName": "Project 1",
}

Response

{
  "message": "OK",
  "url": "https://www.onlinegantt.com/#/shared/xxx"
}
GET /project-task

Get a task from a project.

Query Parameters

projectName: string
taskId: integer

Response

{
  "taskId": 2,
  "taskName": "Task 2",
  "start": "2026-01-12",
  "finish": "2026-01-16",
  "duration": "5 day",
  "percentComplete": 0,
  "predecessors": "1FS",
  "resourceNames": "Resource 2, Resource 3",
  "color": "211",
  "notes": "This is some notes"
}
POST /project-task

Create or update a task for a project.

Request Body

// "projectName" is required, all other fields are optional
// if "taskId" is missing, the task will be created, otherwise it will be updated
// if any other fields are missing, they will be set at default (create) or left unchanged (update)

{
  "projectName": "Project 1",
  "taskId": 2,
  "taskName": "Task 2",
  "start": "2026-01-12",
  "finish": "2026-01-16",
  "duration": "5 day",
  "percentComplete": 0,
  "predecessors": "1FS",
  "resourceNames": "Resource 2, Resource 3",
  "color": "211",
  "notes": "This is some notes"
}

Response

{
  "message": "OK",
  "taskId": 2
}
DELETE /project-task

Delete a task from a project.

Request Body

{
  "projectName": "Project 1",
  "taskId": 2
}

Response

{
  "message": "OK"
}