Live Direct Marketing Creatives / On-Demand API

The Creatives / On-Demand API from Live Direct Marketing — 6 operation(s) for creatives / on-demand.

Operations 8

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /api/creative-on-demand/{creativeId}/generate Generate a personalized creative for a contact · Enqueue an on-demand generation request for a creative #
Ask an LLM
“How do I generate a personalized version of a creative for one contact?”
“Can I save an on-demand generation as a new creative version?”
Tell an agent
Generate creative {creativeId} for contact {contactId}.
Queue generation of creative {creativeId} for contact {contactId} with overrides {overrides}.
GET /api/creative-on-demand/{creativeId}/requests/{requestId} Get an on-demand generation request · Get a single on-demand request by id #
Ask an LLM
“Has my on-demand creative generation finished yet?”
“What is the result of a specific generation request?”
Tell an agent
Show request {requestId} for creative {creativeId}.
Check the status of on-demand request {requestId} on creative {creativeId}.
POST /api/creative-on-demand/{creativeId}/requests/{requestId}/cancel Cancel an in-flight generation request · Cancel an in-flight on-demand request #
Ask an LLM
“Can I cancel an on-demand creative generation that is still running?”
“How do I stop a generation request before it completes?”
Tell an agent destructive · confirm first
Cancel request {requestId} on creative {creativeId}.
Abort the in-flight generation {requestId} for creative {creativeId}.
GET /api/creative-on-demand/{creativeId}/requests List on-demand requests for a creative · List on-demand requests for a creative #
Ask an LLM
“Which on-demand generations have been run for a creative?”
“Can I list failed generation requests within a date range?”
Tell an agent
List on-demand requests for creative {creativeId} with status {status}.
Show creative {creativeId}'s requests from {from} to {to}, {limit} at a time from offset {offset}.
GET /api/creative-on-demand/{creativeId}/stats Get on-demand generation stats for a creative · Get aggregated on-demand stats for a creative #
Ask an LLM
“How many personalized generations has a creative produced over a period?”
“What are the aggregate on-demand stats for one creative?”
Tell an agent
Show on-demand stats for creative {creativeId}.
Aggregate creative {creativeId}'s on-demand generations between {from} and {to}.
GET /api/creative-on-demand/{creativeId}/qc-config Get a creative's quality-control settings · Get QC configuration for a creative #
Ask an LLM
“What quality checks run on generated versions of a creative?”
“How is QC configured for one creative?”
Tell an agent
Show the QC configuration for creative {creativeId}.
Get the tier 1 and tier 2 quality checks on creative {creativeId}.
PUT /api/creative-on-demand/{creativeId}/qc-config Set a creative's quality-control rules · Upsert QC configuration for a creative #
Ask an LLM
“Can I define my own two-tier quality checks for a creative's generations?”
“How do I change the QC rules applied to on-demand output?”
Tell an agent
Set creative {creativeId}'s QC to tier 1 {tier1} and tier 2 {tier2}.
Save QC rules {tier1} and {tier2} for creative {creativeId}.
DELETE /api/creative-on-demand/{creativeId}/qc-config Reset a creative's QC settings to defaults · Reset QC configuration to defaults #
Ask an LLM
“How do I throw away custom QC rules and go back to the defaults?”
“Can I reset a creative's quality checks?”
Tell an agent destructive · confirm first
Reset the QC configuration of creative {creativeId} to defaults.
Drop custom quality checks on creative {creativeId}.

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/live-direct-marketing-online:live-direct-marketing-online-creatives-on-demand-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

live-direct-marketing-online-creatives-on-demand-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: LDM v3 Creatives / On-Demand API
  description: 'Multi-tenant B2B outreach automation platform. Auth: JWT Bearer (15-min) or tenant API key (ldm_*) managed in CRM Settings → API Keys. All tenant-scoped endpoints require the X-Tenant-Id header.'
  version: 1.0.0
  contact: {}
