Skip to main content
POST
/
v2
/
subscribers
/
{subscriberId}
/
notifications
/
archive
PHP
declare(strict_types=1);

require 'vendor/autoload.php';

use novu;
use novu\Models\Components;

$sdk = novu\Novu::builder()
    ->setSecurity(
        'YOUR_SECRET_KEY_HERE'
    )
    ->build();

$updateAllSubscriberNotificationsDto = new Components\UpdateAllSubscriberNotificationsDto();

$response = $sdk->subscribers->notifications->archiveAll(
    subscriberId: '<id>',
    updateAllSubscriberNotificationsDto: $updateAllSubscriberNotificationsDto

);

if ($response->statusCode === 200) {
    // handle response
}
from novu_py import Novu


with Novu(
secret_key="YOUR_SECRET_KEY_HERE",
) as novu:

res = novu.subscribers.notifications.archive_all(subscriber_id="<id>", update_all_subscriber_notifications_dto={})

# Handle response
print(res)
package main

import(
"context"
"github.com/novuhq/novu-go/v3"
"github.com/novuhq/novu-go/v3/models/components"
"log"
)

func main() {
ctx := context.Background()

s := v3.New(
v3.WithSecurity("YOUR_SECRET_KEY_HERE"),
)

res, err := s.Subscribers.Notifications.ArchiveAll(ctx, "<id>", components.UpdateAllSubscriberNotificationsDto{}, nil)
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}
import { Novu } from "@novu/api";

const novu = new Novu({
secretKey: "YOUR_SECRET_KEY_HERE",
});

async function run() {
const result = await novu.subscribers.notifications.archiveAll({}, "<id>");

console.log(result);
}

run();
using Novu;
using Novu.Models.Components;

var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");

var res = await sdk.Subscribers.Notifications.ArchiveAllAsync(
subscriberId: "<id>",
updateAllSubscriberNotificationsDto: new UpdateAllSubscriberNotificationsDto() {}
);

// handle response
curl --request POST \
--url https://api.novu.co/v2/subscribers/{subscriberId}/notifications/archive \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"tags": {},
"data": "<string>",
"contextKeys": [
"<string>"
]
}
'
const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({tags: {}, data: '<string>', contextKeys: ['<string>']})
};

fetch('https://api.novu.co/v2/subscribers/{subscriberId}/notifications/archive', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
HttpResponse<String> response = Unirest.post("https://api.novu.co/v2/subscribers/{subscriberId}/notifications/archive")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"tags\": {},\n \"data\": \"<string>\",\n \"contextKeys\": [\n \"<string>\"\n ]\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.novu.co/v2/subscribers/{subscriberId}/notifications/archive")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"tags\": {},\n \"data\": \"<string>\",\n \"contextKeys\": [\n \"<string>\"\n ]\n}"

response = http.request(request)
puts response.read_body
{
  "statusCode": 404,
  "timestamp": "2024-12-12T13:00:00Z",
  "path": "/api/v1/resource",
  "message": "xx xx xx ",
  "ctx": {
    "workflowId": "some_wf_id",
    "stepId": "some_wf_id"
  },
  "errorId": "abc123"
}
{
"statusCode": 404,
"timestamp": "2024-12-12T13:00:00Z",
"path": "/api/v1/resource",
"message": "xx xx xx ",
"ctx": {
"workflowId": "some_wf_id",
"stepId": "some_wf_id"
},
"errorId": "abc123"
}
{
"statusCode": 404,
"timestamp": "2024-12-12T13:00:00Z",
"path": "/api/v1/resource",
"message": "xx xx xx ",
"ctx": {
"workflowId": "some_wf_id",
"stepId": "some_wf_id"
},
"errorId": "abc123"
}
{
"statusCode": 404,
"timestamp": "2024-12-12T13:00:00Z",
"path": "/api/v1/resource",
"message": "xx xx xx ",
"ctx": {
"workflowId": "some_wf_id",
"stepId": "some_wf_id"
},
"errorId": "abc123"
}
{
"statusCode": 404,
"timestamp": "2024-12-12T13:00:00Z",
"path": "/api/v1/resource",
"message": "xx xx xx ",
"ctx": {
"workflowId": "some_wf_id",
"stepId": "some_wf_id"
},
"errorId": "abc123"
}
{
"statusCode": 404,
"timestamp": "2024-12-12T13:00:00Z",
"path": "/api/v1/resource",
"message": "xx xx xx ",
"ctx": {
"workflowId": "some_wf_id",
"stepId": "some_wf_id"
},
"errorId": "abc123"
}
{
"statusCode": 404,
"timestamp": "2024-12-12T13:00:00Z",
"path": "/api/v1/resource",
"message": "xx xx xx ",
"ctx": {
"workflowId": "some_wf_id",
"stepId": "some_wf_id"
},
"errorId": "abc123"
}
{
"statusCode": 404,
"timestamp": "2024-12-12T13:00:00Z",
"path": "/api/v1/resource",
"message": "xx xx xx ",
"ctx": {
"workflowId": "some_wf_id",
"stepId": "some_wf_id"
},
"errorId": "abc123"
}
{
"statusCode": 404,
"timestamp": "2024-12-12T13:00:00Z",
"path": "/api/v1/resource",
"message": "xx xx xx ",
"ctx": {
"workflowId": "some_wf_id",
"stepId": "some_wf_id"
},
"errorId": "abc123"
}
{
"statusCode": 404,
"timestamp": "2024-12-12T13:00:00Z",
"path": "/api/v1/resource",
"errors": {
"fieldName1": {
"messages": [
"Field is required",
"Must be a valid email address"
],
"value": "invalidEmail"
},
"fieldName2": {
"messages": [
"Must be at least 18 years old"
],
"value": 17
},
"fieldName3": {
"messages": [
"Must be a boolean value"
],
"value": true
},
"fieldName4": {
"messages": [
"Must be a valid object"
],
"value": {
"key": "value"
}
},
"fieldName5": {
"messages": [
"Field is missing"
],
"value": null
},
"fieldName6": {
"messages": [
"Undefined value"
]
}
},
"message": "xx xx xx ",
"ctx": {
"workflowId": "some_wf_id",
"stepId": "some_wf_id"
},
"errorId": "abc123"
}
"API rate limit exceeded"
{
"statusCode": 404,
"timestamp": "2024-12-12T13:00:00Z",
"path": "/api/v1/resource",
"message": "xx xx xx ",
"ctx": {
"workflowId": "some_wf_id",
"stepId": "some_wf_id"
},
"errorId": "abc123"
}
"Please wait some time, then try again."

Authorizations

Authorization
string
header
required

API key authentication. Allowed headers-- "Authorization: ApiKey <novu_secret_key>".

Headers

idempotency-key
string

A header for idempotency purposes

Path Parameters

subscriberId
string
required

The identifier of the subscriber

Body

application/json
tags
object

Filter notifications by workflow tags (OR for string[], or { and: [{ or: string[] }, ...] } for AND of OR-groups).

data
string

Filter notifications by data attributes (JSON string)

contextKeys
string[]

Context keys for filtering notifications

Response