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

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": 43,
      "target_type": "task",
      "target_title": "#1: Ticket title",
      "parent_id": 538,
      "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": 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": "763"
        }
      },
      "actor": {
        "meta": {
          "included": false
        }
      },
      "owner": {
        "data": {
          "type": "organization_memberships",
          "id": "2866"
        }
      }
    }
  },
  "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/528/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": "528",
    "type": "notifications",
    "attributes": {
      "target_id": 46,
      "target_type": "task",
      "target_title": "#1: Ticket title",
      "parent_id": 542,
      "parent_type": "project",
      "parent_title": "[Client1360] test project",
      "title": "created task <b>#1: Ticket title</b> on <b>[Client1360] 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": "764"
        }
      },
      "actor": {
        "meta": {
          "included": false
        }
      },
      "owner": {
        "data": {
          "type": "organization_memberships",
          "id": "2880"
        }
      }
    }
  },
  "meta": {}
}

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

URI Parameters
HideShow
id
number (required) Example: 1

notification id


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

PATCH  /api/v2/notifications/530/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": "530",
    "type": "notifications",
    "attributes": {
      "target_id": 52,
      "target_type": "task",
      "target_title": "#1: Ticket title",
      "parent_id": 550,
      "parent_type": "project",
      "parent_title": "[Client1368] test project",
      "title": "created task <b>#1: Ticket title</b> on <b>[Client1368] 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": "766"
        }
      },
      "actor": {
        "meta": {
          "included": false
        }
      },
      "owner": {
        "data": {
          "type": "organization_memberships",
          "id": "2908"
        }
      }
    }
  },
  "meta": {}
}

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

URI Parameters
HideShow
id
number (required) Example: 530

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/532/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": "532",
    "type": "notifications",
    "attributes": {
      "target_id": 58,
      "target_type": "task",
      "target_title": "#1: Ticket title",
      "parent_id": 558,
      "parent_type": "project",
      "parent_title": "[Client1376] test project",
      "title": "created task <b>#1: Ticket title</b> on <b>[Client1376] 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": "768"
        }
      },
      "actor": {
        "meta": {
          "included": false
        }
      },
      "owner": {
        "data": {
          "type": "organization_memberships",
          "id": "2936"
        }
      }
    }
  },
  "meta": {}
}

GET  /api/v2/notifications?filter[date_before]=2025-12-06

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": "534",
      "type": "notifications",
      "attributes": {
        "target_id": 64,
        "target_type": "task",
        "target_title": "#1: Ticket title",
        "parent_id": 566,
        "parent_type": "project",
        "parent_title": "[Client1384] test project",
        "title": "created task <b>#1: Ticket title</b> on <b>[Client1384] test project</b>",
        "read": false,
        "dismissed": false,
        "new_activities_count": 1,
        "excerpt": "",
        "last_action_at": "2025-12-05T01:07:49.195+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": "770"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "2964"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Bdate_before%5D=2025-12-06&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/notifications?filter%5Bdate_before%5D=2025-12-06&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-12-06

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": "536",
      "type": "notifications",
      "attributes": {
        "target_id": 68,
        "target_type": "task",
        "target_title": "#1: Ticket title",
        "parent_id": 571,
        "parent_type": "project",
        "parent_title": "[Client1389] test project",
        "title": "created task <b>#1: Ticket title</b> on <b>[Client1389] test project</b>",
        "read": false,
        "dismissed": false,
        "new_activities_count": 1,
        "excerpt": "",
        "last_action_at": "2025-12-07T01:07:49.679+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": "771"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "2981"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Bdate_after%5D=2025-12-06&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/notifications?filter%5Bdate_after%5D=2025-12-06&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": "538",
      "type": "notifications",
      "attributes": {
        "target_id": 72,
        "target_type": "task",
        "target_title": "#1: Ticket title",
        "parent_id": 576,
        "parent_type": "project",
        "parent_title": "[Client1394] test project",
        "title": "created task <b>#1: Ticket title</b> on <b>[Client1394] 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": "772"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "2998"
          }
        }
      }
    }
  ],
  "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]=581

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

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": 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": 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": "774"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "3033"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Bproject_id%5D=587&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/notifications?filter%5Bproject_id%5D=587&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]=593&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": "544",
      "type": "notifications",
      "attributes": {
        "target_id": 84,
        "target_type": "task",
        "target_title": "#1: Ticket title",
        "parent_id": 593,
        "parent_type": "project",
        "parent_title": "[Client1411] test project",
        "title": "created task <b>#1: Ticket title</b> on <b>[Client1411] 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": "775"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "3051"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Bproject_id%5D=593&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=593&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": "547",
      "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": 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": "776"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "3069"
          }
        }
      }
    }
  ],
  "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 06 Dec 2025