API Documentation

API Endpoint

Notifications

Notifications

Supported filter params

  • id

  • before

  • after

  • dismissed

  • important

GET /api/v2/notifications
Requestsreturns notifications

GET  /api/v2/notifications

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": [],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/notifications?page%5Bnumber%5D=0&page%5Bsize%5D=30"
  },
  "meta": {
    "current_page": 1,
    "total_pages": 0,
    "total_count": 0,
    "page_size": 30,
    "max_page_size": 200
  }
}

Get notifications
GET/api/v2/notifications


GET /api/v2/notifications/1
Requestsreturns notification

GET  /api/v2/notifications/233

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": "233",
    "type": "notifications",
    "attributes": {
      "target_id": 43,
      "target_type": "task",
      "target_title": "#1: Ticket title",
      "parent_id": 588,
      "parent_type": "project",
      "parent_title": "[Client1351] test project",
      "title": "created task <b>#1: Ticket title</b> on <b>[Client1351] test project</b>",
      "read": false,
      "dismissed": false,
      "new_activities_count": 1,
      "excerpt": "",
      "last_action_at": null,
      "first_unread_activity_id": 13,
      "changeset": [],
      "important": false,
      "mention": false,
      "target_label": "task",
      "made_by_automation": false,
      "root_id": null,
      "root_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "740"
        }
      },
      "actor": {
        "meta": {
          "included": false
        }
      },
      "owner": {
        "data": {
          "type": "organization_memberships",
          "id": "2748"
        }
      }
    }
  },
  "meta": {}
}

Shows a notification
GET/api/v2/notifications/{id}

URI Parameters
HideShow
id
number (required) Example: 1

notification id


PATCH /api/v2/notifications/1/dismiss
Requestsdismissed notification

PATCH  /api/v2/notifications/234/dismiss

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": "234",
    "type": "notifications",
    "attributes": {
      "target_id": 46,
      "target_type": "task",
      "target_title": "#1: Ticket title",
      "parent_id": 598,
      "parent_type": "project",
      "parent_title": "[Client1361] test project",
      "title": "created task <b>#1: Ticket title</b> on <b>[Client1361] test project</b>",
      "read": false,
      "dismissed": true,
      "new_activities_count": 1,
      "excerpt": "",
      "last_action_at": null,
      "first_unread_activity_id": 14,
      "changeset": [],
      "important": false,
      "mention": false,
      "target_label": "task",
      "made_by_automation": false,
      "root_id": null,
      "root_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "741"
        }
      },
      "actor": {
        "meta": {
          "included": false
        }
      },
      "owner": {
        "data": {
          "type": "organization_memberships",
          "id": "2768"
        }
      }
    }
  },
  "meta": {}
}

Dismisses a notification
PATCH/api/v2/notifications/{id}/dismiss

URI Parameters
HideShow
id
number (required) Example: 1

notification id


PATCH /api/v2/notifications/236/read
Requestsmarks notification as read when not read

PATCH  /api/v2/notifications/236/read

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": "236",
    "type": "notifications",
    "attributes": {
      "target_id": 52,
      "target_type": "task",
      "target_title": "#1: Ticket title",
      "parent_id": 618,
      "parent_type": "project",
      "parent_title": "[Client1381] test project",
      "title": "created task <b>#1: Ticket title</b> on <b>[Client1381] test project</b>",
      "read": true,
      "dismissed": false,
      "new_activities_count": 1,
      "excerpt": "",
      "last_action_at": null,
      "first_unread_activity_id": 16,
      "changeset": [],
      "important": false,
      "mention": false,
      "target_label": "task",
      "made_by_automation": false,
      "root_id": null,
      "root_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "743"
        }
      },
      "actor": {
        "meta": {
          "included": false
        }
      },
      "owner": {
        "data": {
          "type": "organization_memberships",
          "id": "2808"
        }
      }
    }
  },
  "meta": {}
}

