Novu · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Novu Translations API

10 actions 10 updates phrasing extends openapi/novu-translations-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Novu's API. It is a proposal applied on top of the contract, not a document Novu publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 10

$.info
$.paths['/v2/translations/upload'].post
$.paths['/v2/translations'].post
$.paths['/v2/translations/master-json'].get
$.paths['/v2/translations/master-json'].post
$.paths['/v2/translations/master-json/upload'].post
$.paths['/v2/translations/group/{resourceType}/{resourceId}'].get
$.paths['/v2/translations/{resourceType}/{resourceId}/{locale}'].get
$.paths['/v2/translations/{resourceType}/{resourceId}/{locale}'].delete
$.paths['/v2/translations/{resourceType}/{resourceId}'].delete

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Novu Translations API
  version: 1.0.0
extends: openapi/novu-translations-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 9
- target: $.paths['/v2/translations/upload'].post
  update:
    x-apievangelist-phrasing:
      intent: Upload locale files for a workflow
      effect: write
      questions:
      - How do I upload JSON translation files for one workflow?
      - What should my translation files be named so the locale is recognized?
      instructions:
      - text: Upload translation files {files} for {resourceType} {resourceId}.
        slots:
          files: requestBody.files
          resourceType: requestBody.resourceType
          resourceId: requestBody.resourceId
      - text: 'Attach these per-locale JSON files to workflow {resourceId} as a {resourceType}: {files}.'
        slots:
          resourceId: requestBody.resourceId
          resourceType: requestBody.resourceType
          files: requestBody.files
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/translations'].post
  update:
    x-apievangelist-phrasing:
      intent: Create or update a translation
      effect: write
      questions:
      - How do I add a translation for one locale to a workflow?
      - What happens if a translation for that locale already exists?
      instructions:
      - text: Create the {locale} translation for {resourceType} {resourceId} with content {content}.
        slots:
          locale: requestBody.locale
          resourceType: requestBody.resourceType
          resourceId: requestBody.resourceId
          content: requestBody.content
      - text: Save {content} as the {locale} strings for workflow {resourceId} of type {resourceType}.
        slots:
          content: requestBody.content
          locale: requestBody.locale
          resourceId: requestBody.resourceId
          resourceType: requestBody.resourceType
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/translations/master-json'].get
  update:
    x-apievangelist-phrasing:
      intent: Export all translations as master JSON
      effect: read
      questions:
      - Can I export every workflow's translations for a locale in one JSON file?
      - What does the master translations JSON look like for a given language?
      instructions:
      - text: Export the master translations JSON for locale {locale}.
        slots:
          locale: query.locale
      - text: Download all translations in master JSON format.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/translations/master-json'].post
  update:
    x-apievangelist-phrasing:
      intent: Import translations from master JSON
      effect: write
      questions:
      - How do I import translations for many workflows at once from a JSON body?
      - Can I bulk load one locale's strings across all workflows?
      instructions:
      - text: Import master JSON {masterJson} for locale {locale}.
        slots:
          masterJson: requestBody.masterJson
          locale: requestBody.locale
      - text: Load these {locale} translations for multiple workflows from master JSON {masterJson}.
        slots:
          locale: requestBody.locale
          masterJson: requestBody.masterJson
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/translations/master-json/upload'].post
  update:
    x-apievangelist-phrasing:
      intent: Upload a master translations file
      effect: write
      questions:
      - Can I upload a master translations file and have the locale detected from its filename?
      - Which endpoint accepts a master JSON file upload rather than a JSON body?
      instructions:
      - text: Upload master translations file {file}.
        slots:
          file: requestBody.file
      - text: Upload {file} as a master JSON file and detect the locale from its name.
        slots:
          file: requestBody.file
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/translations/group/{resourceType}/{resourceId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a translation group
      effect: read
      questions:
      - Which locales have translations for a specific workflow or layout?
      - How do I get the whole translation group for one resource?
      instructions:
      - text: Show the translation group for {resourceType} {resourceId}.
        slots:
          resourceType: path.resourceType
          resourceId: path.resourceId
      - text: List every locale translated for the {resourceType} {resourceId}.
        slots:
          resourceType: path.resourceType
          resourceId: path.resourceId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/translations/{resourceType}/{resourceId}/{locale}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one locale's translation
      effect: read
      questions:
      - How do I read the French strings for a particular workflow?
      - Can I fetch a single translation by resource and locale?
      instructions:
      - text: Get the {locale} translation for {resourceType} {resourceId}.
        slots:
          locale: path.locale
          resourceType: path.resourceType
          resourceId: path.resourceId
      - text: Show the {locale} strings of {resourceType} {resourceId}.
        slots:
          locale: path.locale
          resourceType: path.resourceType
          resourceId: path.resourceId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/translations/{resourceType}/{resourceId}/{locale}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete one locale's translation
      effect: destructive
      questions:
      - How do I remove just one language from a workflow's translations?
      - Can I delete a single locale without removing the others?
      instructions:
      - text: Delete the {locale} translation for {resourceType} {resourceId}.
        slots:
          locale: path.locale
          resourceType: path.resourceType
          resourceId: path.resourceId
      - text: Remove only locale {locale} from {resourceType} {resourceId}.
        slots:
          locale: path.locale
          resourceType: path.resourceType
          resourceId: path.resourceId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v2/translations/{resourceType}/{resourceId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete all translations for a resource
      effect: destructive
      questions:
      - How do I wipe every translation for a workflow in one go?
      - Can I delete a whole translation group along with all its locales?
      instructions:
      - text: Delete the entire translation group for {resourceType} {resourceId}.
        slots:
          resourceType: path.resourceType
          resourceId: path.resourceId
      - text: Remove all locales translated for {resourceType} {resourceId}.
        slots:
          resourceType: path.resourceType
          resourceId: path.resourceId
      method: generated
      generated: '2026-09-26'

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/novu-translations-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.