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

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": "524",
    "type": "notifications",
    "attributes": {
      "target_id": 42,
      "target_type": "task",
      "target_title": "#1: Ticket title",
      "parent_id": 537,
      "parent_type": "project",
      "parent_title": "[Client1352] test project",
      "title": "created task <b>#1: Ticket title</b> on <b>[Client1352] test project</b>",
      "read": false,
      "dismissed": false,
      "new_activities_count": 1,
      "excerpt": "",
      "last_action_at": null,
      "first_unread_activity_id": 12,
      "changeset": [],
      "important": false,
      "mention": false,
      "target_label": "task",
      "made_by_automation": false,
      "root_id": null,
      "root_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "762"
        }
      },
      "actor": {
        "meta": {
          "included": false
        }
      },
      "owner": {
        "data": {
          "type": "organization_memberships",
          "id": "2861"
        }
      }
    }
  },
  "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/525/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": "525",
    "type": "notifications",
    "attributes": {
      "target_id": 45,
      "target_type": "task",
      "target_title": "#1: Ticket title",
      "parent_id": 541,
      "parent_type": "project",
      "parent_title": "[Client1356] test project",
      "title": "created task <b>#1: Ticket title</b> on <b>[Client1356] test project</b>",
      "read": false,
      "dismissed": true,
      "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": "763"
        }
      },
      "actor": {
        "meta": {
          "included": false
        }
      },
      "owner": {
        "data": {
          "type": "organization_memberships",
          "id": "2875"
        }
      }
    }
  },
  "meta": {}
}

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

URI Parameters
HideShow
id
number (required) Example: 1

notification id


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

PATCH  /api/v2/notifications/527/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": "527",
    "type": "notifications",
    "attributes": {
      "target_id": 51,
      "target_type": "task",
      "target_title": "#1: Ticket title",
      "parent_id": 549,
      "parent_type": "project",
      "parent_title": "[Client1364] test project",
      "title": "created task <b>#1: Ticket title</b> on <b>[Client1364] test project</b>",
      "read": true,
      "dismissed": false,
      "new_activities_count": 1,
      "excerpt": "",
      "last_action_at": null,
      "first_unread_activity_id": 15,
      "changeset": [],
      "important": false,
      "mention": false,
      "target_label": "task",
      "made_by_automation": false,
      "root_id": null,
      "root_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "765"
        }
      },
      "actor": {
        "meta": {
          "included": false
        }
      },
      "owner": {
        "data": {
          "type": "organization_memberships",
          "id": "2903"
        }
      }
    }
  },
  "meta": {}
}

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

URI Parameters
HideShow
id
number (required) Example: 527

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

GET  /api/v2/notifications?filter[date_before]=2025-11-24

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": "531",
      "type": "notifications",
      "attributes": {
        "target_id": 63,
        "target_type": "task",
        "target_title": "#1: Ticket title",
        "parent_id": 565,
        "parent_type": "project",
        "parent_title": "[Client1380] test project",
        "title": "created task <b>#1: Ticket title</b> on <b>[Client1380] test project</b>",
        "read": false,
        "dismissed": false,
        "new_activities_count": 1,
        "excerpt": "",
        "last_action_at": "2025-11-23T05:06:22.608+01:00",
        "first_unread_activity_id": 19,
        "changeset": [],
        "important": false,
        "mention": false,
        "target_label": "task",
        "made_by_automation": false,
        "root_id": null,
        "root_type": null
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "769"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "2959"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Bdate_before%5D=2025-11-24&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/notifications?filter%5Bdate_before%5D=2025-11-24&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-11-24

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": "533",
      "type": "notifications",
      "attributes": {
        "target_id": 67,
        "target_type": "task",
        "target_title": "#1: Ticket title",
        "parent_id": 570,
        "parent_type": "project",
        "parent_title": "[Client1385] test project",
        "title": "created task <b>#1: Ticket title</b> on <b>[Client1385] test project</b>",
        "read": false,
        "dismissed": false,
        "new_activities_count": 1,
        "excerpt": "",
        "last_action_at": "2025-11-25T05:06:23.020+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": "770"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "2976"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Bdate_after%5D=2025-11-24&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/notifications?filter%5Bdate_after%5D=2025-11-24&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": "535",
      "type": "notifications",
      "attributes": {
        "target_id": 71,
        "target_type": "task",
        "target_title": "#1: Ticket title",
        "parent_id": 575,
        "parent_type": "project",
        "parent_title": "[Client1390] test project",
        "title": "created task <b>#1: Ticket title</b> on <b>[Client1390] test project</b>",
        "read": false,
        "dismissed": false,
        "new_activities_count": 1,
        "excerpt": "",
        "last_action_at": null,
        "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": "771"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "2993"
          }
        }
      }
    }
  ],
  "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]=580

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

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": 1,
        "target_type": "todo",
        "target_title": "You need to do this.",
        "parent_id": 79,
        "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": 23,
        "changeset": [],
        "important": false,
        "mention": false,
        "target_label": "todo",
        "made_by_automation": false,
        "root_id": null,
        "root_type": null
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "773"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "3028"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Bproject_id%5D=586&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/notifications?filter%5Bproject_id%5D=586&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]=592&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": "541",
      "type": "notifications",
      "attributes": {
        "target_id": 83,
        "target_type": "task",
        "target_title": "#1: Ticket title",
        "parent_id": 592,
        "parent_type": "project",
        "parent_title": "[Client1407] test project",
        "title": "created task <b>#1: Ticket title</b> on <b>[Client1407] test project</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": "task",
        "made_by_automation": false,
        "root_id": null,
        "root_type": null
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "774"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "3046"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Bproject_id%5D=592&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=592&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": "544",
      "type": "notifications",
      "attributes": {
        "target_id": 3,
        "target_type": "todo",
        "target_title": "You need to do this.",
        "parent_id": 87,
        "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": 25,
        "changeset": [],
        "important": false,
        "mention": false,
        "target_label": "todo",
        "made_by_automation": false,
        "root_id": null,
        "root_type": null
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "775"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "3064"
          }
        }
      }
    }
  ],
  "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 24 Nov 2025