API Documentation

API Endpoint

Projects

Projects

For more details on how to work with custom fields please refer to Working with custom fields guide.

Note: For archived projects, only the name and project_manager_id attributes can be updated. All other attributes will be ignored during update operations.

Supported filter params

  • id

  • project_type (1: internal, 2: client)

  • company_id (array)

  • responsible_id (array)

  • person_id (array)

  • status (1: active, 2: archived)

  • query

Filter operations are supported on this endpoint.

GET /api/v2/projects
Requestsreturns projects

GET  /api/v2/projects

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": [
    {
      "id": "628",
      "type": "projects",
      "attributes": {
        "name": "test project",
        "number": "1",
        "preferences": {},
        "project_number": "1",
        "project_type_id": 2,
        "project_color_id": null,
        "last_activity_at": "2025-10-14T06:06:54.000+02:00",
        "time_on_tasks": true,
        "tag_colors": {},
        "archived_at": null,
        "created_at": "2025-10-14T06:06:54.031+02:00",
        "template": false,
        "duplication_status": "idle",
        "custom_fields": null,
        "task_custom_fields_ids": null,
        "task_custom_fields_positions": null,
        "page_custom_fields_ids": null,
        "page_custom_fields_positions": null,
        "sample_data": false
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "1003"
          }
        },
        "company": {
          "meta": {
            "included": false
          }
        },
        "project_manager": {
          "meta": {
            "included": false
          }
        },
        "last_actor": {
          "meta": {
            "included": false
          }
        },
        "workflow": {
          "meta": {
            "included": false
          }
        },
        "custom_field_people": {
          "meta": {
            "included": false
          }
        },
        "custom_field_attachments": {
          "meta": {
            "included": false
          }
        },
        "template_object": {
          "meta": {
            "included": false
          }
        }
      }
    },
    {
      "id": "630",
      "type": "projects",
      "attributes": {
        "name": "test project",
        "number": "3",
        "preferences": {},
        "project_number": "3",
        "project_type_id": 2,
        "project_color_id": null,
        "last_activity_at": "2025-10-14T06:06:54.000+02:00",
        "time_on_tasks": false,
        "tag_colors": {},
        "archived_at": null,
        "created_at": "2025-10-14T06:06:54.098+02:00",
        "template": false,
        "duplication_status": "idle",
        "custom_fields": null,
        "task_custom_fields_ids": null,
        "task_custom_fields_positions": null,
        "page_custom_fields_ids": null,
        "page_custom_fields_positions": null,
        "sample_data": false
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "1003"
          }
        },
        "company": {
          "meta": {
            "included": false
          }
        },
        "project_manager": {
          "meta": {
            "included": false
          }
        },
        "last_actor": {
          "meta": {
            "included": false
          }
        },
        "workflow": {
          "meta": {
            "included": false
          }
        },
        "custom_field_people": {
          "meta": {
            "included": false
          }
        },
        "custom_field_attachments": {
          "meta": {
            "included": false
          }
        },
        "template_object": {
          "meta": {
            "included": false
          }
        }
      }
    },
    {
      "id": "631",
      "type": "projects",
      "attributes": {
        "name": "test project",
        "number": "4",
        "preferences": {},
        "project_number": "4",
        "project_type_id": 2,
        "project_color_id": null,
        "last_activity_at": "2025-10-14T06:06:54.000+02:00",
        "time_on_tasks": false,
        "tag_colors": {},
        "archived_at": null,
        "created_at": "2025-10-14T06:06:54.114+02:00",
        "template": false,
        "duplication_status": "idle",
        "custom_fields": null,
        "task_custom_fields_ids": null,
        "task_custom_fields_positions": null,
        "page_custom_fields_ids": null,
        "page_custom_fields_positions": null,
        "sample_data": false
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "1003"
          }
        },
        "company": {
          "meta": {
            "included": false
          }
        },
        "project_manager": {
          "meta": {
            "included": false
          }
        },
        "last_actor": {
          "meta": {
            "included": false
          }
        },
        "workflow": {
          "meta": {
            "included": false
          }
        },
        "custom_field_people": {
          "meta": {
            "included": false
          }
        },
        "custom_field_attachments": {
          "meta": {
            "included": false
          }
        },
        "template_object": {
          "meta": {
            "included": false
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/projects?page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/projects?page%5Bnumber%5D=1&page%5Bsize%5D=30"
  },
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 3,
    "page_size": 30,
    "max_page_size": 200
  }
}

Get projects
GET/api/v2/projects


GET /api/v2/projects/1
Requestsreturns project

