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

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": "539",
    "type": "notifications",
    "attributes": {
      "target_id": 44,
      "target_type": "task",
      "target_title": "#1: Ticket title",
      "parent_id": 563,
      "parent_type": "project",
      "parent_title": "[Client1475] test project",
      "title": "created task <b>#1: Ticket title</b> on <b>[Client1475] 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": "810"
        }
      },
      "actor": {
        "meta": {
          "included": false
        }
      },
      "owner": {
        "data": {
          "type": "organization_memberships",
          "id": "3030"
        }
      }
    }
  },
  "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/540/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": "540",
    "type": "notifications",
    "attributes": {
      "target_id": 47,
      "target_type": "task",
      "target_title": "#1: Ticket title",
      "parent_id": 567,
      "parent_type": "project",
      "parent_title": "[Client1479] test project",
      "title": "created task <b>#1: Ticket title</b> on <b>[Client1479] 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": "811"
        }
      },
      "actor": {
        "meta": {
          "included": false
        }
      },
      "owner": {
        "data": {
          "type": "organization_memberships",
          "id": "3044"
        }
      }
    }
  },
  "meta": {}
}

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

URI Parameters
HideShow
id
number (required) Example: 1

notification id


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

PATCH  /api/v2/notifications/542/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": "542",
    "type": "notifications",
    "attributes": {
      "target_id": 53,
      "target_type": "task",
      "target_title": "#1: Ticket title",
      "parent_id": 575,
      "parent_type": "project",
      "parent_title": "[Client1487] test project",
      "title": "created task <b>#1: Ticket title</b> on <b>[Client1487] 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": "813"
        }
      },
      "actor": {
        "meta": {
          "included": false
        }
      },
      "owner": {
        "data": {
          "type": "organization_memberships",
          "id": "3072"
        }
      }
    }
  },
  "meta": {}
}

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

URI Parameters
HideShow
id
number (required) Example: 542

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/544/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": "544",
    "type": "notifications",
    "attributes": {
      "target_id": 59,
      "target_type": "task",
      "target_title": "#1: Ticket title",
      "parent_id": 583,
      "parent_type": "project",
      "parent_title": "[Client1495] test project",
      "title": "created task <b>#1: Ticket title</b> on <b>[Client1495] 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": "815"
        }
      },
      "actor": {
        "meta": {
          "included": false
        }
      },
      "owner": {
        "data": {
          "type": "organization_memberships",
          "id": "3100"
        }
      }
    }
  },
  "meta": {}
}

GET  /api/v2/notifications?filter[date_before]=2026-03-17

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": "546",
      "type": "notifications",
      "attributes": {
        "target_id": 65,
        "target_type": "task",
        "target_title": "#1: Ticket title",
        "parent_id": 591,
        "parent_type": "project",
        "parent_title": "[Client1503] test project",
        "title": "created task <b>#1: Ticket title</b> on <b>[Client1503] test project</b>",
        "read": false,
        "dismissed": false,
        "new_activities_count": 1,
        "excerpt": "",
        "last_action_at": "2026-03-16T05:08:24.488+01: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": "817"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "3128"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Bdate_before%5D=2026-03-17&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/notifications?filter%5Bdate_before%5D=2026-03-17&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]=2026-03-17

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": "548",
      "type": "notifications",
      "attributes": {
        "target_id": 69,
        "target_type": "task",
        "target_title": "#1: Ticket title",
        "parent_id": 596,
        "parent_type": "project",
        "parent_title": "[Client1508] test project",
        "title": "created task <b>#1: Ticket title</b> on <b>[Client1508] test project</b>",
        "read": false,
        "dismissed": false,
        "new_activities_count": 1,
        "excerpt": "",
        "last_action_at": "2026-03-18T05:08:25.180+01: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": "818"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "3145"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Bdate_after%5D=2026-03-17&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/notifications?filter%5Bdate_after%5D=2026-03-17&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": "550",
      "type": "notifications",
      "attributes": {
        "target_id": 73,
        "target_type": "task",
        "target_title": "#1: Ticket title",
        "parent_id": 601,
        "parent_type": "project",
        "parent_title": "[Client1513] test project",
        "title": "created task <b>#1: Ticket title</b> on <b>[Client1513] 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": "819"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "3162"
          }
        }
      }
    }
  ],
  "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]=606

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": "552",
      "type": "notifications",
      "attributes": {
        "target_id": 77,
        "target_type": "task",
        "target_title": "#1: Ticket title",
        "parent_id": 606,
        "parent_type": "project",
        "parent_title": "[Client1518] test project",
        "title": "created task <b>#1: Ticket title</b> on <b>[Client1518] 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": "820"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "3179"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Bproject_id%5D=606&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/notifications?filter%5Bproject_id%5D=606&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]=612

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": "554",
      "type": "notifications",
      "attributes": {
        "target_id": 1,
        "target_type": "todo",
        "target_title": "You need to do this.",
        "parent_id": 81,
        "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": "821"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "3197"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Bproject_id%5D=612&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/notifications?filter%5Bproject_id%5D=612&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]=618&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": "556",
      "type": "notifications",
      "attributes": {
        "target_id": 85,
        "target_type": "task",
        "target_title": "#1: Ticket title",
        "parent_id": 618,
        "parent_type": "project",
        "parent_title": "[Client1530] test project",
        "title": "created task <b>#1: Ticket title</b> on <b>[Client1530] 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": "822"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "3215"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Bproject_id%5D=618&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=618&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": "559",
      "type": "notifications",
      "attributes": {
        "target_id": 3,
        "target_type": "todo",
        "target_title": "You need to do this.",
        "parent_id": 89,
        "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": "823"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "3233"
          }
        }
      }
    }
  ],
  "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 17 Mar 2026