API Reference
Subscribers
- GETGet subscribers
- POSTCreate subscriber
- POSTBulk create subscribers
- GETGet subscriber
- PUTUpdate subscriber
- DELDelete subscriber
- PUTUpdate provider credentials
- DELDelete provider credentials
- PATCHUpdate subscriber online status
- GETGet subscriber preferences
- GETGet subscriber global preferences
- PATCHUpdate subscriber preference
- PATCHUpdate subscriber global preferences
- GETRetrieve subscriber notifications
- GETRetrieve unseen notifications count
- POSTMark a subscriber feed message as seen
- POSTUpdate all notifications state
- POSTUpdate notification action status
- GETHandle providers oauth redirect
- GETHandle chat oauth
Topics
Notification
Workflows
Workflow Overrides
Workflow groups
Integrations
Layouts
Execution Details
Organizations
Subscribers
Update notification action status
Update in-app (inbox) notification’s action status by its unique key identifier messageId and type field type. type field can be primary or secondary
POST
/
v1
/
subscribers
/
{subscriberId}
/
messages
/
{messageId}
/
actions
/
{type}
curl --request POST \
--url https://api.novu.co/v1/subscribers/{subscriberId}/messages/{messageId}/actions/{type} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
"status": "pending",
"payload": {}
}'
{
"data": {
"_id": "<string>",
"_templateId": "<string>",
"_environmentId": "<string>",
"_messageTemplateId": "<string>",
"_organizationId": "<string>",
"_notificationId": "<string>",
"_subscriberId": "<string>",
"subscriber": {
"_id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>",
"phone": "<string>",
"avatar": "<string>",
"locale": "<string>",
"channels": [
{
"providerId": "slack",
"integrationIdentifier": "<string>",
"credentials": {
"webhookUrl": "https://example.com/webhook",
"channel": "general",
"deviceTokens": [
"token1",
"token2",
"token3"
],
"alertUid": "12345-abcde",
"title": "Critical Alert",
"imageUrl": "https://example.com/image.png",
"state": "resolved",
"externalUrl": "https://example.com/details"
},
"_integrationId": "<string>"
}
],
"topics": [
"<string>"
],
"isOnline": true,
"lastOnlineAt": "<string>",
"__v": 123,
"data": {},
"timezone": "<string>",
"subscriberId": "<string>",
"_organizationId": "<string>",
"_environmentId": "<string>",
"deleted": true,
"createdAt": "<string>",
"updatedAt": "<string>"
},
"template": {
"_id": "<string>",
"name": "<string>",
"description": "<string>",
"active": true,
"draft": true,
"preferenceSettings": {
"email": true,
"sms": false,
"in_app": true,
"chat": false,
"push": true
},
"critical": true,
"tags": [
"<string>"
],
"steps": [
{
"_id": "<string>",
"uuid": "<string>",
"name": "<string>",
"_templateId": "<string>",
"active": true,
"shouldStopOnFail": true,
"template": {},
"filters": [
{
"isNegated": true,
"type": "BOOLEAN",
"value": "AND",
"children": [
{
"field": "<string>",
"value": "<string>",
"operator": "LARGER",
"on": "subscriber"
}
]
}
],
"_parentId": "<string>",
"metadata": {
"amount": 123,
"unit": "seconds",
"digestKey": "<string>",
"type": "regular",
"backoff": true,
"backoffAmount": 123,
"backoffUnit": "seconds",
"updateMode": true
},
"replyCallback": {
"active": true,
"url": "<string>"
},
"variants": [
{
"_id": "<string>",
"uuid": "<string>",
"name": "<string>",
"_templateId": "<string>",
"active": true,
"shouldStopOnFail": true,
"template": {},
"filters": [
{
"isNegated": true,
"type": "BOOLEAN",
"value": "AND",
"children": [
{
"field": "<string>",
"value": "<string>",
"operator": "LARGER",
"on": "subscriber"
}
]
}
],
"_parentId": "<string>",
"metadata": {
"amount": 123,
"unit": "seconds",
"digestKey": "<string>",
"type": "regular",
"backoff": true,
"backoffAmount": 123,
"backoffUnit": "seconds",
"updateMode": true
},
"replyCallback": {
"active": true,
"url": "<string>"
}
}
]
}
],
"_organizationId": "<string>",
"_creatorId": "<string>",
"_environmentId": "<string>",
"triggers": [
{
"type": "event",
"identifier": "<string>",
"variables": [
{
"name": "<string>"
}
],
"subscriberVariables": [
{
"name": "<string>"
}
]
}
],
"_notificationGroupId": "<string>",
"_parentId": "<string>",
"deleted": true,
"deletedAt": "<string>",
"deletedBy": "<string>",
"notificationGroup": {
"_id": "<string>",
"name": "<string>",
"_environmentId": "<string>",
"_organizationId": "<string>",
"_parentId": "<string>"
},
"data": {},
"workflowIntegrationStatus": {}
},
"templateIdentifier": "<string>",
"createdAt": "<string>",
"deliveredAt": [
"<string>"
],
"lastSeenDate": "<string>",
"lastReadDate": "<string>",
"content": [
{
"type": "button",
"content": "<string>",
"url": "<string>",
"styles": {
"textAlign": "center"
}
}
],
"transactionId": "<string>",
"subject": "<string>",
"channel": "in_app",
"read": true,
"seen": true,
"snoozedUntil": "<string>",
"email": "<string>",
"phone": "<string>",
"directWebhookUrl": "<string>",
"providerId": "<string>",
"deviceTokens": [
"<string>"
],
"title": "<string>",
"cta": {
"type": "redirect",
"data": {
"url": "<string>"
},
"action": {
"status": "pending",
"buttons": [
{
"type": "primary",
"content": "<string>",
"resultContent": "<string>"
}
],
"result": {
"payload": {},
"type": "primary"
}
}
},
"_feedId": "<string>",
"status": "sent",
"errorId": "<string>",
"errorText": "<string>",
"payload": {},
"overrides": {}
}
}
Enter your API key in the Authorization
field like the example shown below:
E.g ApiKey 18d2e625f05d80e
Authorizations
API key authentication. Allowed headers-- "Authorization: ApiKey <api_key>".
Body
application/json
Response
201
application/json
Created
The response is of type object
.
Was this page helpful?
curl --request POST \
--url https://api.novu.co/v1/subscribers/{subscriberId}/messages/{messageId}/actions/{type} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
"status": "pending",
"payload": {}
}'
{
"data": {
"_id": "<string>",
"_templateId": "<string>",
"_environmentId": "<string>",
"_messageTemplateId": "<string>",
"_organizationId": "<string>",
"_notificationId": "<string>",
"_subscriberId": "<string>",
"subscriber": {
"_id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>",
"phone": "<string>",
"avatar": "<string>",
"locale": "<string>",
"channels": [
{
"providerId": "slack",
"integrationIdentifier": "<string>",
"credentials": {
"webhookUrl": "https://example.com/webhook",
"channel": "general",
"deviceTokens": [
"token1",
"token2",
"token3"
],
"alertUid": "12345-abcde",
"title": "Critical Alert",
"imageUrl": "https://example.com/image.png",
"state": "resolved",
"externalUrl": "https://example.com/details"
},
"_integrationId": "<string>"
}
],
"topics": [
"<string>"
],
"isOnline": true,
"lastOnlineAt": "<string>",
"__v": 123,
"data": {},
"timezone": "<string>",
"subscriberId": "<string>",
"_organizationId": "<string>",
"_environmentId": "<string>",
"deleted": true,
"createdAt": "<string>",
"updatedAt": "<string>"
},
"template": {
"_id": "<string>",
"name": "<string>",
"description": "<string>",
"active": true,
"draft": true,
"preferenceSettings": {
"email": true,
"sms": false,
"in_app": true,
"chat": false,
"push": true
},
"critical": true,
"tags": [
"<string>"
],
"steps": [
{
"_id": "<string>",
"uuid": "<string>",
"name": "<string>",
"_templateId": "<string>",
"active": true,
"shouldStopOnFail": true,
"template": {},
"filters": [
{
"isNegated": true,
"type": "BOOLEAN",
"value": "AND",
"children": [
{
"field": "<string>",
"value": "<string>",
"operator": "LARGER",
"on": "subscriber"
}
]
}
],
"_parentId": "<string>",
"metadata": {
"amount": 123,
"unit": "seconds",
"digestKey": "<string>",
"type": "regular",
"backoff": true,
"backoffAmount": 123,
"backoffUnit": "seconds",
"updateMode": true
},
"replyCallback": {
"active": true,
"url": "<string>"
},
"variants": [
{
"_id": "<string>",
"uuid": "<string>",
"name": "<string>",
"_templateId": "<string>",
"active": true,
"shouldStopOnFail": true,
"template": {},
"filters": [
{
"isNegated": true,
"type": "BOOLEAN",
"value": "AND",
"children": [
{
"field": "<string>",
"value": "<string>",
"operator": "LARGER",
"on": "subscriber"
}
]
}
],
"_parentId": "<string>",
"metadata": {
"amount": 123,
"unit": "seconds",
"digestKey": "<string>",
"type": "regular",
"backoff": true,
"backoffAmount": 123,
"backoffUnit": "seconds",
"updateMode": true
},
"replyCallback": {
"active": true,
"url": "<string>"
}
}
]
}
],
"_organizationId": "<string>",
"_creatorId": "<string>",
"_environmentId": "<string>",
"triggers": [
{
"type": "event",
"identifier": "<string>",
"variables": [
{
"name": "<string>"
}
],
"subscriberVariables": [
{
"name": "<string>"
}
]
}
],
"_notificationGroupId": "<string>",
"_parentId": "<string>",
"deleted": true,
"deletedAt": "<string>",
"deletedBy": "<string>",
"notificationGroup": {
"_id": "<string>",
"name": "<string>",
"_environmentId": "<string>",
"_organizationId": "<string>",
"_parentId": "<string>"
},
"data": {},
"workflowIntegrationStatus": {}
},
"templateIdentifier": "<string>",
"createdAt": "<string>",
"deliveredAt": [
"<string>"
],
"lastSeenDate": "<string>",
"lastReadDate": "<string>",
"content": [
{
"type": "button",
"content": "<string>",
"url": "<string>",
"styles": {
"textAlign": "center"
}
}
],
"transactionId": "<string>",
"subject": "<string>",
"channel": "in_app",
"read": true,
"seen": true,
"snoozedUntil": "<string>",
"email": "<string>",
"phone": "<string>",
"directWebhookUrl": "<string>",
"providerId": "<string>",
"deviceTokens": [
"<string>"
],
"title": "<string>",
"cta": {
"type": "redirect",
"data": {
"url": "<string>"
},
"action": {
"status": "pending",
"buttons": [
{
"type": "primary",
"content": "<string>",
"resultContent": "<string>"
}
],
"result": {
"payload": {},
"type": "primary"
}
}
},
"_feedId": "<string>",
"status": "sent",
"errorId": "<string>",
"errorText": "<string>",
"payload": {},
"overrides": {}
}
}
Assistant
Responses are generated using AI and may contain mistakes.