Skip to main content
POST
TypeScript

Authorizations

Authorization
string
header
required

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

Headers

Novu-Analytics-Source
string
required
idempotency-key
string

A header for idempotency purposes

Body

application/json
name
string
required

Required when not adopting an existing managed agent (i.e. when managedRuntime.externalAgentId is absent). Optional in adopt mode where the name is resolved from the provider.

Maximum string length: 60
identifier
string
required

Required when not adopting an existing managed agent. Auto-generated from the provider agent name when omitted in adopt mode.

Pattern: SLUG_IDENTIFIER_REGEX
description
string
active
boolean
default:true
runtime
enum<string>
Available options:
self-hosted,
managed
managedRuntime
object

Response

Created

_id
string
required
name
string
required
identifier
string
required
active
boolean
required
_environmentId
string
required
_organizationId
string
required
createdAt
string
required
updatedAt
string
required
description
string
behavior
object
bridgeUrl
string

Production bridge URL

devBridgeUrl
string

Development bridge URL (set by npx novu dev)

devBridgeActive
boolean

Whether the dev bridge override is active

runtime
enum<string>

Whether the agent brain is self-hosted (bridge) or managed by a third-party provider

Available options:
self-hosted,
managed
visibility
enum<string>

Discovery scope of the agent. Always public today; reserved for the upcoming private-agents feature.

Available options:
public,
private
managedRuntime
object

Present when runtime is "managed". Contains provider and external identifiers.

createdBy
string

Mongo user id of the user who created the agent

integrations
object[]
exceedsPlanLimit
boolean

Cloud only. true when the agent falls outside the organization plan agent limit (by creation order among active agents — inactive agents do not consume slots). Only plan limits produce this flag — system-capped organizations (enterprise/unlimited tiers) are never over-limit. Over-limit agents are still stored but will not respond to inbound messages until the plan is upgraded or older agents are deactivated.