servers:
- url: https://api.live-direct-marketing.online
  description: Production
- url: https://api.dev.live-direct-marketing.online
  description: Development
- url: http://127.0.0.1:3000
  description: Local
tags:
- name: Creatives / On-Demand
paths:
  /api/creative-on-demand/{creativeId}/generate:
    post:
      operationId: OnDemandController_generate
      parameters:
      - name: creativeId
        required: true
        in: path
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateRequestDto'
      responses:
        '201':
          description: ''
      security:
      - jwt: []
      summary: Enqueue an on-demand generation request for a creative
      tags:
      - Creatives / On-Demand
  /api/creative-on-demand/{creativeId}/requests/{requestId}:
    get:
      operationId: OnDemandController_getRequest
      parameters:
      - name: creativeId
        required: true
        in: path
        schema:
          type: string
      - name: requestId
        required: true
        in: path
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: Get a single on-demand request by id
      tags:
      - Creatives / On-Demand
  /api/creative-on-demand/{creativeId}/requests/{requestId}/cancel:
    post:
      operationId: OnDemandController_cancel
      parameters:
      - name: creativeId
        required: true
        in: path
        schema:
          type: string
      - name: requestId
        required: true
        in: path
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: Cancel an in-flight on-demand request
      tags:
      - Creatives / On-Demand
  /api/creative-on-demand/{creativeId}/requests:
    get:
      operationId: OnDemandController_list
      parameters:
      - name: creativeId
        required: true
        in: path
        schema:
          type: string
      - name: limit
        required: true
        in: query
        schema:
          type: string
      - name: offset
        required: true
        in: query
        schema:
          type: string
      - name: status
        required: true
        in: query
        schema:
          type: string
      - name: from
        required: true
        in: query
        schema:
          type: string
      - name: to
        required: true
        in: query
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: List on-demand requests for a creative
      tags:
      - Creatives / On-Demand
  /api/creative-on-demand/{creativeId}/stats:
    get:
      operationId: OnDemandController_stats
      parameters:
      - name: creativeId
        required: true
        in: path
        schema:
          type: string
      - name: from
        required: true
        in: query
        schema:
          type: string
      - name: to
        required: true
        in: query
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: Get aggregated on-demand stats for a creative
      tags:
      - Creatives / On-Demand
  /api/creative-on-demand/{creativeId}/qc-config:
    get:
      operationId: OnDemandController_getQcConfig
      parameters:
      - name: creativeId
        required: true
        in: path
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: Get QC configuration for a creative
      tags:
      - Creatives / On-Demand
    put:
      operationId: OnDemandController_putQcConfig
      parameters:
      - name: creativeId
        required: true
        in: path
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QcConfigDto'
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: Upsert QC configuration for a creative
      tags:
      - Creatives / On-Demand
    delete:
      operationId: OnDemandController_resetQcConfig
      parameters:
      - name: creativeId
        required: true
        in: path
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: Reset QC configuration to defaults
      tags:
      - Creatives / On-Demand
components:
  schemas:
    GenerateOverridesDto:
      type: object
      properties:
        subjectPrompt:
          type: string
        bodyPrompt:
          type: string
        model:
          type: string
        temperature:
          type: number
          minimum: 0
          maximum: 2
    QcConfigDto:
      type: object
      properties:
        tier1:
          type: object
        tier2:
          type: object
      required:
      - tier1
      - tier2
    GenerateRequestDto:
      type: object
      properties:
        contactId:
          type: string
        source:
          type: string
        overrides:
          $ref: '#/components/schemas/GenerateOverridesDto'
        saveAsVersion:
          type: boolean
      required:
      - contactId
  securitySchemes:
    jwt:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: JWT access token from /auth/login (Bearer <token>)
    tenant-api-key:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: Tenant API key (Bearer ldm_*) for MCP/A2A clients. Issued via CRM Settings → API Keys.
    rpa-service:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: Dedicated RPA service key. No tenant API-key or query-key authentication.