Live Direct Marketing Custom Fields API

The Custom Fields API from Live Direct Marketing — 6 operation(s) for custom fields.

Operations 10

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

GET /api/custom-fields List custom field definitions for an entity · List custom field definitions, optionally filtered by entity #
Ask an LLM
“Which custom fields are defined for my contacts or leads?”
“What extra fields exist on a given record type?”
Tell an agent
List custom field definitions for {entity}.
Show the custom fields configured on {entity} records.
POST /api/custom-fields Define a new custom field · Create a custom field definition #
Ask an LLM
“How do I add a new custom field to a record type?”
“Can a new custom field be required, filterable and shown in the table?”
Tell an agent
Create a {type} custom field {name} with key {fieldKey} on {entity}.
Add field {name} (key {fieldKey}, type {type}) to {entity} with required set to {isRequired}.
GET /api/custom-fields/inventory Report custom field storage divergence · Read-only report: divergence between JSONB and table storage #
Ask an LLM
“Are my custom field values out of sync between JSON and table storage?”
“Is there a report of custom field storage mismatches?”
Tell an agent
Run the custom field storage inventory report.
Show where custom field JSONB and table storage diverge.
PATCH /api/custom-fields/{id} Update a custom field definition · Update a custom field definition #
Ask an LLM
“How do I rename or relabel an existing custom field?”
“Can I make an existing custom field sortable or hide it from the table?”
Tell an agent
Rename custom field {id} to {name}.
Set custom field {id} label to {label} and group {group}.
DELETE /api/custom-fields/{id} Delete a custom field definition · Delete a custom field definition #
Ask an LLM
“How do I remove a custom field I no longer need?”
“Can I delete a custom field definition?”
Tell an agent destructive · confirm first
Delete custom field {id}.
Remove the custom field definition {id}.
POST /api/custom-fields/reorder Reorder custom field definitions · Reorder custom field definitions #
Ask an LLM
“How do I change the order custom fields appear in?”
“Can I rearrange custom field definitions?”
Tell an agent
Reorder my custom field definitions.
Change the display order of custom fields.
GET /api/custom-fields/values/{entity}/{entityId} Get custom field values for a record · Get all custom field values for an entity instance #
Ask an LLM
“What custom field values are stored on a particular contact or lead?”
“Can I read every custom field value of one record?”
Tell an agent
Get custom field values for {entity} {entityId}.
Show all custom values on {entity} record {entityId}.
POST /api/custom-fields/values/{entity}/{entityId} Set one custom field value on a record · Set a custom field value for an entity instance #
Ask an LLM
“How do I fill in a custom field on a specific record?”
“Can I record where a custom field value came from when setting it?”
Tell an agent
Set field {fieldId} to {value} on {entity} {entityId}.
Write {value} into custom field {fieldId} of {entity} {entityId} with source {source}.
POST /api/custom-fields/params/{entity}/{entityId} Bulk set a record's params (legacy) · Legacy bulk set of params as key-value pairs #
Ask an LLM
“Can I set several custom params on a record at once with the legacy key-value call?”
“How do I overwrite a record's params in bulk the old way?”
Tell an agent
Bulk set legacy params on {entity} {entityId}.
Write key-value params in bulk to {entity} record {entityId}.
GET /api/custom-fields/params/{entity}/{entityId} Get a record's params as flat key-values (legacy) · Legacy get of params as flat key-value object #
Ask an LLM
“Can I get a record's custom params as a simple key-value object the old way?”
“Is there a legacy flat format for reading custom params?”
Tell an agent
Get legacy flat params for {entity} {entityId}.
Read {entity} {entityId}'s params as key-value pairs.

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-custom-fields-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-custom-fields-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: LDM v3 Custom Fields 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: Custom Fields
paths:
  /api/custom-fields:
    get:
      operationId: CustomFieldsController_findAll
      parameters:
      - name: entity
        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 custom field definitions, optionally filtered by entity
      tags:
      - Custom Fields
    post:
      operationId: CustomFieldsController_create
      parameters:
      - 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/CreateDefinitionDto'
      responses:
        '201':
          description: ''
      security:
      - jwt: []
      summary: Create a custom field definition
      tags:
      - Custom Fields
  /api/custom-fields/inventory:
    get:
      operationId: CustomFieldsController_inventory
      parameters:
      - 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: 'Read-only report: divergence between JSONB and table storage'
      tags:
      - Custom Fields
      x-required-scope:
      - customfields:read
  /api/custom-fields/{id}:
    patch:
      operationId: CustomFieldsController_update
      parameters:
      - name: id
        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/UpdateDefinitionDto'
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: Update a custom field definition
      tags:
      - Custom Fields
    delete:
      operationId: CustomFieldsController_remove
      parameters:
      - name: id
        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: Delete a custom field definition
      tags:
      - Custom Fields
  /api/custom-fields/reorder:
    post:
      operationId: CustomFieldsController_reorder
      parameters:
      - 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/ReorderDto'
      responses:
        '201':
          description: ''
      security:
      - jwt: []
      summary: Reorder custom field definitions
      tags:
      - Custom Fields
      x-required-scope:
      - customfields:write
  /api/custom-fields/values/{entity}/{entityId}:
    get:
      operationId: CustomFieldsController_getValues
      parameters:
      - name: entity
        required: true
        in: path
        schema:
          type: string
      - name: entityId
        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 all custom field values for an entity instance
      tags:
      - Custom Fields
    post:
      operationId: CustomFieldsController_setValue
      parameters:
      - name: entity
        required: true
        in: path
        schema:
          type: string
      - name: entityId
        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/SetValueDto'
      responses:
        '201':
          description: ''
      security:
      - jwt: []
      summary: Set a custom field value for an entity instance
      tags:
      - Custom Fields
  /api/custom-fields/params/{entity}/{entityId}:
    post:
      operationId: CustomFieldsController_bulkSetParams
      parameters:
      - name: entity
        required: true
        in: path
        schema:
          type: string
      - name: entityId
        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:
        '201':
          description: ''
      security:
      - jwt: []
      summary: Legacy bulk set of params as key-value pairs
      tags:
      - Custom Fields
    get:
      operationId: CustomFieldsController_getParams
      parameters:
      - name: entity
        required: true
        in: path
        schema:
          type: string
      - name: entityId
        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: Legacy get of params as flat key-value object
      tags:
      - Custom Fields
components:
  schemas:
    SetValueDto:
      type: object
      properties:
        fieldId:
          type: string
        value:
          type: object
        source:
          type: string
      required:
      - fieldId
      - value
    UpdateDefinitionDto:
      type: object
      properties:
        name:
          type: string
        isRequired:
          type: boolean
        settings:
          type: object
        sortOrder:
          type: number
        label:
          type: string
        labelEn:
          type: string
        group:
          type: string
        isVisibleInTable:
          type: boolean
        isFilterable:
          type: boolean
        isSortable:
          type: boolean
        numberFormat:
          type: object
    ReorderDto:
      type: object
      properties: {}
    CreateDefinitionDto:
      type: object
      properties:
        entity:
          type: string
        name:
          type: string
        fieldKey:
          type: string
        type:
          type: string
        isRequired:
          type: boolean
        settings:
          type: object
        label:
          type: string
        labelEn:
          type: string
        group:
          type: string
        isVisibleInTable:
          type: boolean
        isFilterable:
          type: boolean
        isSortable:
          type: boolean
        numberFormat:
          type: object
      required:
      - entity
      - name
      - fieldKey
      - type
  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.