API Documentation

API Endpoint

Filters

Filters

Filters records are used to save the setup of your views, reports and widgets across Productive.

Supported filter params

  • id

  • project_id (array)

  • filterable_collection

GET /api/v2/filters
Requestsreturns filters

GET  /api/v2/filters

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": "1-projects",
      "type": "filters",
      "attributes": {
        "name": "filter test name",
        "filterable_id": null,
        "filterable_type": null,
        "filterable_collection": "projects",
        "original_id": 1,
        "public": false,
        "default": false,
        "columns": null,
        "params": {
          "name": "person",
          "assignee": "2"
        },
        "export_params": {},
        "sort_by": null,
        "group_by": null,
        "layout_id": null,
        "transpose_by": null,
        "report": false,
        "description": null,
        "chart_type_id": null,
        "report_layout_id": null,
        "column_settings": null,
        "settings": null,
        "created_at": "2025-08-01T06:05:51.059+02:00",
        "updated_at": "2025-08-01T06:05:51.059+02:00",
        "formulas": null,
        "predefined_id": null,
        "hidden": false,
        "type_id": 1,
        "exchange_currency": null,
        "exchange_date": {},
        "shared": false
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "579"
          }
        },
        "creator": {
          "meta": {
            "included": false
          }
        },
        "report_category": {
          "meta": {
            "included": false
          }
        },
        "memberships": {
          "meta": {
            "included": false
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/filters?page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/filters?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 filters
GET/api/v2/filters


GET /api/v2/filters/1
Requestsreturns filter

GET  /api/v2/filters/2

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": "2-projects",
    "type": "filters",
    "attributes": {
      "name": "filter test name",
      "filterable_id": null,
      "filterable_type": null,
      "filterable_collection": "projects",
      "original_id": 2,
      "public": false,
      "default": false,
      "columns": null,
      "params": {
        "name": "person",
        "assignee": "2"
      },
      "export_params": {},
      "sort_by": null,
      "group_by": null,
      "layout_id": null,
      "transpose_by": null,
      "report": false,
      "description": null,
      "chart_type_id": null,
      "report_layout_id": null,
      "column_settings": null,
      "settings": null,
      "created_at": "2025-08-01T06:05:51.121+02:00",
      "updated_at": "2025-08-01T06:05:51.121+02:00",
      "formulas": null,
      "predefined_id": null,
      "hidden": false,
      "type_id": 1,
      "exchange_currency": null,
      "exchange_date": {},
      "shared": false
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "580"
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "report_category": {
        "meta": {
          "included": false
        }
      },
      "memberships": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Gets a filter
GET/api/v2/filters/{id}

URI Parameters
HideShow
id
number (required) Example: 1

filter id


POST /api/v2/filters
Requestscreates filtercreates filter when widget and doesnt track intercom eventcreates filter when report and tracks intercom eventcreates filterreturns errorreturns error

POST  /api/v2/filters

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": "filters",
    "attributes": {
      "name": "test name",
      "filterable_collection": "invoices",
      "params": {
        "pay_on_after": "2020-01-08",
        "pay_on_before": "2020-01-18",
        "pay_on_interval_id": "10"
      },
      "layout_id": "1"
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "4-invoices",
    "type": "filters",
    "attributes": {
      "name": "test name",
      "filterable_id": null,
      "filterable_type": null,
      "filterable_collection": "invoices",
      "original_id": 4,
      "public": false,
      "default": false,
      "columns": null,
      "params": {
        "pay_on_after": "2020-01-08",
        "pay_on_before": "2020-01-18",
        "pay_on_interval_id": "10"
      },
      "export_params": null,
      "sort_by": null,
      "group_by": null,
      "layout_id": 1,
      "transpose_by": null,
      "report": false,
      "description": null,
      "chart_type_id": null,
      "report_layout_id": null,
      "column_settings": null,
      "settings": null,
      "created_at": "2025-08-01T06:05:51.193+02:00",
      "updated_at": "2025-08-01T06:05:51.193+02:00",
      "formulas": null,
      "predefined_id": null,
      "hidden": false,
      "type_id": 1,
      "exchange_currency": null,
      "exchange_date": null,
      "shared": false
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "581"
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "report_category": {
        "meta": {
          "included": false
        }
      },
      "memberships": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/filters

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": "filters",
    "attributes": {
      "name": "test name",
      "filterable_collection": "invoices",
      "params": {},
      "layout_id": "1",
      "type_id": "3"
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "6-invoices",
    "type": "filters",
    "attributes": {
      "name": "test name",
      "filterable_id": null,
      "filterable_type": null,
      "filterable_collection": "invoices",
      "original_id": 6,
      "public": false,
      "default": false,
      "columns": null,
      "params": {},
      "export_params": null,
      "sort_by": null,
      "group_by": null,
      "layout_id": 1,
      "transpose_by": null,
      "report": false,
      "description": null,
      "chart_type_id": null,
      "report_layout_id": null,
      "column_settings": null,
      "settings": null,
      "created_at": "2025-08-01T06:05:51.247+02:00",
      "updated_at": "2025-08-01T06:05:51.247+02:00",
      "formulas": null,
      "predefined_id": null,
      "hidden": false,
      "type_id": 3,
      "exchange_currency": null,
      "exchange_date": null,
      "shared": false
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "582"
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "report_category": {
        "meta": {
          "included": false
        }
      },
      "memberships": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/filters

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": "filters",
    "attributes": {
      "name": "test name",
      "filterable_collection": "invoices",
      "params": {},
      "layout_id": "1",
      "type_id": "2"
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "8-invoices",
    "type": "filters",
    "attributes": {
      "name": "test name",
      "filterable_id": null,
      "filterable_type": null,
      "filterable_collection": "invoices",
      "original_id": 8,
      "public": false,
      "default": false,
      "columns": null,
      "params": {},
      "export_params": null,
      "sort_by": null,
      "group_by": null,
      "layout_id": 1,
      "transpose_by": null,
      "report": false,
      "description": null,
      "chart_type_id": null,
      "report_layout_id": null,
      "column_settings": null,
      "settings": null,
      "created_at": "2025-08-01T06:05:51.300+02:00",
      "updated_at": "2025-08-01T06:05:51.300+02:00",
      "formulas": null,
      "predefined_id": null,
      "hidden": false,
      "pulse_count": 0,
      "type_id": 2,
      "exchange_currency": null,
      "exchange_date": null,
      "shared": false
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "583"
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "report_category": {
        "meta": {
          "included": false
        }
      },
      "memberships": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/filters

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": "filters",
    "attributes": {
      "name": "test name",
      "filterable_collection": "projects",
      "report_category_id": "1",
      "params": {}
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "10-projects",
    "type": "filters",
    "attributes": {
      "name": "test name",
      "filterable_id": null,
      "filterable_type": null,
      "filterable_collection": "projects",
      "original_id": 10,
      "public": false,
      "default": false,
      "columns": null,
      "params": {},
      "export_params": null,
      "sort_by": null,
      "group_by": null,
      "layout_id": null,
      "transpose_by": null,
      "report": false,
      "description": null,
      "chart_type_id": null,
      "report_layout_id": null,
      "column_settings": null,
      "settings": null,
      "created_at": "2025-08-01T06:05:51.371+02:00",
      "updated_at": "2025-08-01T06:05:51.371+02:00",
      "formulas": null,
      "predefined_id": null,
      "hidden": false,
      "type_id": 1,
      "exchange_currency": null,
      "exchange_date": null,
      "shared": false
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "584"
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "report_category": {
        "meta": {
          "included": false
        }
      },
      "memberships": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/filters

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": "filters",
    "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"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/filterable_collection"
      }
    }
  ]
}

POST  /api/v2/filters

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": "filters",
    "attributes": {
      "name": "test name",
      "filterable_collection": "projects",
      "report_category_id": "not_a_number"
    }
  }
}
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/report_category"
      }
    }
  ]
}

Create a filter
POST/api/v2/filters

URI Parameters
HideShow
name
string (required) Example: Name

name

filterable_collection
string (required) Example: Project

filterable collection

filterable_type
string (required) Example: Tasks

filterable type

type_id
number (optional) Example: 1

1: view, 2: report, 3: widget


PATCH /api/v2/filters/1
Requestsupdates filterreturns error

PATCH  /api/v2/filters/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": "filters",
    "attributes": {
      "name": "new name",
      "params": {}
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "20-projects",
    "type": "filters",
    "attributes": {
      "name": "new name",
      "filterable_id": null,
      "filterable_type": null,
      "filterable_collection": "projects",
      "original_id": 20,
      "public": false,
      "default": false,
      "columns": null,
      "params": {},
      "export_params": {},
      "sort_by": null,
      "group_by": null,
      "layout_id": null,
      "transpose_by": null,
      "report": false,
      "description": null,
      "chart_type_id": null,
      "report_layout_id": null,
      "column_settings": null,
      "settings": null,
      "created_at": "2025-08-01T06:05:51.828+02:00",
      "updated_at": "2025-08-01T06:05:51.840+02:00",
      "formulas": null,
      "predefined_id": null,
      "hidden": false,
      "type_id": 1,
      "exchange_currency": null,
      "exchange_date": {},
      "shared": false
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "591"
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "report_category": {
        "meta": {
          "included": false
        }
      },
      "memberships": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/filters/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": "filters",
    "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"
      }
    }
  ]
}

Update a filter
PATCH/api/v2/filters/{id}

URI Parameters
HideShow
id
number (required) Example: 1

filter id


DELETE /api/v2/filters/1
Requestsdeletes filter

DELETE  /api/v2/filters/23

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 filter
DELETE/api/v2/filters/{id}

URI Parameters
HideShow
id
number (required) Example: 1

filter id


Generated by aglio on 01 Aug 2025