Novu · Capability

Novu API — Environments

Notifications — Environments. 7 operations. Lead operation: Create an Environment. Self-contained Naftiko capability covering one Novu business surface.

Novu API — Environments is a Naftiko capability published by Novu, one of 16 capabilities the APIs.io network indexes for this provider. It bundles 7 operations across the POST, GET, PUT, and DELETE methods.

The capability includes 3 read-only operations and 4 state-changing operations. Lead operation: Novu Create an Environment. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Novu, Notifications, and Environments.

Run with Naftiko NovuNotificationsEnvironments

What You Can Do

POST
Environmentscontrollerv1_createenvironment — Novu Create an Environment
/v1/environments
GET
Environmentscontrollerv1_listmyenvironments — Novu List All Environments
/v1/environments
PUT
Environmentscontrollerv1_updatemyenvironment — Novu Update an Environment
/v1/environments/{environmentId}
DELETE
Environmentscontrollerv1_deleteenvironment — Novu Delete an Environment
/v1/environments/{environmentId}
GET
Environmentscontroller_getenvironmenttags — Novu List Environment Tags
/v2/environments/{environmentId}/tags
POST
Environmentscontroller_publishenvironment — Novu Publish Resources to Target Environment
/v2/environments/{targetEnvironmentId}/publish
POST
Environmentscontroller_diffenvironment — Novu Compare Resources Between Environments
/v2/environments/{targetEnvironmentId}/diff

MCP Tools

create-environment

Novu Create an Environment

list-all-environments

Novu List All Environments

read-only idempotent
update-environment

Novu Update an Environment

idempotent
delete-environment

Novu Delete an Environment

idempotent
list-environment-tags

Novu List Environment Tags

read-only idempotent
publish-resources-target-environment

Novu Publish Resources to Target Environment

read-only
compare-resources-between-environments

Novu Compare Resources Between Environments

Capability Spec

