Broadcast event to all
Trigger a broadcast event to all existing subscribers, could be used to send announcements, etc.
In the future could be used to trigger events to a subset of subscribers based on defined filters.
import { Novu } from "@novu/api";
const novu = new Novu({
secretKey: "YOUR_SECRET_KEY_HERE",
});
async function run() {
const result = await novu.triggerBroadcast({
name: "<value>",
payload: {
"comment_id": "string",
"post": {
"text": "string",
},
},
overrides: {
additionalProperties: {
"fcm": {
"data": {
"key": "value",
},
},
},
},
actor: {
firstName: "John",
lastName: "Doe",
email: "[email protected]",
phone: "+1234567890",
avatar: "https://example.com/avatar.jpg",
locale: "en-US",
timezone: "America/New_York",
subscriberId: "<id>",
},
context: {
"key": "org-acme",
},
});
console.log(result);
}
run();using Novu;
using Novu.Models.Components;
using System.Collections.Generic;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.BroadcastAsync(triggerEventToAllRequestDto: new TriggerEventToAllRequestDto() {
Name = "<value>",
Payload = new Dictionary<string, object>() {
{ "comment_id", "string" },
{ "post", new Dictionary<string, object>() {
{ "text", "string" },
} },
},
Overrides = new TriggerEventToAllRequestDtoOverrides() {
AdditionalProperties = new Dictionary<string, Dictionary<string, object>>() {
{ "fcm", new Dictionary<string, object>() {
{ "data", new Dictionary<string, object>() {
{ "key", "value" },
} },
} },
},
},
Actor = TriggerEventToAllRequestDtoActor.CreateSubscriberPayloadDto(
new SubscriberPayloadDto() {
FirstName = "John",
LastName = "Doe",
Email = "[email protected]",
Phone = "+1234567890",
Avatar = "https://example.com/avatar.jpg",
Locale = "en-US",
Timezone = "America/New_York",
SubscriberId = "<id>",
}
),
Context = new Dictionary<string, TriggerEventToAllRequestDtoContext>() {
{ "key", TriggerEventToAllRequestDtoContext.CreateStr(
"org-acme"
) },
},
});
// handle responsedeclare(strict_types=1);
require 'vendor/autoload.php';
use novu;
use novu\Models\Components;
$sdk = novu\Novu::builder()
->setSecurity(
'YOUR_SECRET_KEY_HERE'
)
->build();
$triggerEventToAllRequestDto = new Components\TriggerEventToAllRequestDto(
name: '<value>',
payload: [
'comment_id' => 'string',
'post' => [
'text' => 'string',
],
],
overrides: new Components\TriggerEventToAllRequestDtoOverrides(
additionalProperties: [
'fcm' => [
'data' => [
'key' => 'value',
],
],
],
),
actor: new Components\SubscriberPayloadDto(
firstName: 'John',
lastName: 'Doe',
email: '[email protected]',
phone: '+1234567890',
avatar: 'https://example.com/avatar.jpg',
locale: 'en-US',
timezone: 'America/New_York',
subscriberId: '<id>',
),
context: [
'key' => 'org-acme',
],
);
$response = $sdk->triggerBroadcast(
triggerEventToAllRequestDto: $triggerEventToAllRequestDto
);
if ($response->triggerEventResponseDto !== null) {
// handle response
}import novu_py
from novu_py import Novu
with Novu(
secret_key="YOUR_SECRET_KEY_HERE",
) as novu:
res = novu.trigger_broadcast(trigger_event_to_all_request_dto=novu_py.TriggerEventToAllRequestDto(
name="<value>",
payload={
"comment_id": "string",
"post": {
"text": "string",
},
},
overrides=novu_py.TriggerEventToAllRequestDtoOverrides(
**{
"fcm": {
"data": {
"key": "value",
},
},
},
),
actor=novu_py.SubscriberPayloadDto(
first_name="John",
last_name="Doe",
email="[email protected]",
phone="+1234567890",
avatar="https://example.com/avatar.jpg",
locale="en-US",
timezone="America/New_York",
subscriber_id="<id>",
),
context={
"key": "org-acme",
},
))
# 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.TriggerBroadcast(ctx, components.TriggerEventToAllRequestDto{
Name: "<value>",
Payload: map[string]any{
"comment_id": "string",
"post": map[string]any{
"text": "string",
},
},
Overrides: &components.TriggerEventToAllRequestDtoOverrides{
AdditionalProperties: map[string]map[string]any{
"fcm": map[string]any{
"data": map[string]any{
"key": "value",
},
},
},
},
Actor: v3.Pointer(components.CreateTriggerEventToAllRequestDtoActorSubscriberPayloadDto(
components.SubscriberPayloadDto{
FirstName: v3.Pointer("John"),
LastName: v3.Pointer("Doe"),
Email: v3.Pointer("[email protected]"),
Phone: v3.Pointer("+1234567890"),
Avatar: v3.Pointer("https://example.com/avatar.jpg"),
Locale: v3.Pointer("en-US"),
Timezone: v3.Pointer("America/New_York"),
SubscriberID: "<id>",
},
)),
Context: map[string]components.TriggerEventToAllRequestDtoContext{
"key": components.CreateTriggerEventToAllRequestDtoContextStr(
"org-acme",
),
},
}, nil)
if err != nil {
log.Fatal(err)
}
if res.TriggerEventResponseDto != nil {
// handle response
}
}curl --request POST \
--url https://api.novu.co/v1/events/trigger/broadcast \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"payload": {
"comment_id": "string",
"post": {
"text": "string"
}
},
"overrides": {
"fcm": {
"data": {
"key": "value"
}
}
},
"transactionId": "<string>",
"actor": "<string>",
"tenant": "<string>",
"context": {}
}
'const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
payload: {comment_id: 'string', post: {text: 'string'}},
overrides: {fcm: {data: {key: 'value'}}},
transactionId: '<string>',
actor: '<string>',
tenant: '<string>',
context: {}
})
};
fetch('https://api.novu.co/v1/events/trigger/broadcast', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.post("https://api.novu.co/v1/events/trigger/broadcast")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"payload\": {\n \"comment_id\": \"string\",\n \"post\": {\n \"text\": \"string\"\n }\n },\n \"overrides\": {\n \"fcm\": {\n \"data\": {\n \"key\": \"value\"\n }\n }\n },\n \"transactionId\": \"<string>\",\n \"actor\": \"<string>\",\n \"tenant\": \"<string>\",\n \"context\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.novu.co/v1/events/trigger/broadcast")
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 \"name\": \"<string>\",\n \"payload\": {\n \"comment_id\": \"string\",\n \"post\": {\n \"text\": \"string\"\n }\n },\n \"overrides\": {\n \"fcm\": {\n \"data\": {\n \"key\": \"value\"\n }\n }\n },\n \"transactionId\": \"<string>\",\n \"actor\": \"<string>\",\n \"tenant\": \"<string>\",\n \"context\": {}\n}"
response = http.request(request)
puts response.read_body{
"acknowledged": true,
"error": [
"<string>"
],
"transactionId": "<string>",
"activityFeedLink": "<string>",
"jobData": {}
}{
"acknowledged": true,
"error": [
"<string>"
],
"transactionId": "<string>",
"activityFeedLink": "<string>",
"jobData": {}
}{
"statusCode": 404,
"timestamp": "2024-12-12T13:00:00Z",
"path": "/api/v1/resource",
"type": "PAYLOAD_VALIDATION_ERROR",
"errors": [
{
"field": "user.name",
"message": "must have required property 'name'",
"value": {
"age": 25
},
"schemaPath": "#/required"
}
],
"message": "xx xx xx ",
"ctx": {
"workflowId": "some_wf_id",
"stepId": "some_wf_id"
},
"errorId": "abc123",
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"age": {
"type": "number"
}
},
"required": [
"name"
]
}
}{
"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
API key authentication. Allowed headers-- "Authorization: ApiKey <novu_secret_key>".
Headers
A header for idempotency purposes
Body
The trigger identifier associated for the template you wish to send. This identifier can be found on the template page.
The payload object is used to pass additional information that could be used to render the template, or perform routing rules based on it. For In-App channel, payload data are also available in
{
"comment_id": "string",
"post": { "text": "string" }
}
This could be used to override provider specific configurations
Show child attributes
Show child attributes
{ "fcm": { "data": { "key": "value" } } }
A unique identifier for this transaction, we will generated a UUID if not provided.
It is used to display the Avatar of the provided actor's subscriber id or actor object. If a new actor object is provided, we will create a new subscriber in our system
It is used to specify a tenant context during trigger event. If a new tenant object is provided, we will create a new tenant.
Show child attributes
Show child attributes
Response
OK
Indicates whether the trigger was acknowledged or not
Status of the trigger
error, trigger_not_active, no_workflow_active_steps_defined, no_workflow_steps_defined, processed, no_tenant_found, invalid_recipients In case of an error, this field will contain the error message(s)
The returned transaction ID of the trigger
Link to the activity feed for this trigger event
Was this page helpful?
import { Novu } from "@novu/api";
const novu = new Novu({
secretKey: "YOUR_SECRET_KEY_HERE",
});
async function run() {
const result = await novu.triggerBroadcast({
name: "<value>",
payload: {
"comment_id": "string",
"post": {
"text": "string",
},
},
overrides: {
additionalProperties: {
"fcm": {
"data": {
"key": "value",
},
},
},
},
actor: {
firstName: "John",
lastName: "Doe",
email: "[email protected]",
phone: "+1234567890",
avatar: "https://example.com/avatar.jpg",
locale: "en-US",
timezone: "America/New_York",
subscriberId: "<id>",
},
context: {
"key": "org-acme",
},
});
console.log(result);
}
run();using Novu;
using Novu.Models.Components;
using System.Collections.Generic;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.BroadcastAsync(triggerEventToAllRequestDto: new TriggerEventToAllRequestDto() {
Name = "<value>",
Payload = new Dictionary<string, object>() {
{ "comment_id", "string" },
{ "post", new Dictionary<string, object>() {
{ "text", "string" },
} },
},
Overrides = new TriggerEventToAllRequestDtoOverrides() {
AdditionalProperties = new Dictionary<string, Dictionary<string, object>>() {
{ "fcm", new Dictionary<string, object>() {
{ "data", new Dictionary<string, object>() {
{ "key", "value" },
} },
} },
},
},
Actor = TriggerEventToAllRequestDtoActor.CreateSubscriberPayloadDto(
new SubscriberPayloadDto() {
FirstName = "John",
LastName = "Doe",
Email = "[email protected]",
Phone = "+1234567890",
Avatar = "https://example.com/avatar.jpg",
Locale = "en-US",
Timezone = "America/New_York",
SubscriberId = "<id>",
}
),
Context = new Dictionary<string, TriggerEventToAllRequestDtoContext>() {
{ "key", TriggerEventToAllRequestDtoContext.CreateStr(
"org-acme"
) },
},
});
// handle responsedeclare(strict_types=1);
require 'vendor/autoload.php';
use novu;
use novu\Models\Components;
$sdk = novu\Novu::builder()
->setSecurity(
'YOUR_SECRET_KEY_HERE'
)
->build();
$triggerEventToAllRequestDto = new Components\TriggerEventToAllRequestDto(
name: '<value>',
payload: [
'comment_id' => 'string',
'post' => [
'text' => 'string',
],
],
overrides: new Components\TriggerEventToAllRequestDtoOverrides(
additionalProperties: [
'fcm' => [
'data' => [
'key' => 'value',
],
],
],
),
actor: new Components\SubscriberPayloadDto(
firstName: 'John',
lastName: 'Doe',
email: '[email protected]',
phone: '+1234567890',
avatar: 'https://example.com/avatar.jpg',
locale: 'en-US',
timezone: 'America/New_York',
subscriberId: '<id>',
),
context: [
'key' => 'org-acme',
],
);
$response = $sdk->triggerBroadcast(
triggerEventToAllRequestDto: $triggerEventToAllRequestDto
);
if ($response->triggerEventResponseDto !== null) {
// handle response
}import novu_py
from novu_py import Novu
with Novu(
secret_key="YOUR_SECRET_KEY_HERE",
) as novu:
res = novu.trigger_broadcast(trigger_event_to_all_request_dto=novu_py.TriggerEventToAllRequestDto(
name="<value>",
payload={
"comment_id": "string",
"post": {
"text": "string",
},
},
overrides=novu_py.TriggerEventToAllRequestDtoOverrides(
**{
"fcm": {
"data": {
"key": "value",
},
},
},
),
actor=novu_py.SubscriberPayloadDto(
first_name="John",
last_name="Doe",
email="[email protected]",
phone="+1234567890",
avatar="https://example.com/avatar.jpg",
locale="en-US",
timezone="America/New_York",
subscriber_id="<id>",
),
context={
"key": "org-acme",
},
))
# 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.TriggerBroadcast(ctx, components.TriggerEventToAllRequestDto{
Name: "<value>",
Payload: map[string]any{
"comment_id": "string",
"post": map[string]any{
"text": "string",
},
},
Overrides: &components.TriggerEventToAllRequestDtoOverrides{
AdditionalProperties: map[string]map[string]any{
"fcm": map[string]any{
"data": map[string]any{
"key": "value",
},
},
},
},
Actor: v3.Pointer(components.CreateTriggerEventToAllRequestDtoActorSubscriberPayloadDto(
components.SubscriberPayloadDto{
FirstName: v3.Pointer("John"),
LastName: v3.Pointer("Doe"),
Email: v3.Pointer("[email protected]"),
Phone: v3.Pointer("+1234567890"),
Avatar: v3.Pointer("https://example.com/avatar.jpg"),
Locale: v3.Pointer("en-US"),
Timezone: v3.Pointer("America/New_York"),
SubscriberID: "<id>",
},
)),
Context: map[string]components.TriggerEventToAllRequestDtoContext{
"key": components.CreateTriggerEventToAllRequestDtoContextStr(
"org-acme",
),
},
}, nil)
if err != nil {
log.Fatal(err)
}
if res.TriggerEventResponseDto != nil {
// handle response
}
}curl --request POST \
--url https://api.novu.co/v1/events/trigger/broadcast \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"payload": {
"comment_id": "string",
"post": {
"text": "string"
}
},
"overrides": {
"fcm": {
"data": {
"key": "value"
}
}
},
"transactionId": "<string>",
"actor": "<string>",
"tenant": "<string>",
"context": {}
}
'const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
payload: {comment_id: 'string', post: {text: 'string'}},
overrides: {fcm: {data: {key: 'value'}}},
transactionId: '<string>',
actor: '<string>',
tenant: '<string>',
context: {}
})
};
fetch('https://api.novu.co/v1/events/trigger/broadcast', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.post("https://api.novu.co/v1/events/trigger/broadcast")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"payload\": {\n \"comment_id\": \"string\",\n \"post\": {\n \"text\": \"string\"\n }\n },\n \"overrides\": {\n \"fcm\": {\n \"data\": {\n \"key\": \"value\"\n }\n }\n },\n \"transactionId\": \"<string>\",\n \"actor\": \"<string>\",\n \"tenant\": \"<string>\",\n \"context\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.novu.co/v1/events/trigger/broadcast")
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 \"name\": \"<string>\",\n \"payload\": {\n \"comment_id\": \"string\",\n \"post\": {\n \"text\": \"string\"\n }\n },\n \"overrides\": {\n \"fcm\": {\n \"data\": {\n \"key\": \"value\"\n }\n }\n },\n \"transactionId\": \"<string>\",\n \"actor\": \"<string>\",\n \"tenant\": \"<string>\",\n \"context\": {}\n}"
response = http.request(request)
puts response.read_body{
"acknowledged": true,
"error": [
"<string>"
],
"transactionId": "<string>",
"activityFeedLink": "<string>",
"jobData": {}
}{
"acknowledged": true,
"error": [
"<string>"
],
"transactionId": "<string>",
"activityFeedLink": "<string>",
"jobData": {}
}{
"statusCode": 404,
"timestamp": "2024-12-12T13:00:00Z",
"path": "/api/v1/resource",
"type": "PAYLOAD_VALIDATION_ERROR",
"errors": [
{
"field": "user.name",
"message": "must have required property 'name'",
"value": {
"age": 25
},
"schemaPath": "#/required"
}
],
"message": "xx xx xx ",
"ctx": {
"workflowId": "some_wf_id",
"stepId": "some_wf_id"
},
"errorId": "abc123",
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"age": {
"type": "number"
}
},
"required": [
"name"
]
}
}{
"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."