Reads a notification
PATCH/api/v2/notifications/{id}/read

URI Parameters
HideShow
id
number (required) Example: 236

PATCH /api/v2/notifications/1/undismiss
Requestsundismisses notification when dismissedreturns notifications when filtering by date_beforereturns notifications when filtering by date_afterreturns notifications when filtering by typeon task returns notificationson todo returns notificationson task returns notificationson todo returns notifications

PATCH  /api/v2/notifications/238/undismiss

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": "238",
    "type": "notifications",
    "attributes": {
      "target_id": 58,
      "target_type": "task",
      "target_title": "#1: Ticket title",
      "parent_id": 638,
      "parent_type": "project",
      "parent_title": "[Client1401] test project",
      "title": "created task <b>#1: Ticket title</b> on <b>[Client1401] test project</b>",
      "read": false,
      "dismissed": false,
      "new_activities_count": 1,
      "excerpt": "",
      "last_action_at": null,
      "first_unread_activity_id": 18,
      "changeset": [],
      "important": true,
      "mention": true,
      "target_label": "task",
      "made_by_automation": false,
      "root_id": null,
      "root_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "745"
        }
      },
      "actor": {
        "meta": {
          "included": false
        }
      },
      "owner": {
        "data": {
          "type": "organization_memberships",
          "id": "2848"
        }
      }
    }
  },
  "meta": {}
}

