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

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": "513",
    "type": "notifications",
    "attributes": {
      "target_id": 43,
      "target_type": "task",
      "target_title": "#1: Ticket title",
      "parent_id": 523,
      "parent_type": "project",
      "parent_title": "[Client1315] test project",
      "title": "created task <b>#1: Ticket title</b> on <b>[Client1315] 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": "747"
        }
      },
      "actor": {
        "meta": {
          "included": false
        }
      },
      "owner": {
        "data": {
          "type": "organization_memberships",
          "id": "2751"
        }
      }
    }
  },
  "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/514/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": "514",
    "type": "notifications",
    "attributes": {
      "target_id": 46,
      "target_type": "task",
      "target_title": "#1: Ticket title",
      "parent_id": 527,
      "parent_type": "project",
      "parent_title": "[Client1319] test project",
      "title": "created task <b>#1: Ticket title</b> on <b>[Client1319] 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": "748"
        }
      },
      "actor": {
        "meta": {
          "included": false
        }
      },
      "owner": {
        "data": {
          "type": "organization_memberships",
          "id": "2765"
        }
      }
    }
  },
  "meta": {}
}

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

URI Parameters
HideShow
id
number (required) Example: 1

notification id


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

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

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

URI Parameters
HideShow
id
number (required) Example: 516

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

GET  /api/v2/notifications?filter[date_before]=2025-10-04

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": "520",
      "type": "notifications",
      "attributes": {
        "target_id": 64,
        "target_type": "task",
        "target_title": "#1: Ticket title",
        "parent_id": 551,
        "parent_type": "project",
        "parent_title": "[Client1343] test project",
        "title": "created task <b>#1: Ticket title</b> on <b>[Client1343] test project</b>",
        "read": false,
        "dismissed": false,
        "new_activities_count": 1,
        "excerpt": "",
        "last_action_at": "2025-10-03T02:07:22.135+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": "754"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "2849"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Bdate_before%5D=2025-10-04&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/notifications?filter%5Bdate_before%5D=2025-10-04&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-10-04

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": "522",
      "type": "notifications",
      "attributes": {
        "target_id": 68,
        "target_type": "task",
        "target_title": "#1: Ticket title",
        "parent_id": 556,
        "parent_type": "project",
        "parent_title": "[Client1348] test project",
        "title": "created task <b>#1: Ticket title</b> on <b>[Client1348] test project</b>",
        "read": false,
        "dismissed": false,
        "new_activities_count": 1,
        "excerpt": "",
        "last_action_at": "2025-10-05T02:07:23.098+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": "755"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "2866"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Bdate_after%5D=2025-10-04&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/notifications?filter%5Bdate_after%5D=2025-10-04&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": "524",
      "type": "notifications",
      "attributes": {
        "target_id": 72,
        "target_type": "task",
        "target_title": "#1: Ticket title",
        "parent_id": 561,
        "parent_type": "project",
        "parent_title": "[Client1353] test project",
        "title": "created task <b>#1: Ticket title</b> on <b>[Client1353] 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": "756"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "2883"
          }
        }
      }
    }
  ],
  "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]=566

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

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": 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": "758"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "2918"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Bproject_id%5D=572&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/notifications?filter%5Bproject_id%5D=572&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]=578&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": "530",
      "type": "notifications",
      "attributes": {
        "target_id": 84,
        "target_type": "task",
        "target_title": "#1: Ticket title",
        "parent_id": 578,
        "parent_type": "project",
        "parent_title": "[Client1370] test project",
        "title": "created task <b>#1: Ticket title</b> on <b>[Client1370] 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": "759"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "2936"
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/notifications?filter%5Bproject_id%5D=578&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=578&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": "533",
      "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": "760"
          }
        },
        "actor": {
          "meta": {
            "included": false
          }
        },
        "owner": {
          "data": {
            "type": "organization_memberships",
            "id": "2954"
          }
        }
      }
    }
  ],
  "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 04 Oct 2025