API Documentation

API Endpoint

Project Assignments

Project Assignments

Supported filter params

  • project_id (array)

  • person_id (array)

GET /api/v2/project_assignments
Requestsreturns project assignments

GET  /api/v2/project_assignments?filter[project_id]=599

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": "8",
      "type": "project_assignments",
      "attributes": {
        "default_filter_id": null,
        "tasks_layout_id": null,
        "created_at": "2025-10-03T06:06:45.292+02:00",
        "preferences": null,
        "budgets_filter_id": null,
        "deals_filter_id": null,
        "invoices_filter_id": null,
        "docs_filter_id": null,
        "watched": null
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "978"
          }
        },
        "person": {
          "meta": {
            "included": false
          }
        },
        "project": {
          "meta": {
            "included": false
          }
        },
        "favorite_filter": {
          "meta": {
            "included": false
          }
        },
        "budgets_favorite_filter": {
          "meta": {
            "included": false
          }
        },
        "deals_favorite_filter": {
          "meta": {
            "included": false
          }
        },
        "invoices_favorite_filter": {
          "meta": {
            "included": false
          }
        },
        "docs_favorite_filter": {
          "meta": {
            "included": false
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/project_assignments?filter%5Bproject_id%5D=599&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/project_assignments?filter%5Bproject_id%5D=599&page%5Bnumber%5D=1&page%5Bsize%5D=30"
  },
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 1,
    "page_size": 30,
    "max_page_size": 200
  }
}

Get project assignments
GET/api/v2/project_assignments


GET /api/v2/project_assignments/1
Requestsreturns project assignment

GET  /api/v2/project_assignments/10

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": "10",
    "type": "project_assignments",
    "attributes": {
      "default_filter_id": null,
      "tasks_layout_id": null,
      "created_at": "2025-10-03T06:06:45.578+02:00",
      "preferences": null,
      "budgets_filter_id": null,
      "deals_filter_id": null,
      "invoices_filter_id": null,
      "docs_filter_id": null,
      "watched": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "980"
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "project": {
        "meta": {
          "included": false
        }
      },
      "favorite_filter": {
        "meta": {
          "included": false
        }
      },
      "budgets_favorite_filter": {
        "meta": {
          "included": false
        }
      },
      "deals_favorite_filter": {
        "meta": {
          "included": false
        }
      },
      "invoices_favorite_filter": {
        "meta": {
          "included": false
        }
      },
      "docs_favorite_filter": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Gets a project assignment
GET/api/v2/project_assignments/{id}

URI Parameters
HideShow
id
number (required) Example: 1

project assignment id


POST /api/v2/project_assignments
Requestscreates project assignmentreturns errorreturns error

POST  /api/v2/project_assignments

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": "project_assignments",
    "attributes": {},
    "relationships": {
      "project": {
        "data": {
          "type": "projects",
          "id": "603"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "3355"
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "13",
    "type": "project_assignments",
    "attributes": {
      "default_filter_id": null,
      "tasks_layout_id": null,
      "created_at": "2025-10-03T06:06:45.866+02:00",
      "preferences": null,
      "budgets_filter_id": null,
      "deals_filter_id": null,
      "invoices_filter_id": null,
      "docs_filter_id": null,
      "watched": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "982"
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "project": {
        "meta": {
          "included": false
        }
      },
      "favorite_filter": {
        "meta": {
          "included": false
        }
      },
      "budgets_favorite_filter": {
        "meta": {
          "included": false
        }
      },
      "deals_favorite_filter": {
        "meta": {
          "included": false
        }
      },
      "invoices_favorite_filter": {
        "meta": {
          "included": false
        }
      },
      "docs_favorite_filter": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/project_assignments

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": "project_assignments",
    "attributes": {},
    "relationships": {
      "project": {
        "data": {
          "type": "projects",
          "id": "0"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "3361"
        }
      }
    }
  }
}
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/project"
      }
    }
  ]
}

POST  /api/v2/project_assignments

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": "project_assignments",
    "attributes": {},
    "relationships": {
      "project": {
        "data": {
          "type": "projects",
          "id": "607"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "3365"
        }
      }
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "has already been assigned to that project",
      "source": {
        "pointer": "data/attributes/person"
      }
    }
  ]
}

Create a project assignment
POST/api/v2/project_assignments


PATCH /api/v2/project_assignments/1
Requestsupdates project assignmentreturns errorreturns error

PATCH  /api/v2/project_assignments/21

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": "project_assignments",
    "attributes": {
      "default_filter_id": 27
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "21",
    "type": "project_assignments",
    "attributes": {
      "default_filter_id": 27,
      "tasks_layout_id": null,
      "created_at": "2025-10-03T06:06:46.787+02:00",
      "preferences": null,
      "budgets_filter_id": null,
      "deals_filter_id": null,
      "invoices_filter_id": null,
      "docs_filter_id": null,
      "watched": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "989"
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "project": {
        "meta": {
          "included": false
        }
      },
      "favorite_filter": {
        "meta": {
          "included": false
        }
      },
      "budgets_favorite_filter": {
        "meta": {
          "included": false
        }
      },
      "deals_favorite_filter": {
        "meta": {
          "included": false
        }
      },
      "invoices_favorite_filter": {
        "meta": {
          "included": false
        }
      },
      "docs_favorite_filter": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/project_assignments/27

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": "project_assignments",
    "attributes": {},
    "relationships": {
      "project": {
        "data": {
          "type": "projects",
          "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/project"
      }
    }
  ]
}

PATCH  /api/v2/project_assignments/28

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": "project_assignments",
    "attributes": {},
    "relationships": {
      "project": {
        "data": {
          "type": "projects",
          "id": "622"
        }
      }
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "has already been assigned to that project",
      "source": {
        "pointer": "data/attributes/person"
      }
    }
  ]
}

Update a project assignment
PATCH/api/v2/project_assignments/{id}

URI Parameters
HideShow
id
number (required) Example: 1

project assignment id


DELETE /api/v2/project_assignments/1
Requestsdeletes assignment

DELETE  /api/v2/project_assignments/30

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 assignment
DELETE/api/v2/project_assignments/{id}

URI Parameters
HideShow
id
number (required) Example: 1

project assignment id


Generated by aglio on 03 Oct 2025