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]=757

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": "7",
      "type": "project_assignments",
      "attributes": {
        "default_filter_id": null,
        "tasks_layout_id": null,
        "created_at": "2025-08-01T06:06:48.209+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": "965"
          }
        },
        "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=757&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/project_assignments?filter%5Bproject_id%5D=757&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/9

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": "9",
    "type": "project_assignments",
    "attributes": {
      "default_filter_id": null,
      "tasks_layout_id": null,
      "created_at": "2025-08-01T06:06:48.470+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": "967"
        }
      },
      "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": "761"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "3434"
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "12",
    "type": "project_assignments",
    "attributes": {
      "default_filter_id": null,
      "tasks_layout_id": null,
      "created_at": "2025-08-01T06:06:48.720+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": "969"
        }
      },
      "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": "3440"
        }
      }
    }
  }
}
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": "765"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "3444"
        }
      }
    }
  }
}
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/20

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": 24
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "20",
    "type": "project_assignments",
    "attributes": {
      "default_filter_id": 24,
      "tasks_layout_id": null,
      "created_at": "2025-08-01T06:06:49.517+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": "976"
        }
      },
      "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/26

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/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": "784"
        }
      }
    }
  }
}
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/29

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 01 Aug 2025