GET  /api/v2/projects/636

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "636",
    "type": "projects",
    "attributes": {
      "name": "test project",
      "number": "1",
      "preferences": {},
      "project_number": "1",
      "project_type_id": 2,
      "project_color_id": null,
      "last_activity_at": "2025-10-14T06:06:54.000+02:00",
      "time_on_tasks": true,
      "tag_colors": {},
      "archived_at": null,
      "created_at": "2025-10-14T06:06:54.390+02:00",
      "template": false,
      "duplication_status": "idle",
      "custom_fields": null,
      "task_custom_fields_ids": null,
      "task_custom_fields_positions": null,
      "page_custom_fields_ids": null,
      "page_custom_fields_positions": null,
      "sample_data": false
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "1005"
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "project_manager": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "workflow": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "template_object": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Gets a project
GET/api/v2/projects/{id}

URI Parameters
HideShow
id
number (required) Example: 1

project id


POST /api/v2/projects
Requestscreates project, tracks intercom event and calls Automations::Projects::Schedulerreturns error

POST  /api/v2/projects

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "projects",
    "attributes": {
      "name": "test name",
      "project_type_id": 2
    },
    "relationships": {
      "company": {
        "data": {
          "type": "companies",
          "id": "2486"
        }
      },
      "project_manager": {
        "data": {
          "type": "people",
          "id": "3435"
        }
      },
      "workflow": {
        "data": {
          "type": "workflows",
          "id": "730"
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "638",
    "type": "projects",
    "attributes": {
      "name": "test name",
      "number": "2",
      "preferences": null,
      "project_number": "2",
      "project_type_id": 2,
      "project_color_id": null,
      "last_activity_at": "2025-10-14T06:06:54.000+02:00",
      "time_on_tasks": false,
      "tag_colors": {},
      "archived_at": null,
      "created_at": "2025-10-14T06:06:54.499+02:00",
      "template": false,
      "duplication_status": "idle",
      "custom_fields": null,
      "task_custom_fields_ids": null,
      "task_custom_fields_positions": {},
      "page_custom_fields_ids": null,
      "page_custom_fields_positions": {},
      "sample_data": false
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "1006"
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "project_manager": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "workflow": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "template_object": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/projects

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "projects",
    "attributes": {
      "name": ""
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "attribute is invalid",
      "source": {
        "pointer": "data/attributes/workflow"
      }
    }
  ]
}

Create a project
POST/api/v2/projects

URI Parameters
HideShow
name
string (required) Example: Name

name

project_manager_id
number (required) Example: 1

project manager id

company_id
number (required) Example: 1

company id

workflow_id
number (required) Example: 1

worfklow id


PATCH /api/v2/projects/1
Requestsupdates project and calls Automations::Projects::Schedulerupdates only name and project_managerreturns errordoes not change workflow

PATCH  /api/v2/projects/643

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "projects",
    "attributes": {
      "name": "new name"
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "643",
    "type": "projects",
    "attributes": {
      "name": "new name",
      "number": "1",
      "preferences": {},
      "project_number": "1",
      "project_type_id": 2,
      "project_color_id": null,
      "last_activity_at": "2025-10-14T06:06:54.000+02:00",
      "time_on_tasks": true,
      "tag_colors": {},
      "archived_at": null,
      "created_at": "2025-10-14T06:06:54.871+02:00",
      "template": false,
      "duplication_status": "idle",
      "custom_fields": null,
      "task_custom_fields_ids": null,
      "task_custom_fields_positions": {},
      "page_custom_fields_ids": null,
      "page_custom_fields_positions": {},
      "sample_data": false
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "1011"
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "project_manager": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "workflow": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "template_object": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/projects/644

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "projects",
    "attributes": {
      "name": "new name",
      "project_manager_id": 3442,
      "project_type_id": 2,
      "project_color_id": 2
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "644",
    "type": "projects",
    "attributes": {
      "name": "new name",
      "number": "1",
      "preferences": {},
      "project_number": "1",
      "project_type_id": 1,
      "project_color_id": 1,
      "last_activity_at": "2025-10-14T06:06:54.000+02:00",
      "time_on_tasks": false,
      "tag_colors": {},
      "archived_at": "2025-10-14T06:06:54.000+02:00",
      "created_at": "2025-10-14T06:06:54.959+02:00",
      "template": false,
      "duplication_status": "idle",
      "custom_fields": null,
      "task_custom_fields_ids": null,
      "task_custom_fields_positions": {},
      "page_custom_fields_ids": null,
      "page_custom_fields_positions": {},
      "sample_data": false
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "1012"
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "project_manager": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "workflow": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "template_object": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/projects/647

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "projects",
    "attributes": {
      "name": ""
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/name"
      }
    }
  ]
}

PATCH  /api/v2/projects/648

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "projects",
    "attributes": {
      "workflow_id": 745
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "648",
    "type": "projects",
    "attributes": {
      "name": "test project",
      "number": "1",
      "preferences": {},
      "project_number": "1",
      "project_type_id": 2,
      "project_color_id": null,
      "last_activity_at": "2025-10-14T06:06:55.000+02:00",
      "time_on_tasks": true,
      "tag_colors": {},
      "archived_at": null,
      "created_at": "2025-10-14T06:06:55.576+02:00",
      "template": false,
      "duplication_status": "idle",
      "custom_fields": null,
      "task_custom_fields_ids": null,
      "task_custom_fields_positions": {},
      "page_custom_fields_ids": null,
      "page_custom_fields_positions": {},
      "sample_data": false
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "1015"
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "project_manager": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "workflow": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "template_object": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Update a project
PATCH/api/v2/projects/{id}

URI Parameters
HideShow
id
number (required) Example: 1

project id


PATCH /api/v2/projects/1/archive
Requestsarchives project and calls Automations::Projects::Schedulerarchives project and calls Projects::Archiver

PATCH  /api/v2/projects/649/archive

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "649",
    "type": "projects",
    "attributes": {
      "name": "test project",
      "number": "1",
      "preferences": {},
      "project_number": "1",
      "project_type_id": 2,
      "project_color_id": null,
      "last_activity_at": "2025-10-14T06:06:55.000+02:00",
      "time_on_tasks": true,
      "tag_colors": {},
      "archived_at": "2025-10-14T06:06:55.000+02:00",
      "created_at": "2025-10-14T06:06:55.675+02:00",
      "template": false,
      "duplication_status": "idle",
      "custom_fields": null,
      "task_custom_fields_ids": null,
      "task_custom_fields_positions": null,
      "page_custom_fields_ids": null,
      "page_custom_fields_positions": null,
      "sample_data": false
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "1016"
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "project_manager": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "workflow": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "template_object": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/projects/650/archive

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "650",
    "type": "projects",
    "attributes": {
      "name": "test project",
      "number": "1",
      "preferences": {},
      "project_number": "1",
      "project_type_id": 2,
      "project_color_id": null,
      "last_activity_at": "2025-10-14T06:06:55.000+02:00",
      "time_on_tasks": true,
      "tag_colors": {},
      "archived_at": "2025-10-14T06:06:55.000+02:00",
      "created_at": "2025-10-14T06:06:55.761+02:00",
      "template": false,
      "duplication_status": "idle",
      "custom_fields": null,
      "task_custom_fields_ids": null,
      "task_custom_fields_positions": null,
      "page_custom_fields_ids": null,
      "page_custom_fields_positions": null,
      "sample_data": false
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "1017"
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "project_manager": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "workflow": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "template_object": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Archives a project
PATCH/api/v2/projects/{id}/archive

URI Parameters
HideShow
id
number (required) Example: 1

project id


PATCH /api/v2/projects/1/restore
Requestsrestores project

PATCH  /api/v2/projects/651/restore

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "651",
    "type": "projects",
    "attributes": {
      "name": "test project",
      "number": "1",
      "preferences": {},
      "project_number": "1",
      "project_type_id": 2,
      "project_color_id": null,
      "last_activity_at": "2025-10-14T06:06:55.000+02:00",
      "time_on_tasks": false,
      "tag_colors": {},
      "archived_at": null,
      "created_at": "2025-10-14T06:06:55.841+02:00",
      "template": false,
      "duplication_status": "idle",
      "custom_fields": null,
      "task_custom_fields_ids": null,
      "task_custom_fields_positions": null,
      "page_custom_fields_ids": null,
      "page_custom_fields_positions": null,
      "sample_data": false
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "1018"
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "project_manager": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "workflow": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "template_object": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Restores a project
PATCH/api/v2/projects/{id}/restore

URI Parameters
HideShow
id
number (required) Example: 1

project id


DELETE /api/v2/projects/1
Requestsdeletes project and calls Automations::Projects::Scheduler

DELETE  /api/v2/projects/652

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses204
This response has no content.

Deletes a project
DELETE/api/v2/projects/{id}

URI Parameters
HideShow
id
number (required) Example: 1

project id


POST /api/v2/projects/copy
Requestscreates project and enqueues job with correct parameterscreates template project when creating template from projectcreates project when creating project from templatedoes not copy dealsreturns error

POST  /api/v2/projects/copy

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "projects",
    "attributes": {
      "name": "This is a name",
      "template_id": 653,
      "company_id": 2518,
      "project_type_id": 2,
      "copy_assignees": false,
      "copy_boards": true,
      "copy_budgets": true,
      "copy_closed_tasks": false,
      "copy_custom_fields": true,
      "copy_deals": false,
      "copy_due_date": true,
      "copy_estimate": true,
      "copy_memberships": true,
      "copy_notes": true,
      "copy_open_tasks": true,
      "copy_project_members": true,
      "copy_repeat": true,
      "copy_start_date": true,
      "copy_surveys": true,
      "copy_tags": false,
      "copy_task_attachments": true,
      "copy_task_closed_subtasks": true,
      "copy_task_closed_todos": true,
      "copy_task_comments": false,
      "copy_task_dependencies": true,
      "copy_task_description": true,
      "copy_task_lists": true,
      "copy_task_open_subtasks": true,
      "copy_task_open_todos": true,
      "copy_task_subscribers": false,
      "copy_views": true
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "654",
    "type": "projects",
    "attributes": {
      "name": "This is a name",
      "number": "2",
      "preferences": {},
      "project_number": "2",
      "project_color_id": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "1020"
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/projects/copy

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "projects",
    "attributes": {
      "name": "This is a name",
      "description": "This is a description",
      "template_id": 656,
      "company_id": 2521,
      "project_type_id": 2,
      "copy_memberships": true,
      "copy_boards": true,
      "copy_task_lists": true,
      "copy_open_tasks": true,
      "copy_task_comments": false,
      "copy_task_subscribers": false,
      "copy_assignees": false,
      "copy_tags": false,
      "copy_estimate": true,
      "copy_views": true,
      "copy_as_template": true
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "657",
    "type": "projects",
    "attributes": {
      "name": "This is a name",
      "number": null,
      "preferences": {},
      "project_number": null,
      "project_color_id": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "1021"
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/projects/copy

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "projects",
    "attributes": {
      "name": "This is a name",
      "template_id": 660,
      "company_id": 2525,
      "project_type_id": 2,
      "copy_memberships": true,
      "copy_boards": true,
      "copy_task_lists": true,
      "copy_open_tasks": true,
      "copy_task_comments": false,
      "copy_task_subscribers": false,
      "copy_assignees": false,
      "copy_tags": false,
      "copy_estimate": true,
      "copy_views": true,
      "copy_as_template": false
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "661",
    "type": "projects",
    "attributes": {
      "name": "This is a name",
      "number": "4",
      "preferences": {},
      "project_number": "4",
      "project_color_id": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "1022"
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/projects/copy

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "projects",
    "attributes": {
      "name": "This is a name",
      "template_id": 662,
      "project_type_id": 1,
      "copy_deals": true
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "663",
    "type": "projects",
    "attributes": {
      "name": "This is a name",
      "number": "2",
      "preferences": {},
      "project_number": "2",
      "project_color_id": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "1023"
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/projects/copy

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "projects",
    "attributes": {}
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/name"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/template"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/project_type_id"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "is not included in the list",
      "source": {
        "pointer": "data/attributes/project_type_id"
      }
    }
  ]
}

Copies a project
POST/api/v2/projects/copy


PATCH /api/v2/projects/change_workflow
Requestschanges project workflow and maps tasks and schedules automationsreturn errorreturn errorreturn errorreturn errorreturn error

PATCH  /api/v2/projects/672/change_workflow

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "projects",
    "attributes": {
      "map": {
        "867": 871,
        "868": 872,
        "869": 871
      }
    },
    "relationships": {
      "workflow": {
        "data": {
          "type": "workflows",
          "id": "767"
        }
      }
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "672",
    "type": "projects",
    "attributes": {
      "name": "test project",
      "number": "1",
      "preferences": {},
      "project_number": "1",
      "project_type_id": 2,
      "project_color_id": null,
      "last_activity_at": "2025-10-14T06:06:57.000+02:00",
      "time_on_tasks": false,
      "tag_colors": {},
      "archived_at": null,
      "created_at": "2025-10-14T06:06:57.257+02:00",
      "template": false,
      "duplication_status": "idle",
      "custom_fields": null,
      "task_custom_fields_ids": null,
      "task_custom_fields_positions": null,
      "page_custom_fields_ids": null,
      "page_custom_fields_positions": null,
      "sample_data": false
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "1026"
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "project_manager": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "workflow": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "template_object": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/projects/678/change_workflow

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "projects",
    "attributes": {
      "map": {}
    },
    "relationships": {
      "workflow": {
        "data": {
          "type": "workflows",
          "id": "780"
        }
      }
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/map"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "must have 2 (including one closed) or more workflow statuses defined",
      "source": {
        "pointer": "data/attributes/workflow"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "doesn't contain all statuses from current project workflow",
      "source": {
        "pointer": "data/attributes/map"
      }
    }
  ]
}

PATCH  /api/v2/projects/684/change_workflow

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "projects",
    "attributes": {
      "map": {
        "890": 894,
        "891": 895,
        "892": 894
      }
    },
    "relationships": {
      "workflow": {
        "data": {
          "type": "workflows",
          "id": "0"
        }
      }
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "attribute is invalid",
      "source": {
        "pointer": "data/attributes/workflow"
      }
    }
  ]
}

PATCH  /api/v2/projects/690/change_workflow

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "projects",
    "attributes": {},
    "relationships": {
      "workflow": {
        "data": {
          "type": "workflows",
          "id": "789"
        }
      }
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/map"
      }
    }
  ]
}

PATCH  /api/v2/projects/696/change_workflow

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "projects",
    "attributes": {
      "map": {
        "912": 916,
        "913": 917
      }
    },
    "relationships": {
      "workflow": {
        "data": {
          "type": "workflows",
          "id": "796"
        }
      }
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "doesn't contain all statuses from current project workflow",
      "source": {
        "pointer": "data/attributes/map"
      }
    }
  ]
}

PATCH  /api/v2/projects/702/change_workflow

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "projects",
    "attributes": {
      "map": {
        "923": 927,
        "924": "0",
        "925": 927
      }
    },
    "relationships": {
      "workflow": {
        "data": {
          "type": "workflows",
          "id": "803"
        }
      }
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "contains invalid statuses",
      "source": {
        "pointer": "data/attributes/map"
      }
    }
  ]
}

Changes workflow on project
PATCH/api/v2/projects/change_workflow

URI Parameters
HideShow
workflow_id
number (required) Example: 1

workflow id

map
json (required) Example: %7B+1%3A+5%2C+2%3A+6+%7D

mapping from current workflow statuses to new workflow statuses


PATCH /api/v2/projects/map_to_workflow
Requestsmaps tasks from task lists to statusesreturns errorreturns errorreturns error

PATCH  /api/v2/projects/713/map_to_workflow

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "projects",
    "attributes": {
      "map": {
        "136": 946,
        "137": 947,
        "138": 945
      }
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "713",
    "type": "projects",
    "attributes": {
      "name": "test project",
      "number": "1",
      "preferences": {},
      "project_number": "1",
      "project_type_id": 2,
      "project_color_id": null,
      "last_activity_at": "2025-10-14T06:07:01.000+02:00",
      "time_on_tasks": false,
      "tag_colors": {},
      "archived_at": null,
      "created_at": "2025-10-14T06:07:01.293+02:00",
      "template": false,
      "duplication_status": "idle",
      "custom_fields": null,
      "task_custom_fields_ids": null,
      "task_custom_fields_positions": null,
      "page_custom_fields_ids": null,
      "page_custom_fields_positions": null,
      "sample_data": false
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "1033"
        }
      },
      "company": {
        "meta": {
          "included": false
        }
      },
      "project_manager": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "workflow": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "template_object": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/projects/717/map_to_workflow

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "projects",
    "attributes": {}
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/map"
      }
    }
  ]
}

PATCH  /api/v2/projects/721/map_to_workflow

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "projects",
    "attributes": {
      "map": {
        "0": 961,
        "142": 960
      }
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "contains invalid task_list_id",
      "source": {
        "pointer": "data/attributes/map"
      }
    }
  ]
}

PATCH  /api/v2/projects/725/map_to_workflow

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "projects",
    "attributes": {
      "map": {
        "145": 971,
        "146": "0"
      }
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "contains invalid statuses",
      "source": {
        "pointer": "data/attributes/map"
      }
    }
  ]
}

Change workflow on project and map task lists to workflow statuses on project tasks
PATCH/api/v2/projects/map_to_workflow

URI Parameters
HideShow
workflow_id
number (required) Example: 1

workflow id

map
json (required) Example: %7B1%3A+5%2C+2%3A+6%7D

mapping from task lists to workflow statuses


Generated by aglio on 14 Oct 2025