novu-environments.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Novu API — Environments
  description: 'Notifications — Environments. 7 operations. Lead operation: Create an Environment. Self-contained Naftiko capability covering one Novu business surface.'
  tags:
  - Novu
  - Notifications
  - Environments
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    NOVU_API_KEY: NOVU_API_KEY
capability:
  consumes:
  - type: http
    namespace: novu-environments
    baseUri: https://api.novu.co
    description: Novu REST API — Environments business capability. Self-contained, no shared references.
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.NOVU_API_KEY}}'
      placement: header
    resources:
    - name: v1-environments
      path: /v1/environments
      operations:
      - name: EnvironmentsControllerV1_createEnvironment
        method: POST
        description: Novu Create an Environment
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
          description: Request body payload
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: EnvironmentsControllerV1_listMyEnvironments
        method: GET
        description: Novu List All Environments
        inputParameters: []
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-environments-environmentid
      path: /v1/environments/{environmentId}
      operations:
      - name: EnvironmentsControllerV1_updateMyEnvironment
        method: PUT
        description: Novu Update an Environment
        inputParameters:
        - name: environmentId
          in: path
          type: string
          required: true
          description: The unique identifier of the environment
        - name: body
          in: body
          type: object
          required: true
          description: Request body payload
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: EnvironmentsControllerV1_deleteEnvironment
        method: DELETE
        description: Novu Delete an Environment
        inputParameters:
        - name: environmentId
          in: path
          type: string
          required: true
          description: The unique identifier of the environment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v2-environments-environmentid-tags
      path: /v2/environments/{environmentId}/tags
      operations:
      - name: EnvironmentsController_getEnvironmentTags
        method: GET
        description: Novu List Environment Tags
        inputParameters:
        - name: environmentId
          in: path
          type: string
          required: true
          description: Environment internal ID (MongoDB ObjectId) or identifier
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v2-environments-targetenvironmentid-publish
      path: /v2/environments/{targetEnvironmentId}/publish
      operations:
      - name: EnvironmentsController_publishEnvironment
        method: POST
        description: Novu Publish Resources to Target Environment
        inputParameters:
        - name: targetEnvironmentId
          in: path
          type: string
          required: true
          description: Target environment ID (MongoDB ObjectId) to publish resources to
        - name: body
          in: body
          type: object
          required: true
          description: Request body payload
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v2-environments-targetenvironmentid-diff
      path: /v2/environments/{targetEnvironmentId}/diff
      operations:
      - name: EnvironmentsController_diffEnvironment
        method: POST
        description: Novu Compare Resources Between Environments
        inputParameters:
        - name: targetEnvironmentId
          in: path
          type: string
          required: true
          description: Target environment ID (MongoDB ObjectId) to compare against
        - name: body
          in: body
          type: object
          required: true
          description: Request body payload
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    namespace: novu-environments-rest
    port: 8080
    description: REST adapter for Novu API — Environments. One Spectral-compliant resource per consumed operation.
    resources:
    - path: /v1/environments
      name: v1-environments
      description: REST surface for /v1/environments.
      operations:
      - method: POST
        name: EnvironmentsControllerV1_createEnvironment
        description: Novu Create an Environment
        call: novu-environments.EnvironmentsControllerV1_createEnvironment
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: EnvironmentsControllerV1_listMyEnvironments
        description: Novu List All Environments
        call: novu-environments.EnvironmentsControllerV1_listMyEnvironments
        with: {}
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/environments/{environmentId}
      name: v1-environments-environmentid
      description: REST surface for /v1/environments/{environmentId}.
      operations:
      - method: PUT
        name: EnvironmentsControllerV1_updateMyEnvironment
        description: Novu Update an Environment
        call: novu-environments.EnvironmentsControllerV1_updateMyEnvironment
        with:
          environmentId: rest.environmentId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: EnvironmentsControllerV1_deleteEnvironment
        description: Novu Delete an Environment
        call: novu-environments.EnvironmentsControllerV1_deleteEnvironment
        with:
          environmentId: rest.environmentId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/environments/{environmentId}/tags
      name: v2-environments-environmentid-tags
      description: REST surface for /v2/environments/{environmentId}/tags.
      operations:
      - method: GET
        name: EnvironmentsController_getEnvironmentTags
        description: Novu List Environment Tags
        call: novu-environments.EnvironmentsController_getEnvironmentTags
        with:
          environmentId: rest.environmentId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/environments/{targetEnvironmentId}/publish
      name: v2-environments-targetenvironmentid-publish
      description: REST surface for /v2/environments/{targetEnvironmentId}/publish.
      operations:
      - method: POST
        name: EnvironmentsController_publishEnvironment
        description: Novu Publish Resources to Target Environment
        call: novu-environments.EnvironmentsController_publishEnvironment
        with:
          targetEnvironmentId: rest.targetEnvironmentId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v2/environments/{targetEnvironmentId}/diff
      name: v2-environments-targetenvironmentid-diff
      description: REST surface for /v2/environments/{targetEnvironmentId}/diff.
      operations:
      - method: POST
        name: EnvironmentsController_diffEnvironment
        description: Novu Compare Resources Between Environments
        call: novu-environments.EnvironmentsController_diffEnvironment
        with:
          targetEnvironmentId: rest.targetEnvironmentId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: novu-environments-mcp
    port: 9090
    transport: http
    description: MCP adapter for Novu API — Environments. One tool per consumed operation, routed inline through this capability's consumes block.
    tools:
    - name: create-environment
      description: Novu Create an Environment
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: novu-environments.EnvironmentsControllerV1_createEnvironment
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-all-environments
      description: Novu List All Environments
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: novu-environments.EnvironmentsControllerV1_listMyEnvironments
      with: {}
      outputParameters:
      - type: object
        mapping: $.
    - name: update-environment
      description: Novu Update an Environment
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: novu-environments.EnvironmentsControllerV1_updateMyEnvironment
      with:
        environmentId: tools.environmentId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-environment
      description: Novu Delete an Environment
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: novu-environments.EnvironmentsControllerV1_deleteEnvironment
      with:
        environmentId: tools.environmentId
      outputParameters:
      - type: object
        mapping: $.
    - name: list-environment-tags
      description: Novu List Environment Tags
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: novu-environments.EnvironmentsController_getEnvironmentTags
      with:
        environmentId: tools.environmentId
      outputParameters:
      - type: object
        mapping: $.
    - name: publish-resources-target-environment
      description: Novu Publish Resources to Target Environment
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: novu-environments.EnvironmentsController_publishEnvironment
      with:
        targetEnvironmentId: tools.targetEnvironmentId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: compare-resources-between-environments
      description: Novu Compare Resources Between Environments
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: novu-environments.EnvironmentsController_diffEnvironment
      with:
        targetEnvironmentId: tools.targetEnvironmentId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.