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": "626",
      "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-04T02:07:53.000+02:00",
        "time_on_tasks": true,
        "tag_colors": {},
        "archived_at": null,
        "created_at": "2025-10-04T02:07:53.951+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": "1001"
          }
        },
        "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": "628",
      "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-04T02:07:54.000+02:00",
        "time_on_tasks": false,
        "tag_colors": {},
        "archived_at": null,
        "created_at": "2025-10-04T02:07:54.048+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": "1001"
          }
        },
        "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": "629",
      "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-04T02:07:54.000+02:00",
        "time_on_tasks": false,
        "tag_colors": {},
        "archived_at": null,
        "created_at": "2025-10-04T02:07:54.064+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": "1001"
          }
        },
        "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/634

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": "634",
    "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-04T02:07:54.000+02:00",
      "time_on_tasks": true,
      "tag_colors": {},
      "archived_at": null,
      "created_at": "2025-10-04T02:07:54.357+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
        }
      }
    }
  },
  "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": "2478"
        }
      },
      "project_manager": {
        "data": {
          "type": "people",
          "id": "3429"
        }
      },
      "workflow": {
        "data": {
          "type": "workflows",
          "id": "728"
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "636",
    "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-04T02:07:54.000+02:00",
      "time_on_tasks": false,
      "tag_colors": {},
      "archived_at": null,
      "created_at": "2025-10-04T02:07:54.461+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": "1004"
        }
      },
      "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/641

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": "641",
    "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-04T02:07:54.000+02:00",
      "time_on_tasks": true,
      "tag_colors": {},
      "archived_at": null,
      "created_at": "2025-10-04T02:07:54.850+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": "1009"
        }
      },
      "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/642

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": 3436,
      "project_type_id": 2,
      "project_color_id": 2
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "642",
    "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-04T02:07:54.000+02:00",
      "time_on_tasks": false,
      "tag_colors": {},
      "archived_at": "2025-10-04T02:07:54.000+02:00",
      "created_at": "2025-10-04T02:07:54.929+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": "1010"
        }
      },
      "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/645

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/646

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": 743
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "646",
    "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-04T02:07:55.000+02:00",
      "time_on_tasks": true,
      "tag_colors": {},
      "archived_at": null,
      "created_at": "2025-10-04T02:07:55.563+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": "1013"
        }
      },
      "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/647/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": "647",
    "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-04T02:07:55.000+02:00",
      "time_on_tasks": true,
      "tag_colors": {},
      "archived_at": "2025-10-04T02:07:55.000+02:00",
      "created_at": "2025-10-04T02:07:55.657+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": "1014"
        }
      },
      "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/648/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": "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-04T02:07:55.000+02:00",
      "time_on_tasks": true,
      "tag_colors": {},
      "archived_at": "2025-10-04T02:07:55.000+02:00",
      "created_at": "2025-10-04T02:07:55.736+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": "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": {}
}

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/649/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": "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-04T02:07:55.000+02:00",
      "time_on_tasks": false,
      "tag_colors": {},
      "archived_at": null,
      "created_at": "2025-10-04T02:07:55.814+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": {}
}

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/650

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": 651,
      "company_id": 2510,
      "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": "652",
    "type": "projects",
    "attributes": {
      "name": "This is a name",
      "number": "2",
      "preferences": {},
      "project_number": "2",
      "project_color_id": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "1018"
        }
      },
      "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": 654,
      "company_id": 2513,
      "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": "655",
    "type": "projects",
    "attributes": {
      "name": "This is a name",
      "number": null,
      "preferences": {},
      "project_number": null,
      "project_color_id": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "1019"
        }
      },
      "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": 658,
      "company_id": 2517,
      "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": "659",
    "type": "projects",
    "attributes": {
      "name": "This is a name",
      "number": "4",
      "preferences": {},
      "project_number": "4",
      "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",
      "template_id": 660,
      "project_type_id": 1,
      "copy_deals": true
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "661",
    "type": "projects",
    "attributes": {
      "name": "This is a name",
      "number": "2",
      "preferences": {},
      "project_number": "2",
      "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": {}
  }
}
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/670/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": {
        "865": 869,
        "866": 870,
        "867": 869
      }
    },
    "relationships": {
      "workflow": {
        "data": {
          "type": "workflows",
          "id": "765"
        }
      }
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "670",
    "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-04T02:07:57.000+02:00",
      "time_on_tasks": false,
      "tag_colors": {},
      "archived_at": null,
      "created_at": "2025-10-04T02:07:57.258+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": "1024"
        }
      },
      "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/676/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": "778"
        }
      }
    }
  }
}
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/682/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": {
        "888": 892,
        "889": 893,
        "890": 892
      }
    },
    "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/688/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": "787"
        }
      }
    }
  }
}
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/694/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": {
        "910": 914,
        "911": 915
      }
    },
    "relationships": {
      "workflow": {
        "data": {
          "type": "workflows",
          "id": "794"
        }
      }
    }
  }
}
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/700/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": {
        "921": 925,
        "922": "0",
        "923": 925
      }
    },
    "relationships": {
      "workflow": {
        "data": {
          "type": "workflows",
          "id": "801"
        }
      }
    }
  }
}
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/711/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": 944,
        "137": 945,
        "138": 943
      }
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "711",
    "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-04T02:08:01.000+02:00",
      "time_on_tasks": false,
      "tag_colors": {},
      "archived_at": null,
      "created_at": "2025-10-04T02:08:01.447+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": "1031"
        }
      },
      "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/715/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/719/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": 959,
        "142": 958
      }
    }
  }
}
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/723/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": 969,
        "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 04 Oct 2025