GET  /api/v2/notifications?filter[date_before]=2025-08-02

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": "240",
      "type": "notifications",
      "attributes": {
        "target_id": 64,
        "target_type": "task",
        "target_title": "#1: Ticket title",
        "parent_id": 658,
        "parent_type": "project",
        "parent_title": "[Client1421] test project",
        "title": "created task <b>#1: Ticket title</b> on <b>[Client1421] test project</b>",
        "read": false,
        "dismissed": false,
        "new_activities_count": 1,
        "excerpt": "",
        "last_action_at": "2025-08-01T02:08:25.129+02:00",
        "first_unread_activity_id": 20,
        "changeset": [],
        "important": false,
        "mention": false,
        "target_label": "task",
        "made_by_automation": false,
        "root_id": null,
        "root_type": null
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "747"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "2888"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Bdate_before%5D=2025-08-02&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/notifications?filter%5Bdate_before%5D=2025-08-02&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  /api/v2/notifications?filter[date_after]=2025-08-02

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": "242",
      "type": "notifications",
      "attributes": {
        "target_id": 68,
        "target_type": "task",
        "target_title": "#1: Ticket title",
        "parent_id": 671,
        "parent_type": "project",
        "parent_title": "[Client1434] test project",
        "title": "created task <b>#1: Ticket title</b> on <b>[Client1434] test project</b>",
        "read": false,
        "dismissed": false,
        "new_activities_count": 1,
        "excerpt": "",
        "last_action_at": "2025-08-03T02:08:26.075+02:00",
        "first_unread_activity_id": 21,
        "changeset": [],
        "important": false,
        "mention": false,
        "target_label": "task",
        "made_by_automation": false,
        "root_id": null,
        "root_type": null
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "748"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "2913"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Bdate_after%5D=2025-08-02&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/notifications?filter%5Bdate_after%5D=2025-08-02&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  /api/v2/notifications?filter[type]=Task

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": "244",
      "type": "notifications",
      "attributes": {
        "target_id": 72,
        "target_type": "task",
        "target_title": "#1: Ticket title",
        "parent_id": 684,
        "parent_type": "project",
        "parent_title": "[Client1447] test project",
        "title": "created task <b>#1: Ticket title</b> on <b>[Client1447] test project</b>",
        "read": false,
        "dismissed": false,
        "new_activities_count": 1,
        "excerpt": "",
        "last_action_at": null,
        "first_unread_activity_id": 22,
        "changeset": [],
        "important": false,
        "mention": false,
        "target_label": "task",
        "made_by_automation": false,
        "root_id": null,
        "root_type": null
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "749"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "2938"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Btype%5D=Task&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/notifications?filter%5Btype%5D=Task&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  /api/v2/notifications?filter[project_id]=697

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": "246",
      "type": "notifications",
      "attributes": {
        "target_id": 76,
        "target_type": "task",
        "target_title": "#1: Ticket title",
        "parent_id": 697,
        "parent_type": "project",
        "parent_title": "[Client1460] test project",
        "title": "created task <b>#1: Ticket title</b> on <b>[Client1460] test project</b>",
        "read": false,
        "dismissed": false,
        "new_activities_count": 1,
        "excerpt": "",
        "last_action_at": null,
        "first_unread_activity_id": 23,
        "changeset": [],
        "important": false,
        "mention": false,
        "target_label": "task",
        "made_by_automation": false,
        "root_id": null,
        "root_type": null
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "750"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "2963"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Bproject_id%5D=697&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/notifications?filter%5Bproject_id%5D=697&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  /api/v2/notifications?filter[project_id]=710

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": "248",
      "type": "notifications",
      "attributes": {
        "target_id": 1,
        "target_type": "todo",
        "target_title": "You need to do this.",
        "parent_id": 80,
        "parent_type": "task",
        "parent_title": "#1: Ticket title",
        "title": "created todo <b>You need to do this.</b> on <b>#1: Ticket title</b>",
        "read": false,
        "dismissed": false,
        "new_activities_count": 1,
        "excerpt": "",
        "last_action_at": null,
        "first_unread_activity_id": 24,
        "changeset": [],
        "important": false,
        "mention": false,
        "target_label": "todo",
        "made_by_automation": false,
        "root_id": null,
        "root_type": null
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "751"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "2988"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Bproject_id%5D=710&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/notifications?filter%5Bproject_id%5D=710&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  /api/v2/notifications?filter[project_id]=723&filter[type]=Task

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": "250",
      "type": "notifications",
      "attributes": {
        "target_id": 84,
        "target_type": "task",
        "target_title": "#1: Ticket title",
        "parent_id": 723,
        "parent_type": "project",
        "parent_title": "[Client1486] test project",
        "title": "created task <b>#1: Ticket title</b> on <b>[Client1486] test project</b>",
        "read": false,
        "dismissed": false,
        "new_activities_count": 1,
        "excerpt": "",
        "last_action_at": null,
        "first_unread_activity_id": 25,
        "changeset": [],
        "important": false,
        "mention": false,
        "target_label": "task",
        "made_by_automation": false,
        "root_id": null,
        "root_type": null
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "752"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "3013"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Bproject_id%5D=723&filter%5Btype%5D=Task&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/notifications?filter%5Bproject_id%5D=723&filter%5Btype%5D=Task&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  /api/v2/notifications?filter[type]=Todo

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": "253",
      "type": "notifications",
      "attributes": {
        "target_id": 3,
        "target_type": "todo",
        "target_title": "You need to do this.",
        "parent_id": 88,
        "parent_type": "task",
        "parent_title": "#1: Ticket title",
        "title": "created todo <b>You need to do this.</b> on <b>#1: Ticket title</b>",
        "read": false,
        "dismissed": false,
        "new_activities_count": 1,
        "excerpt": "",
        "last_action_at": null,
        "first_unread_activity_id": 26,
        "changeset": [],
        "important": false,
        "mention": false,
        "target_label": "todo",
        "made_by_automation": false,
        "root_id": null,
        "root_type": null
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "753"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "3038"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Btype%5D=Todo&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/notifications?filter%5Btype%5D=Todo&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
  }
}

Undismisses a notification
PATCH/api/v2/notifications/{id}/undismiss

URI Parameters
HideShow
id
number (required) Example: 1

notification id


Generated by aglio on 02 Aug 2025