{ "opencollection": "1.0.0", "info": { "name": "Novu Activity Topics API", "version": "3.15.0" }, "request": { "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "items": [ { "info": { "name": "Topics", "type": "folder" }, "items": [ { "info": { "name": "Novu Check Topic Subscriber", "type": "http" }, "http": { "method": "GET", "url": "https://api.novu.co/v1/topics/:topicKey/subscribers/:externalSubscriberId", "params": [ { "name": "externalSubscriberId", "value": "", "type": "path", "description": "The external subscriber id" }, { "name": "topicKey", "value": "", "type": "path", "description": "The topic key" } ], "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Check if a subscriber belongs to a certain topic" }, { "info": { "name": "Novu List All Topics", "type": "http" }, "http": { "method": "GET", "url": "https://api.novu.co/v2/topics", "params": [ { "name": "after", "value": "", "type": "query", "description": "Cursor for pagination indicating the starting point after which to fetch results." }, { "name": "before", "value": "", "type": "query", "description": "Cursor for pagination indicating the ending point before which to fetch results." }, { "name": "limit", "value": "10", "type": "query", "description": "Limit the number of items to return (max 100)" }, { "name": "orderDirection", "value": "", "type": "query", "description": "Direction of sorting" }, { "name": "orderBy", "value": "", "type": "query", "description": "Field to order by" }, { "name": "includeCursor", "value": "", "type": "query", "description": "Include cursor item in response" }, { "name": "key", "value": "", "type": "query", "description": "Key of the topic to filter results." }, { "name": "name", "value": "", "type": "query", "description": "Name of the topic to filter results." } ], "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "This api returns a paginated list of topics.\n Topics can be filtered by **key**, **name**, or **includeCursor** to paginate through the list. \n Checkout all available filters in the query section." }, { "info": { "name": "Novu Create a Topic", "type": "http" }, "http": { "method": "POST", "url": "https://api.novu.co/v2/topics", "params": [ { "name": "failIfExists", "value": "", "type": "query", "description": "If true, the request will fail if a topic with the same key already exists" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Creates a new topic if it does not exist, or updates an existing topic if it already exists. Use ?failIfExists=true to prevent updates." }, { "info": { "name": "Novu Retrieve a Topic", "type": "http" }, "http": { "method": "GET", "url": "https://api.novu.co/v2/topics/:topicKey", "params": [ { "name": "topicKey", "value": "", "type": "path", "description": "The key identifier of the topic" } ], "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Retrieve a topic by its unique key identifier **topicKey**" }, { "info": { "name": "Novu Update a Topic", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.novu.co/v2/topics/:topicKey", "params": [ { "name": "topicKey", "value": "", "type": "path", "description": "The key identifier of the topic" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Update a topic name by its unique key identifier **topicKey**" }, { "info": { "name": "Novu Delete a Topic", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.novu.co/v2/topics/:topicKey", "params": [ { "name": "topicKey", "value": "", "type": "path", "description": "The key identifier of the topic" } ], "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Delete a topic by its unique key identifier **topicKey**. \n This action is irreversible and will remove all subscriptions to the topic." }, { "info": { "name": "Novu List Topic Subscriptions", "type": "http" }, "http": { "method": "GET", "url": "https://api.novu.co/v2/topics/:topicKey/subscriptions", "params": [ { "name": "topicKey", "value": "", "type": "path", "description": "The key identifier of the topic" }, { "name": "after", "value": "", "type": "query", "description": "Cursor for pagination indicating the starting point after which to fetch results." }, { "name": "before", "value": "", "type": "query", "description": "Cursor for pagination indicating the ending point before which to fetch results." }, { "name": "limit", "value": "10", "type": "query", "description": "Limit the number of items to return (max 100)" }, { "name": "orderDirection", "value": "", "type": "query", "description": "Direction of sorting" }, { "name": "orderBy", "value": "", "type": "query", "description": "Field to order by" }, { "name": "includeCursor", "value": "", "type": "query", "description": "Include cursor item in response" }, { "name": "subscriberId", "value": "", "type": "query", "description": "Filter by subscriber ID" }, { "name": "contextKeys", "value": "tenant:org-123,region:us-east-1", "type": "query", "description": "Filter by exact context keys, order insensitive (format: \"type:id\")" } ], "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "List all subscriptions of subscribers for a topic.\n Checkout all available filters in the query section." }, { "info": { "name": "Novu Create Topic Subscriptions", "type": "http" }, "http": { "method": "POST", "url": "https://api.novu.co/v2/topics/:topicKey/subscriptions", "params": [ { "name": "topicKey", "value": "", "type": "path", "description": "The key identifier of the topic" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "This api will create subscription for subscriberIds for a topic. \n Its like subscribing to a common interest group. if topic does not exist, it will be created." }, { "info": { "name": "Novu Delete Topic Subscriptions", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.novu.co/v2/topics/:topicKey/subscriptions", "params": [ { "name": "topicKey", "value": "", "type": "path", "description": "The key identifier of the topic" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Delete subscriptions for subscriberIds for a topic." }, { "info": { "name": "Novu Retrieve a Topic Subscription", "type": "http" }, "http": { "method": "GET", "url": "https://api.novu.co/v2/topics/:topicKey/subscriptions/:identifier", "params": [ { "name": "topicKey", "value": "", "type": "path", "description": "The key identifier of the topic" }, { "name": "identifier", "value": "", "type": "path", "description": "The unique identifier of the subscription" } ], "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Retrieve a subscription by its unique identifier for a topic." }, { "info": { "name": "Novu Update a Topic Subscription", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.novu.co/v2/topics/:topicKey/subscriptions/:identifier", "params": [ { "name": "topicKey", "value": "", "type": "path", "description": "The key identifier of the topic" }, { "name": "identifier", "value": "", "type": "path", "description": "The unique identifier of the subscription" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "docs": "Update a subscription by its unique identifier for a topic. You can update the preferences and name associated with the subscription." } ] } ], "bundled": true }