MCP reference

Dayalogs MCP tools reference

All currently exposed MCP tools, grouped by area. Parameters are generated from the same input schema used by the MCP server, so this page should stay close to the real contract.

Recommended authoring workflow

For survey creation, start with survey_authoring_help. Call it empty for the generated index, then fetch focused paths such as quick-start, questions/scale or logic/visible-if. The older compact authoring pack remains an API endpoint, but it is no longer advertised as an MCP tool.

118 tools

Start

4 tools
get_started public Sandbox Free+

Explain what Dayalogs Surveys is and the recommended MCP workflow for creating and previewing schema-first surveys.

Available without a specific Dayalogs scope; the OAuth/demo session still controls the connection.
No input parameters.
View input JSON schema
{
    "type": "object",
    "properties": {},
    "required": []
}
get_capabilities public Sandbox Free+

Return Dayalogs API capabilities, granted scopes, reserved contexts and endpoint map.

Available without a specific Dayalogs scope; the OAuth/demo session still controls the connection.
No input parameters.
View input JSON schema
{
    "type": "object",
    "properties": {},
    "required": []
}
get_mcp_changes public Sandbox Free+

Return Dayalogs MCP release notes and tool/API changes by version.

Available without a specific Dayalogs scope; the OAuth/demo session still controls the connection.
No input parameters.
View input JSON schema
{
    "type": "object",
    "properties": {},
    "required": []
}
get_mcp_backlog public Sandbox Free+

Return MCP-facing planned backlog items and target versions.

Available without a specific Dayalogs scope; the OAuth/demo session still controls the connection.
No input parameters.
View input JSON schema
{
    "type": "object",
    "properties": {},
    "required": []
}

Authoring

7 tools
survey_authoring_help surveys:validate Sandbox Free+

Return focused Dayalogs survey authoring help. Call with no arguments for the generated index, with path for a folder or file, or with keywords to find relevant help.

Parameter
Type
Req.
Details
path
string
no
Optional help path. Empty input returns the generated index. Examples: quick-start, questions/scale, questions/scale/help.md.
keyword
string
no
Optional single keyword search. Examples: smiley, csat, contact, endings.
keywords
array<string>
no
items string
Optional keyword list. When present, matching files must contain all terms.
View input JSON schema
{
    "type": "object",
    "properties": {
        "path": {
            "type": "string",
            "description": "Optional help path. Empty input returns the generated index. Examples: quick-start, questions/scale, questions/scale/help.md."
        },
        "keyword": {
            "type": "string",
            "description": "Optional single keyword search. Examples: smiley, csat, contact, endings."
        },
        "keywords": {
            "type": "array",
            "items": {
                "type": "string"
            },
            "description": "Optional keyword list. When present, matching files must contain all terms."
        }
    },
    "required": []
}
get_survey_schema surveys:validate Sandbox Free+

Return the live Dayalogs survey JSON schema contract. This is large; for drafting surveys, call survey_authoring_help first and use the full schema only for exact field-level constraints.

No input parameters.
View input JSON schema
{
    "type": "object",
    "properties": {},
    "required": []
}
get_survey_interface_texts surveys:validate Sandbox Free+

Return supported respondent UI locales and the public survey.renderer.* keys that can be overridden with interface_literals.

No input parameters.
View input JSON schema
{
    "type": "object",
    "properties": {},
    "required": []
}
validate_survey surveys:validate Sandbox Free+

Validate a Dayalogs survey definition without importing it.

Parameter
Type
Req.
Details
survey
object
no
Dayalogs survey definition object.
definition
object
no
Alias for survey.
survey_json
string
no
Dayalogs survey definition encoded as a JSON string.
View input JSON schema
{
    "type": "object",
    "properties": {
        "survey": {
            "type": "object",
            "description": "Dayalogs survey definition object."
        },
        "definition": {
            "type": "object",
            "description": "Alias for survey."
        },
        "survey_json": {
            "type": "string",
            "description": "Dayalogs survey definition encoded as a JSON string."
        }
    },
    "required": []
}
get_theme_schema public Sandbox Free+

Return the live Dayalogs survey theme/style JSON schema contract.

Available without a specific Dayalogs scope; the OAuth/demo session still controls the connection.
No input parameters.
View input JSON schema
{
    "type": "object",
    "properties": {},
    "required": []
}
get_theme_authoring_pack public Sandbox Free+

Return theme/style authoring guidance, schema and examples as structured JSON.

Available without a specific Dayalogs scope; the OAuth/demo session still controls the connection.
No input parameters.
View input JSON schema
{
    "type": "object",
    "properties": {},
    "required": []
}
validate_theme public Sandbox Free+

Validate a Dayalogs survey theme/style config without persisting it.

Available without a specific Dayalogs scope; the OAuth/demo session still controls the connection.
Parameter
Type
Req.
Details
config
object
no
Dayalogs survey theme/style config object.
theme
object
no
Alias for config.
definition
object
no
Alias for config.
config_json
string
no
Dayalogs survey theme/style config encoded as a JSON string.
View input JSON schema
{
    "type": "object",
    "properties": {
        "config": {
            "type": "object",
            "description": "Dayalogs survey theme/style config object."
        },
        "theme": {
            "type": "object",
            "description": "Alias for config."
        },
        "definition": {
            "type": "object",
            "description": "Alias for config."
        },
        "config_json": {
            "type": "string",
            "description": "Dayalogs survey theme/style config encoded as a JSON string."
        }
    },
    "required": []
}

Survey read

9 tools
list_surveys surveys:read Sandbox Free+

List current surveys in the authenticated account.

No input parameters.
View input JSON schema
{
    "type": "object",
    "properties": {},
    "required": []
}
get_survey surveys:read Sandbox Free+

Return one current survey definition by slug.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        }
    },
    "required": [
        "slug"
    ]
}
get_survey_definition surveys:read Sandbox Free+

Return the canonical JSON definition for one current survey, with validation/import contract endpoints.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        }
    },
    "required": [
        "slug"
    ]
}
list_survey_versions surveys:read Sandbox Free+

List all persisted versions for a survey slug.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        }
    },
    "required": [
        "slug"
    ]
}
get_survey_version surveys:read Sandbox Free+

Return a specific persisted survey version and its definition.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
version
integer
yes
min 1
Survey version number.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "version": {
            "type": "integer",
            "description": "Survey version number.",
            "minimum": 1
        }
    },
    "required": [
        "slug",
        "version"
    ]
}
get_survey_stats surveys:read Sandbox Free+

Return response, version and link stats for a survey.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        }
    },
    "required": [
        "slug"
    ]
}
get_survey_quality surveys:read Sandbox Free+

Return quality data for all survey versions or optionally for one concrete version.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
version
integer
no
min 1
Optional concrete survey version. Omit to aggregate all versions.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "version": {
            "type": "integer",
            "description": "Optional concrete survey version. Omit to aggregate all versions.",
            "minimum": 1
        }
    },
    "required": [
        "slug"
    ]
}
get_survey_cost_estimate surveys:read Sandbox Free+

Return response unit price and maximum known cost estimate for a survey. If no hard cap exists, returns unbounded=true plus scenario costs.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        }
    },
    "required": [
        "slug"
    ]
}
get_survey_flow surveys:read Sandbox Free+

Return a rendered flow summary for one current survey by slug.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        }
    },
    "required": [
        "slug"
    ]
}

Survey edit

6 tools
import_survey surveys:write Sandbox Free+

Validate and import a Dayalogs survey definition with explicit intent. Use mode=create only for a new logical survey. Use mode=update only after reading the existing survey, and pass its stable survey_id plus current version_id as expected_version_id. Omitting intent returns guidance without mutating data. Importing edits the definition only; use get_preview_url during authoring and do not start collection unless the user explicitly asks.

Parameter
Type
Req.
Details
survey
object
no
Dayalogs survey definition object.
definition
object
no
Alias for survey.
survey_json
string
no
Dayalogs survey definition encoded as a JSON string.
mode
string
no
create, update
Explicit import intent. Use create for a new logical survey or update for a new version of an existing survey. Omit only to request non-mutating intent guidance.
survey_id
integer
no
min 1
Stable logical survey id. Required when mode=update; obtain it from get_survey or list_surveys.
expected_version_id
integer
no
min 1
Concrete current version_id observed before editing. Required when mode=update and used as an optimistic concurrency guard.
validate
boolean
no
Whether to validate before importing. Defaults to true.
View input JSON schema
{
    "type": "object",
    "properties": {
        "survey": {
            "type": "object",
            "description": "Dayalogs survey definition object."
        },
        "definition": {
            "type": "object",
            "description": "Alias for survey."
        },
        "survey_json": {
            "type": "string",
            "description": "Dayalogs survey definition encoded as a JSON string."
        },
        "mode": {
            "type": "string",
            "enum": [
                "create",
                "update"
            ],
            "description": "Explicit import intent. Use create for a new logical survey or update for a new version of an existing survey. Omit only to request non-mutating intent guidance."
        },
        "survey_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Stable logical survey id. Required when mode=update; obtain it from get_survey or list_surveys."
        },
        "expected_version_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Concrete current version_id observed before editing. Required when mode=update and used as an optimistic concurrency guard."
        },
        "validate": {
            "type": "boolean",
            "description": "Whether to validate before importing. Defaults to true."
        }
    },
    "required": []
}
update_survey_settings surveys:write Sandbox Free+

Update safe top-level survey settings and create a validated new version. expected_version_id is mandatory. On version_conflict, explain the intervening actor and changes to the user before reconciling; never retry by only replacing the expected id.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
expected_version_id
integer
yes
min 1
Concrete current version_id observed immediately before this mutation. Required as an optimistic concurrency guard.
title
string
no
Optional new internal/source title. Use literals if the source-locale survey.title literal should differ.
source_locale
string
no
Optional two-letter source locale.
supported_locales
array<string>
no
items string
Optional full supported locale list. Must include source_locale after validation.
interface_locales
object
no
Optional mapping from content locale to respondent UI locale, for example {"ru":"en"}. Values: en, fr, de, nl, it, es, ca, pt, eu, gl.
interface_literals
object | null
no
Optional per-survey overrides for public respondent UI text, keyed by content locale and public survey.renderer.* translation key.
settings
object | null
no
Optional respondent runtime settings. Use {"navigation":{"allow_back":false}} to disable respondent back navigation, or {"quality":{"enabled_challenges":{"honeypot":true}}} to control quality scoring inputs.
intro
object
no
Optional complete intro object. Partial intro patches are not merged; pass the complete intro shape.
privacy_notice
object | null
no
Optional complete privacy notice object, or null to remove it.
literals
object | null
no
Optional locale-keyed literal map, or null to remove literals.
partial_response_ttl_minutes
integer | null
no
min 15
Optional inactivity timeout in minutes for resumable partial attempts, or null to reset to default.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "expected_version_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Concrete current version_id observed immediately before this mutation. Required as an optimistic concurrency guard."
        },
        "title": {
            "type": "string",
            "description": "Optional new internal/source title. Use literals if the source-locale survey.title literal should differ."
        },
        "source_locale": {
            "type": "string",
            "description": "Optional two-letter source locale."
        },
        "supported_locales": {
            "type": "array",
            "description": "Optional full supported locale list. Must include source_locale after validation.",
            "items": {
                "type": "string"
            }
        },
        "interface_locales": {
            "type": "object",
            "description": "Optional mapping from content locale to respondent UI locale, for example {\"ru\":\"en\"}. Values: en, fr, de, nl, it, es, ca, pt, eu, gl.",
            "additionalProperties": {
                "type": "string"
            }
        },
        "interface_literals": {
            "type": [
                "object",
                "null"
            ],
            "description": "Optional per-survey overrides for public respondent UI text, keyed by content locale and public survey.renderer.* translation key.",
            "additionalProperties": {
                "type": "object",
                "additionalProperties": {
                    "type": "string"
                }
            }
        },
        "settings": {
            "type": [
                "object",
                "null"
            ],
            "description": "Optional respondent runtime settings. Use {\"navigation\":{\"allow_back\":false}} to disable respondent back navigation, or {\"quality\":{\"enabled_challenges\":{\"honeypot\":true}}} to control quality scoring inputs.",
            "additionalProperties": false,
            "properties": {
                "navigation": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                        "allow_back": {
                            "type": "boolean",
                            "description": "Whether respondents can navigate back to previous pages. Defaults to true."
                        }
                    }
                },
                "quality": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                        "enabled_challenges": {
                            "type": "object",
                            "description": "Optional per-survey quality challenge toggles. Disable individual checks without removing the quality layer entirely.",
                            "additionalProperties": false,
                            "properties": {
                                "time": {
                                    "type": "boolean"
                                },
                                "paste_open_answers": {
                                    "type": "boolean"
                                },
                                "focus_away": {
                                    "type": "boolean"
                                },
                                "honeypot": {
                                    "type": "boolean"
                                },
                                "client_signal": {
                                    "type": "boolean"
                                },
                                "answer_patterns": {
                                    "type": "boolean"
                                },
                                "repeated_ip": {
                                    "type": "boolean"
                                },
                                "repeated_environment": {
                                    "type": "boolean"
                                }
                            }
                        }
                    }
                }
            }
        },
        "intro": {
            "type": "object",
            "description": "Optional complete intro object. Partial intro patches are not merged; pass the complete intro shape."
        },
        "privacy_notice": {
            "type": [
                "object",
                "null"
            ],
            "description": "Optional complete privacy notice object, or null to remove it."
        },
        "literals": {
            "type": [
                "object",
                "null"
            ],
            "description": "Optional locale-keyed literal map, or null to remove literals."
        },
        "partial_response_ttl_minutes": {
            "type": [
                "integer",
                "null"
            ],
            "description": "Optional inactivity timeout in minutes for resumable partial attempts, or null to reset to default.",
            "minimum": 15
        }
    },
    "required": [
        "slug",
        "expected_version_id"
    ]
}
recalculate_survey_quality surveys:write Sandbox Free+

Force a quality recalculation across all versions or optionally for one concrete version.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
version
integer
no
min 1
Optional concrete survey version. Omit to aggregate all versions.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "version": {
            "type": "integer",
            "description": "Optional concrete survey version. Omit to aggregate all versions.",
            "minimum": 1
        }
    },
    "required": [
        "slug"
    ]
}
patch_survey_fragment surveys:write Sandbox Free+

Replace a survey fragment using the mandatory expected_version_id concurrency guard. On version_conflict, explain the intervening actor and changes to the user before reconciling; never retry by only replacing the expected id.

Parameter
Type
Req.
Details
slug
string
yes
kind
string
yes
Fragment kind accepted by the Dayalogs flow editor, for example header, block, question or ending.
fragment_id
string
yes
expected_version_id
integer
yes
min 1
Concrete current version_id observed immediately before this mutation. Required as an optimistic concurrency guard.
fragment
object
no
json
string
no
Alternative to fragment: JSON object string for the replacement fragment.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string"
        },
        "kind": {
            "type": "string",
            "description": "Fragment kind accepted by the Dayalogs flow editor, for example header, block, question or ending."
        },
        "fragment_id": {
            "type": "string"
        },
        "expected_version_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Concrete current version_id observed immediately before this mutation. Required as an optimistic concurrency guard."
        },
        "fragment": {
            "type": "object"
        },
        "json": {
            "type": "string",
            "description": "Alternative to fragment: JSON object string for the replacement fragment."
        }
    },
    "required": [
        "slug",
        "kind",
        "fragment_id",
        "expected_version_id"
    ]
}
append_to_survey surveys:write Sandbox Free+

Append or insert a new top-level block using the mandatory expected_version_id concurrency guard. Conflicts must be explained and reconciled with the user.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
expected_version_id
integer
yes
min 1
Concrete current version_id observed immediately before this mutation. Required as an optimistic concurrency guard.
block
object
yes
New top-level block object to insert at the survey root. The block may contain nested blocks and question references; pass new question definitions in questions.
questions
array<object>
no
items object
Optional new question definitions to add to the survey question catalog before inserting the block.
position
string
no
start, end
Insert at the beginning or end of the top-level survey blocks. Defaults to end.
after_block_id
string
no
Optional existing top-level block id after which the new block should be inserted.
before_block_id
string
no
Optional existing top-level block id before which the new block should be inserted.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "expected_version_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Concrete current version_id observed immediately before this mutation. Required as an optimistic concurrency guard."
        },
        "block": {
            "type": "object",
            "description": "New top-level block object to insert at the survey root. The block may contain nested blocks and question references; pass new question definitions in questions."
        },
        "questions": {
            "type": "array",
            "description": "Optional new question definitions to add to the survey question catalog before inserting the block.",
            "items": {
                "type": "object"
            }
        },
        "position": {
            "type": "string",
            "enum": [
                "start",
                "end"
            ],
            "description": "Insert at the beginning or end of the top-level survey blocks. Defaults to end."
        },
        "after_block_id": {
            "type": "string",
            "description": "Optional existing top-level block id after which the new block should be inserted."
        },
        "before_block_id": {
            "type": "string",
            "description": "Optional existing top-level block id before which the new block should be inserted."
        }
    },
    "required": [
        "slug",
        "expected_version_id",
        "block"
    ]
}
append_to_block surveys:write Sandbox Free+

Append or insert a block item using the mandatory expected_version_id concurrency guard. Conflicts must be explained and reconciled with the user.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
expected_version_id
integer
yes
min 1
Concrete current version_id observed immediately before this mutation. Required as an optimistic concurrency guard.
block_id
string
yes
Existing block id that will receive the new item.
item
object
yes
Flow item to insert: a nested block object or {type:"question", question:"q1"}. Use block.presentation.mode="grouped" when direct questions must share one screen.
questions
array<object>
no
items object
Optional new question definitions to add to the survey question catalog before inserting the item.
position
string
no
start, end
Insert at the beginning or end of the target block items. Defaults to end.
after_item_id
string
no
Optional existing item id/question id after which the new item should be inserted.
before_item_id
string
no
Optional existing item id/question id before which the new item should be inserted.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "expected_version_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Concrete current version_id observed immediately before this mutation. Required as an optimistic concurrency guard."
        },
        "block_id": {
            "type": "string",
            "description": "Existing block id that will receive the new item."
        },
        "item": {
            "type": "object",
            "description": "Flow item to insert: a nested block object or {type:\"question\", question:\"q1\"}. Use block.presentation.mode=\"grouped\" when direct questions must share one screen."
        },
        "questions": {
            "type": "array",
            "description": "Optional new question definitions to add to the survey question catalog before inserting the item.",
            "items": {
                "type": "object"
            }
        },
        "position": {
            "type": "string",
            "enum": [
                "start",
                "end"
            ],
            "description": "Insert at the beginning or end of the target block items. Defaults to end."
        },
        "after_item_id": {
            "type": "string",
            "description": "Optional existing item id/question id after which the new item should be inserted."
        },
        "before_item_id": {
            "type": "string",
            "description": "Optional existing item id/question id before which the new item should be inserted."
        }
    },
    "required": [
        "slug",
        "expected_version_id",
        "block_id",
        "item"
    ]
}

Translations

4 tools
get_translation_source surveys:read Sandbox Free+

Return source-locale literal keys and text for a survey, optionally with an existing target translation for one locale.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
target_locale
string
no
Optional target locale to include existing target text in each returned entry.
locale
string
no
Alias for target_locale.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "target_locale": {
            "type": "string",
            "description": "Optional target locale to include existing target text in each returned entry."
        },
        "locale": {
            "type": "string",
            "description": "Alias for target_locale."
        }
    },
    "required": [
        "slug"
    ]
}
list_survey_translations surveys:read Sandbox Free+

Return translation status by locale, including missing counts and available target locales.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
include_entries
boolean
no
Include source/target entries for each locale. Defaults to false.
include_literals
boolean
no
Alias for include_entries.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "include_entries": {
            "type": "boolean",
            "description": "Include source/target entries for each locale. Defaults to false."
        },
        "include_literals": {
            "type": "boolean",
            "description": "Alias for include_entries."
        }
    },
    "required": [
        "slug"
    ]
}
validate_survey_translation surveys:validate Sandbox Free+

Validate a complete locale translation map without saving it.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
locale
string
yes
Two-letter target locale, for example es or en.
target_locale
string
no
Alias for locale.
source_hash
string
no
Optional source hash returned by get_translation_source. If present, Dayalogs rejects stale saves.
translations
object
no
Complete translation map keyed by literal key, for example {"survey.title":"..."}.
literals
object
no
Alias for translations.
entries
array<object>
no
items object
Alternative translation shape: array of {key,target} entries returned by get_translation_source.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "locale": {
            "type": "string",
            "description": "Two-letter target locale, for example es or en."
        },
        "target_locale": {
            "type": "string",
            "description": "Alias for locale."
        },
        "source_hash": {
            "type": "string",
            "description": "Optional source hash returned by get_translation_source. If present, Dayalogs rejects stale saves."
        },
        "translations": {
            "type": "object",
            "description": "Complete translation map keyed by literal key, for example {\"survey.title\":\"...\"}."
        },
        "literals": {
            "type": "object",
            "description": "Alias for translations."
        },
        "entries": {
            "type": "array",
            "description": "Alternative translation shape: array of {key,target} entries returned by get_translation_source.",
            "items": {
                "type": "object"
            }
        }
    },
    "required": [
        "slug",
        "locale"
    ]
}
save_survey_translation surveys:write Sandbox Free+

Save a complete locale translation map into the current survey without creating a new survey version.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
locale
string
yes
Two-letter target locale, for example es or en. This value is also used in the save URL.
target_locale
string
no
Alias for locale.
source_hash
string
no
Optional source hash returned by get_translation_source. If present, Dayalogs rejects stale saves.
translations
object
no
Complete translation map keyed by literal key, for example {"survey.title":"..."}.
literals
object
no
Alias for translations.
entries
array<object>
no
items object
Alternative translation shape: array of {key,target} entries returned by get_translation_source.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "locale": {
            "type": "string",
            "description": "Two-letter target locale, for example es or en. This value is also used in the save URL."
        },
        "target_locale": {
            "type": "string",
            "description": "Alias for locale."
        },
        "source_hash": {
            "type": "string",
            "description": "Optional source hash returned by get_translation_source. If present, Dayalogs rejects stale saves."
        },
        "translations": {
            "type": "object",
            "description": "Complete translation map keyed by literal key, for example {\"survey.title\":\"...\"}."
        },
        "literals": {
            "type": "object",
            "description": "Alias for translations."
        },
        "entries": {
            "type": "array",
            "description": "Alternative translation shape: array of {key,target} entries returned by get_translation_source.",
            "items": {
                "type": "object"
            }
        }
    },
    "required": [
        "slug",
        "locale"
    ]
}

Preview & design

5 tools
get_preview_url surveys:read Sandbox Free+

Create and return admin and public preview URLs for a current survey. The public preview does not persist responses. During authoring, share public_preview_url with the user, not respondent access links.

Parameter
Type
Req.
Details
slug
string
yes
locale
string
no
Optional locale, for example ca, es or en.
ttl_minutes
integer
no
min 15 · max 10080
Public preview lifetime between 15 and 10080 minutes.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string"
        },
        "locale": {
            "type": "string",
            "description": "Optional locale, for example ca, es or en."
        },
        "ttl_minutes": {
            "type": "integer",
            "description": "Public preview lifetime between 15 and 10080 minutes.",
            "minimum": 15,
            "maximum": 10080
        }
    },
    "required": [
        "slug"
    ]
}
get_survey_design surveys:read Sandbox Free+

Return the respondent-facing design settings for a survey, including assigned style and logo metadata.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        }
    },
    "required": [
        "slug"
    ]
}
update_survey_design surveys:write Sandbox Free+

Assign a base style, ready custom style, or clear the explicit style for a survey.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
style
string | object | null
no
Style assignment: none/default, base:{key}, theme:{id}, or {type:"base", key:"..."} / {type:"theme", id:123}.
style_selection
string | object | null
no
Alias for style.
base_key
string
no
Assign a locked base style by key.
style_base_key
string
no
Alias for base_key.
theme_id
integer
no
min 1
Assign a ready custom style by id.
style_theme_id
integer
no
min 1
Alias for theme_id.
clear_style
boolean
no
Clear the explicit survey style and fall back to the default.
logo_alignment
string
no
left, center, right
Survey-level logo alignment override.
alignment
string
no
left, center, right
Alias for logo_alignment.
clear_logo_alignment
boolean
no
Clear the survey-level logo alignment override and inherit the account default.
logo_mode
string
no
inherit, override, disabled
Survey logo behavior: inherit the account/default logo, use the uploaded survey logo, or hide the logo.
header_logo_mode
string
no
inherit, override, disabled
Alias for logo_mode.
disable_logo
boolean
no
Hide the header logo on this survey.
hide_logo
boolean
no
Alias for disable_logo.
inherit_logo
boolean
no
Return to the account/default header logo.
clear_logo_override
boolean
no
Alias for inherit_logo.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "style": {
            "type": [
                "string",
                "object",
                "null"
            ],
            "description": "Style assignment: none/default, base:{key}, theme:{id}, or {type:\"base\", key:\"...\"} / {type:\"theme\", id:123}."
        },
        "style_selection": {
            "type": [
                "string",
                "object",
                "null"
            ],
            "description": "Alias for style."
        },
        "base_key": {
            "type": "string",
            "description": "Assign a locked base style by key."
        },
        "style_base_key": {
            "type": "string",
            "description": "Alias for base_key."
        },
        "theme_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Assign a ready custom style by id."
        },
        "style_theme_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for theme_id."
        },
        "clear_style": {
            "type": "boolean",
            "description": "Clear the explicit survey style and fall back to the default."
        },
        "logo_alignment": {
            "type": "string",
            "enum": [
                "left",
                "center",
                "right"
            ],
            "description": "Survey-level logo alignment override."
        },
        "alignment": {
            "type": "string",
            "enum": [
                "left",
                "center",
                "right"
            ],
            "description": "Alias for logo_alignment."
        },
        "clear_logo_alignment": {
            "type": "boolean",
            "description": "Clear the survey-level logo alignment override and inherit the account default."
        },
        "logo_mode": {
            "type": "string",
            "enum": [
                "inherit",
                "override",
                "disabled"
            ],
            "description": "Survey logo behavior: inherit the account/default logo, use the uploaded survey logo, or hide the logo."
        },
        "header_logo_mode": {
            "type": "string",
            "enum": [
                "inherit",
                "override",
                "disabled"
            ],
            "description": "Alias for logo_mode."
        },
        "disable_logo": {
            "type": "boolean",
            "description": "Hide the header logo on this survey."
        },
        "hide_logo": {
            "type": "boolean",
            "description": "Alias for disable_logo."
        },
        "inherit_logo": {
            "type": "boolean",
            "description": "Return to the account/default header logo."
        },
        "clear_logo_override": {
            "type": "boolean",
            "description": "Alias for inherit_logo."
        }
    },
    "required": [
        "slug"
    ]
}
upload_survey_logo surveys:write Sandbox Free+

Upload a survey-specific header logo override from base64 content and optional alignment.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
content_base64
string
yes
Base64 image content. Data URLs are accepted.
filename
string
no
Original filename for metadata.
mime_type
string
no
image/png, image/jpeg or image/webp. Optional when content_base64 is a data URL.
logo_alignment
string
no
left, center, right
Optional logo alignment to save with the upload.
alignment
string
no
left, center, right
Alias for logo_alignment.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "content_base64": {
            "type": "string",
            "description": "Base64 image content. Data URLs are accepted."
        },
        "filename": {
            "type": "string",
            "description": "Original filename for metadata."
        },
        "mime_type": {
            "type": "string",
            "description": "image/png, image/jpeg or image/webp. Optional when content_base64 is a data URL."
        },
        "logo_alignment": {
            "type": "string",
            "enum": [
                "left",
                "center",
                "right"
            ],
            "description": "Optional logo alignment to save with the upload."
        },
        "alignment": {
            "type": "string",
            "enum": [
                "left",
                "center",
                "right"
            ],
            "description": "Alias for logo_alignment."
        }
    },
    "required": [
        "slug",
        "content_base64"
    ]
}
delete_survey_logo surveys:write Sandbox Free+

Remove the survey-specific header logo override, falling back to account branding or Dayalogs default.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        }
    },
    "required": [
        "slug"
    ]
}

Publishing

2 tools
go_live_survey surveys:publish Free+

Start response collection for the current survey version. This publishes real respondent access and requires confirm_publish=true after the user explicitly asks to start collection/go live. Without confirmation, the tool returns a preview URL and does not change collection state.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
confirm_publish
boolean
no
Must be true to start real response collection. Set it only after the user explicitly asks to start collection, publish, or go live.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "confirm_publish": {
            "type": "boolean",
            "description": "Must be true to start real response collection. Set it only after the user explicitly asks to start collection, publish, or go live."
        }
    },
    "required": [
        "slug"
    ]
}
stop_survey_collection surveys:publish Free+

Stop response collection for the current survey version. Existing links remain configured, but respondent entry shows a friendly unavailable page.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        }
    },
    "required": [
        "slug"
    ]
}

Quotas

5 tools
list_survey_quotas surveys:read Sandbox Free+

List survey-level quotas plus read-only link and link set quota summaries and condition source metadata.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        }
    },
    "required": [
        "slug"
    ]
}
create_survey_quota surveys:write Sandbox Free+

Create a survey-level quota with label, limit, optional count, active flag and Dayalogs condition JSON.

Parameter
Type
Req.
Details
quota_id
string
no
Optional stable quota id. Defaults to a slugified label.
id
string
no
Alias for quota_id.
slug
string
yes
Survey slug.
label
string
yes
Quota display name. Required on create.
name
string
no
Alias for label.
limit
integer
yes
min 1
Quota threshold.
count
integer
no
min 0
Current accepted count. Optional; defaults to 0 on create.
active
boolean
no
Whether the quota is active. Defaults to true on create.
condition
object
no
Dayalogs condition JSON. Use {question, op, value}, {var, op, value}, groups {all:[...]}, {any:[...]}, or {not:{...}}. Operators are normalized to canonical forms such as eq, not_eq, contains, gt, gte, lt, lte, answered and not_answered.
if
object
no
Alias for condition.
condition_json
string
no
Alternative to condition: JSON object string.
clear_condition
boolean
no
On update, remove the quota condition and turn it into a total survey quota.
View input JSON schema
{
    "type": "object",
    "properties": {
        "quota_id": {
            "type": "string",
            "description": "Optional stable quota id. Defaults to a slugified label."
        },
        "id": {
            "type": "string",
            "description": "Alias for quota_id."
        },
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "label": {
            "type": "string",
            "description": "Quota display name. Required on create."
        },
        "name": {
            "type": "string",
            "description": "Alias for label."
        },
        "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Quota threshold."
        },
        "count": {
            "type": "integer",
            "minimum": 0,
            "description": "Current accepted count. Optional; defaults to 0 on create."
        },
        "active": {
            "type": "boolean",
            "description": "Whether the quota is active. Defaults to true on create."
        },
        "condition": {
            "type": "object",
            "description": "Dayalogs condition JSON. Use {question, op, value}, {var, op, value}, groups {all:[...]}, {any:[...]}, or {not:{...}}. Operators are normalized to canonical forms such as eq, not_eq, contains, gt, gte, lt, lte, answered and not_answered."
        },
        "if": {
            "type": "object",
            "description": "Alias for condition."
        },
        "condition_json": {
            "type": "string",
            "description": "Alternative to condition: JSON object string."
        },
        "clear_condition": {
            "type": "boolean",
            "description": "On update, remove the quota condition and turn it into a total survey quota."
        }
    },
    "required": [
        "slug",
        "label",
        "limit"
    ]
}
update_survey_quota surveys:write Sandbox Free+

Update a survey-level quota label, limit, count, active flag or condition.

Parameter
Type
Req.
Details
quota_id
string
yes
Survey-level quota id.
id
string
no
Alias for quota_id.
slug
string
yes
Survey slug.
label
string
no
Quota display name. Required on create.
name
string
no
Alias for label.
limit
integer
no
min 1
Quota threshold.
count
integer
no
min 0
Current accepted count. Optional; defaults to 0 on create.
active
boolean
no
Whether the quota is active. Defaults to true on create.
condition
object
no
Dayalogs condition JSON. Use {question, op, value}, {var, op, value}, groups {all:[...]}, {any:[...]}, or {not:{...}}. Operators are normalized to canonical forms such as eq, not_eq, contains, gt, gte, lt, lte, answered and not_answered.
if
object
no
Alias for condition.
condition_json
string
no
Alternative to condition: JSON object string.
clear_condition
boolean
no
On update, remove the quota condition and turn it into a total survey quota.
View input JSON schema
{
    "type": "object",
    "properties": {
        "quota_id": {
            "type": "string",
            "description": "Survey-level quota id."
        },
        "id": {
            "type": "string",
            "description": "Alias for quota_id."
        },
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "label": {
            "type": "string",
            "description": "Quota display name. Required on create."
        },
        "name": {
            "type": "string",
            "description": "Alias for label."
        },
        "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Quota threshold."
        },
        "count": {
            "type": "integer",
            "minimum": 0,
            "description": "Current accepted count. Optional; defaults to 0 on create."
        },
        "active": {
            "type": "boolean",
            "description": "Whether the quota is active. Defaults to true on create."
        },
        "condition": {
            "type": "object",
            "description": "Dayalogs condition JSON. Use {question, op, value}, {var, op, value}, groups {all:[...]}, {any:[...]}, or {not:{...}}. Operators are normalized to canonical forms such as eq, not_eq, contains, gt, gte, lt, lte, answered and not_answered."
        },
        "if": {
            "type": "object",
            "description": "Alias for condition."
        },
        "condition_json": {
            "type": "string",
            "description": "Alternative to condition: JSON object string."
        },
        "clear_condition": {
            "type": "boolean",
            "description": "On update, remove the quota condition and turn it into a total survey quota."
        }
    },
    "required": [
        "slug",
        "quota_id"
    ]
}
delete_survey_quota surveys:write Sandbox Free+

Delete a survey-level quota. Link and link set quotas are managed through link and link set tools.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
quota_id
string
yes
Survey-level quota id.
id
string
no
Alias for quota_id.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "quota_id": {
            "type": "string",
            "description": "Survey-level quota id."
        },
        "id": {
            "type": "string",
            "description": "Alias for quota_id."
        }
    },
    "required": [
        "slug",
        "quota_id"
    ]
}
set_survey_quota_version_inclusion surveys:write Sandbox Free+

Include or exclude one survey version from effective quota progress without deleting responses or counters. Exclusion requires an explicit user confirmation and audit reason; without confirmation the tool returns a normal confirmation_required result and does not mutate quota state.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
version
integer
yes
min 1
Concrete survey version number.
included
boolean
yes
false excludes this version contribution; true restores it.
quota_id
string
no
Optional quota id. Omit to apply to every survey-level quota.
reason
string
no
Audit reason. Required when excluding a version.
confirm_exclusion
boolean
no
Must be true when included=false, after the user explicitly confirms excluding this version from quota progress.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "version": {
            "type": "integer",
            "minimum": 1,
            "description": "Concrete survey version number."
        },
        "included": {
            "type": "boolean",
            "description": "false excludes this version contribution; true restores it."
        },
        "quota_id": {
            "type": "string",
            "description": "Optional quota id. Omit to apply to every survey-level quota."
        },
        "reason": {
            "type": "string",
            "description": "Audit reason. Required when excluding a version."
        },
        "confirm_exclusion": {
            "type": "boolean",
            "description": "Must be true when included=false, after the user explicitly confirms excluding this version from quota progress."
        }
    },
    "required": [
        "slug",
        "version",
        "included"
    ]
}

Responses

4 tools
list_survey_responses responses:read Free+

List completed survey responses with pagination and optional version/date/link/ending filters.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
version
string | integer
no
current, all or a specific version number. Defaults to current.
page
integer
no
min 1
Page number. Defaults to 1.
limit
integer
no
min 1 · max 100
Responses per page. Defaults to 25, maximum 100.
submitted_from
string
no
Optional ISO-8601 lower datetime bound.
submitted_to
string
no
Optional ISO-8601 upper datetime bound.
ending_key
string
no
Optional ending key filter.
share_link_id
integer
no
Optional share-link id filter.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "version": {
            "type": [
                "string",
                "integer"
            ],
            "description": "current, all or a specific version number. Defaults to current."
        },
        "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number. Defaults to 1."
        },
        "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Responses per page. Defaults to 25, maximum 100."
        },
        "submitted_from": {
            "type": "string",
            "description": "Optional ISO-8601 lower datetime bound."
        },
        "submitted_to": {
            "type": "string",
            "description": "Optional ISO-8601 upper datetime bound."
        },
        "ending_key": {
            "type": "string",
            "description": "Optional ending key filter."
        },
        "share_link_id": {
            "type": "integer",
            "description": "Optional share-link id filter."
        }
    },
    "required": [
        "slug"
    ]
}
get_survey_response responses:read Free+

Return one completed survey response, including variables, share-link metadata and individual answer rows.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
response_id
integer
yes
min 1
Survey response id.
id
integer
no
min 1
Alias for response_id.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "response_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Survey response id."
        },
        "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for response_id."
        }
    },
    "required": [
        "slug",
        "response_id"
    ]
}
delete_survey_response responses:delete Free+

Delete one completed survey response from the current account. Use carefully; this mirrors the admin delete action.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
response_id
integer
yes
min 1
Survey response id.
id
integer
no
min 1
Alias for response_id.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "response_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Survey response id."
        },
        "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for response_id."
        }
    },
    "required": [
        "slug",
        "response_id"
    ]
}
export_survey_responses responses:export Free+

Export survey responses in json, ndjson, csv, xlsx or sav. Binary exports are returned as base64 content.

Formats json, ndjson, csv and xlsx are standard exports. Format sav requires Pro or higher.
Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
format
string
no
json, ndjson, csv, xlsx, sav
Export format. Defaults to json.
versions
string | integer | array
no
current, all, one version number, comma-separated version numbers, or an array of version numbers. Defaults to current.
version
string | integer
no
Alias for versions when selecting a single version/current/all.
attempts
string
no
completed, all, partials
Whether to export completed responses, partial attempts, or both. Defaults to completed.
partial_min_completion_percent
number
no
min 0 · max 100
Optional minimum completion percent when partial attempts are included.
partial_reached_target
string
no
Optional question id/code/alias that a partial attempt must have reached.
option_value_mode
string
no
code, alias
Use option numeric codes or option aliases in tabular exports when aliases exist.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "format": {
            "type": "string",
            "enum": [
                "json",
                "ndjson",
                "csv",
                "xlsx",
                "sav"
            ],
            "description": "Export format. Defaults to json."
        },
        "versions": {
            "type": [
                "string",
                "integer",
                "array"
            ],
            "items": {
                "type": "integer"
            },
            "description": "current, all, one version number, comma-separated version numbers, or an array of version numbers. Defaults to current."
        },
        "version": {
            "type": [
                "string",
                "integer"
            ],
            "description": "Alias for versions when selecting a single version/current/all."
        },
        "attempts": {
            "type": "string",
            "enum": [
                "completed",
                "all",
                "partials"
            ],
            "description": "Whether to export completed responses, partial attempts, or both. Defaults to completed."
        },
        "partial_min_completion_percent": {
            "type": "number",
            "minimum": 0,
            "maximum": 100,
            "description": "Optional minimum completion percent when partial attempts are included."
        },
        "partial_reached_target": {
            "type": "string",
            "description": "Optional question id/code/alias that a partial attempt must have reached."
        },
        "option_value_mode": {
            "type": "string",
            "enum": [
                "code",
                "alias"
            ],
            "description": "Use option numeric codes or option aliases in tabular exports when aliases exist."
        }
    },
    "required": [
        "slug"
    ]
}

Audiences

7 tools
get_audience_summary audiences:read Free+

Return account audience counts, top tags, saved segment summaries and recent imports.

No input parameters.
View input JSON schema
{
    "type": "object",
    "properties": {},
    "required": []
}
list_audience_contacts audiences:read Free+

Search and paginate contacts in the current account, optionally filtering by all provided tag slugs or names.

Parameter
Type
Req.
Details
q
string
no
Optional text search across name, email, phone, external id and UUID.
query
string
no
Alias for q.
tags
array | string
no
Optional tag slugs/names. Multiple tags are combined with AND. Accepts an array or comma-separated string.
tag_slugs
array | string
no
Alias for tags.
page
integer
no
min 1
Page number. Defaults to 1.
limit
integer
no
min 1 · max 100
Contacts per page. Defaults to 20, maximum 100.
View input JSON schema
{
    "type": "object",
    "properties": {
        "q": {
            "type": "string",
            "description": "Optional text search across name, email, phone, external id and UUID."
        },
        "query": {
            "type": "string",
            "description": "Alias for q."
        },
        "tags": {
            "type": [
                "array",
                "string"
            ],
            "items": {
                "type": "string"
            },
            "description": "Optional tag slugs/names. Multiple tags are combined with AND. Accepts an array or comma-separated string."
        },
        "tag_slugs": {
            "type": [
                "array",
                "string"
            ],
            "items": {
                "type": "string"
            },
            "description": "Alias for tags."
        },
        "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number. Defaults to 1."
        },
        "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Contacts per page. Defaults to 20, maximum 100."
        }
    },
    "required": []
}
get_audience_contact audiences:read Free+

Return one contact with tags, extra JSON, account-level data and survey-scoped data.

Parameter
Type
Req.
Details
contact_id
integer
yes
min 1
Audience contact id.
id
integer
no
min 1
Alias for contact_id.
View input JSON schema
{
    "type": "object",
    "properties": {
        "contact_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Audience contact id."
        },
        "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for contact_id."
        }
    },
    "required": [
        "contact_id"
    ]
}
create_audience_import audiences:import Free+

Create a JSON-first audience import session. The caller should transform Excel, CRM, Word or copied lists into normalized contact JSON before appending chunks.

Parameter
Type
Req.
Details
label
string
yes
Human import name, for example "Directors escoles juny 2026".
name
string
no
Alias for label.
tags
array | string
no
Optional import tags as array or comma-separated string. Dayalogs also adds an import-YYMMDD-HHMM tag automatically.
tag_names
array | string
no
Alias for tags.
data_survey_slug
string
no
Optional survey slug. When set, each contact data object is stored as survey-scoped @contact.survey_data for that survey.
survey_slug
string
no
Alias for data_survey_slug.
source_metadata
object
no
Optional metadata about the upstream source, such as CRM name, file title or agent trace id.
metadata
object
no
Alias for source_metadata.
View input JSON schema
{
    "type": "object",
    "properties": {
        "label": {
            "type": "string",
            "description": "Human import name, for example \"Directors escoles juny 2026\"."
        },
        "name": {
            "type": "string",
            "description": "Alias for label."
        },
        "tags": {
            "type": [
                "array",
                "string"
            ],
            "items": {
                "type": "string"
            },
            "description": "Optional import tags as array or comma-separated string. Dayalogs also adds an import-YYMMDD-HHMM tag automatically."
        },
        "tag_names": {
            "type": [
                "array",
                "string"
            ],
            "items": {
                "type": "string"
            },
            "description": "Alias for tags."
        },
        "data_survey_slug": {
            "type": "string",
            "description": "Optional survey slug. When set, each contact data object is stored as survey-scoped @contact.survey_data for that survey."
        },
        "survey_slug": {
            "type": "string",
            "description": "Alias for data_survey_slug."
        },
        "source_metadata": {
            "type": "object",
            "description": "Optional metadata about the upstream source, such as CRM name, file title or agent trace id."
        },
        "metadata": {
            "type": "object",
            "description": "Alias for source_metadata."
        }
    },
    "required": [
        "label"
    ]
}
append_audience_import_contacts audiences:import Free+

Append a chunk of normalized contact JSON to an open audience import. Uses chunk_id for idempotency and persists contacts immediately.

Parameter
Type
Req.
Details
import_id
integer
yes
min 1
Audience import id.
id
integer
no
min 1
Alias for import_id.
chunk_id
string
no
Optional idempotency key. Re-sending the same chunk_id is a no-op.
contacts
array<object>
no
items object
Chunk of already-normalized Dayalogs contact JSON objects. Do not send raw Excel/CSV rows here.
items
array<object>
no
items object
Alias for contacts.
contacts_json
string
no
Alternative to contacts: JSON string containing an array of normalized contact objects.
View input JSON schema
{
    "type": "object",
    "properties": {
        "import_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Audience import id."
        },
        "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for import_id."
        },
        "chunk_id": {
            "type": "string",
            "description": "Optional idempotency key. Re-sending the same chunk_id is a no-op."
        },
        "contacts": {
            "type": "array",
            "description": "Chunk of already-normalized Dayalogs contact JSON objects. Do not send raw Excel/CSV rows here.",
            "items": {
                "type": "object",
                "description": "Normalized contact object. Canonical fields: external_id, email, phone, first_name, last_name, full_name, age, gender, tags, extra, data, survey_data.",
                "properties": {
                    "external_id": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string"
                    },
                    "phone": {
                        "type": "string"
                    },
                    "first_name": {
                        "type": "string"
                    },
                    "last_name": {
                        "type": "string"
                    },
                    "full_name": {
                        "type": "string"
                    },
                    "age": {
                        "type": [
                            "integer",
                            "string"
                        ]
                    },
                    "gender": {
                        "type": "string"
                    },
                    "tags": {
                        "type": [
                            "array",
                            "string"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "extra": {
                        "type": "object",
                        "description": "Unmapped flat or structured metadata. Exposed under @contact.extra and merged into contact payload."
                    },
                    "data": {
                        "type": "object",
                        "description": "Structured account-level contact data, or survey-scoped data when the import session has data_survey_slug."
                    },
                    "survey_data": {
                        "type": "object",
                        "description": "Optional object keyed by survey slug, each value a JSON object."
                    }
                }
            }
        },
        "items": {
            "type": "array",
            "description": "Alias for contacts.",
            "items": {
                "type": "object",
                "description": "Normalized contact object. Canonical fields: external_id, email, phone, first_name, last_name, full_name, age, gender, tags, extra, data, survey_data.",
                "properties": {
                    "external_id": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string"
                    },
                    "phone": {
                        "type": "string"
                    },
                    "first_name": {
                        "type": "string"
                    },
                    "last_name": {
                        "type": "string"
                    },
                    "full_name": {
                        "type": "string"
                    },
                    "age": {
                        "type": [
                            "integer",
                            "string"
                        ]
                    },
                    "gender": {
                        "type": "string"
                    },
                    "tags": {
                        "type": [
                            "array",
                            "string"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "extra": {
                        "type": "object",
                        "description": "Unmapped flat or structured metadata. Exposed under @contact.extra and merged into contact payload."
                    },
                    "data": {
                        "type": "object",
                        "description": "Structured account-level contact data, or survey-scoped data when the import session has data_survey_slug."
                    },
                    "survey_data": {
                        "type": "object",
                        "description": "Optional object keyed by survey slug, each value a JSON object."
                    }
                }
            }
        },
        "contacts_json": {
            "type": "string",
            "description": "Alternative to contacts: JSON string containing an array of normalized contact objects."
        }
    },
    "required": [
        "import_id"
    ]
}
get_audience_import_status audiences:import Free+

Return import status, counters, processed chunks, warnings/errors and metadata for an audience import session.

Parameter
Type
Req.
Details
import_id
integer
yes
min 1
Audience import id.
id
integer
no
min 1
Alias for import_id.
View input JSON schema
{
    "type": "object",
    "properties": {
        "import_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Audience import id."
        },
        "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for import_id."
        }
    },
    "required": [
        "import_id"
    ]
}
commit_audience_import audiences:import Free+

Finalize an open audience import session. Contacts are already persisted during chunk append; commit marks the import complete.

Parameter
Type
Req.
Details
import_id
integer
yes
min 1
Audience import id.
id
integer
no
min 1
Alias for import_id.
View input JSON schema
{
    "type": "object",
    "properties": {
        "import_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Audience import id."
        },
        "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for import_id."
        }
    },
    "required": [
        "import_id"
    ]
}

Tags

5 tools
list_tags tags:read Free+

List global account tags and current contact assignment counts.

No input parameters.
View input JSON schema
{
    "type": "object",
    "properties": {},
    "required": []
}
suggest_tags tags:read Free+

Autocomplete existing global account tags by name or slug.

Parameter
Type
Req.
Details
q
string
yes
Text to search in tag name or slug.
limit
integer
no
min 1 · max 25
Maximum suggestions. Defaults to 8.
View input JSON schema
{
    "type": "object",
    "properties": {
        "q": {
            "type": "string",
            "description": "Text to search in tag name or slug."
        },
        "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 25,
            "description": "Maximum suggestions. Defaults to 8."
        }
    },
    "required": [
        "q"
    ]
}
create_tag tags:write Free+

Create a global account tag that can be used by audiences now and other resource types later.

Parameter
Type
Req.
Details
name
string
yes
Tag display name.
slug
string
no
Optional stable slug. Defaults to a slugified name on create.
View input JSON schema
{
    "type": "object",
    "properties": {
        "name": {
            "type": "string",
            "description": "Tag display name."
        },
        "slug": {
            "type": "string",
            "description": "Optional stable slug. Defaults to a slugified name on create."
        }
    },
    "required": [
        "name"
    ]
}
update_tag tags:write Free+

Update a global account tag name or slug.

Parameter
Type
Req.
Details
tag_id
integer
yes
min 1
Tag id.
id
integer
no
min 1
Alias for tag_id.
name
string
no
Tag display name.
slug
string
no
Optional stable slug. Defaults to a slugified name on create.
View input JSON schema
{
    "type": "object",
    "properties": {
        "tag_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Tag id."
        },
        "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for tag_id."
        },
        "name": {
            "type": "string",
            "description": "Tag display name."
        },
        "slug": {
            "type": "string",
            "description": "Optional stable slug. Defaults to a slugified name on create."
        }
    },
    "required": [
        "tag_id"
    ]
}
delete_tag tags:write Free+

Delete a global account tag. If assigned to contacts, pass detach=true to remove assignments.

Parameter
Type
Req.
Details
tag_id
integer
yes
min 1
Tag id.
id
integer
no
min 1
Alias for tag_id.
detach
boolean
no
When true, delete even if assigned to contacts, detaching those contact assignments.
View input JSON schema
{
    "type": "object",
    "properties": {
        "tag_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Tag id."
        },
        "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for tag_id."
        },
        "detach": {
            "type": "boolean",
            "description": "When true, delete even if assigned to contacts, detaching those contact assignments."
        }
    },
    "required": [
        "tag_id"
    ]
}

Segments

7 tools
list_audience_segments audiences:segments Free+

List saved audience segments with normalized query criteria.

No input parameters.
View input JSON schema
{
    "type": "object",
    "properties": {},
    "required": []
}
count_audience_segment audiences:segments Free+

Normalize an audience segment criteria JSON object and return the matching contact count plus a small sample.

Parameter
Type
Req.
Details
criteria
object
no
Segment query object using combinator and rules. Rule sources: tag, field, extra, data, survey_data. Canonical operators: exists, not_exists, eq, not_eq, contains, not_contains, starts_with, ends_with, gt, gte, lt, lte, count_eq, count_gt, count_gte, count_lt, count_lte.
criteria_json
string
no
Alternative to criteria: JSON string containing the segment query object.
sample_limit
integer
no
min 1 · max 20
Maximum sample contacts to return. Defaults to 5.
View input JSON schema
{
    "type": "object",
    "properties": {
        "criteria": {
            "type": "object",
            "description": "Segment query object using combinator and rules. Rule sources: tag, field, extra, data, survey_data. Canonical operators: exists, not_exists, eq, not_eq, contains, not_contains, starts_with, ends_with, gt, gte, lt, lte, count_eq, count_gt, count_gte, count_lt, count_lte."
        },
        "criteria_json": {
            "type": "string",
            "description": "Alternative to criteria: JSON string containing the segment query object."
        },
        "sample_limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "description": "Maximum sample contacts to return. Defaults to 5."
        }
    },
    "required": []
}
create_audience_segment audiences:segments Free+

Create a saved audience segment from a normalized criteria JSON object and return the calculated contact count.

Parameter
Type
Req.
Details
name
string
yes
Segment display name. Required on create.
slug
string
no
Optional stable slug. Defaults to a slugified name on create.
description
string
no
Optional internal description.
criteria
object
no
Segment query object using combinator and rules. Rule sources: tag, field, extra, data, survey_data. Canonical operators: exists, not_exists, eq, not_eq, contains, not_contains, starts_with, ends_with, gt, gte, lt, lte, count_eq, count_gt, count_gte, count_lt, count_lte.
criteria_json
string
no
Alternative to criteria: JSON string containing the segment query object.
refresh_count
boolean
no
On update, recalculate last_count even when criteria is unchanged.
View input JSON schema
{
    "type": "object",
    "properties": {
        "name": {
            "type": "string",
            "description": "Segment display name. Required on create."
        },
        "slug": {
            "type": "string",
            "description": "Optional stable slug. Defaults to a slugified name on create."
        },
        "description": {
            "type": "string",
            "description": "Optional internal description."
        },
        "criteria": {
            "type": "object",
            "description": "Segment query object using combinator and rules. Rule sources: tag, field, extra, data, survey_data. Canonical operators: exists, not_exists, eq, not_eq, contains, not_contains, starts_with, ends_with, gt, gte, lt, lte, count_eq, count_gt, count_gte, count_lt, count_lte."
        },
        "criteria_json": {
            "type": "string",
            "description": "Alternative to criteria: JSON string containing the segment query object."
        },
        "refresh_count": {
            "type": "boolean",
            "description": "On update, recalculate last_count even when criteria is unchanged."
        }
    },
    "required": [
        "name"
    ]
}
update_audience_segment audiences:segments Free+

Update a saved audience segment name, description, slug or criteria. When criteria changes, Dayalogs recalculates the count.

Parameter
Type
Req.
Details
segment_id
integer
yes
min 1
Audience segment id.
id
integer
no
min 1
Alias for segment_id.
name
string
no
Segment display name. Required on create.
slug
string
no
Optional stable slug. Defaults to a slugified name on create.
description
string
no
Optional internal description.
criteria
object
no
Segment query object using combinator and rules. Rule sources: tag, field, extra, data, survey_data. Canonical operators: exists, not_exists, eq, not_eq, contains, not_contains, starts_with, ends_with, gt, gte, lt, lte, count_eq, count_gt, count_gte, count_lt, count_lte.
criteria_json
string
no
Alternative to criteria: JSON string containing the segment query object.
refresh_count
boolean
no
On update, recalculate last_count even when criteria is unchanged.
View input JSON schema
{
    "type": "object",
    "properties": {
        "segment_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Audience segment id."
        },
        "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for segment_id."
        },
        "name": {
            "type": "string",
            "description": "Segment display name. Required on create."
        },
        "slug": {
            "type": "string",
            "description": "Optional stable slug. Defaults to a slugified name on create."
        },
        "description": {
            "type": "string",
            "description": "Optional internal description."
        },
        "criteria": {
            "type": "object",
            "description": "Segment query object using combinator and rules. Rule sources: tag, field, extra, data, survey_data. Canonical operators: exists, not_exists, eq, not_eq, contains, not_contains, starts_with, ends_with, gt, gte, lt, lte, count_eq, count_gt, count_gte, count_lt, count_lte."
        },
        "criteria_json": {
            "type": "string",
            "description": "Alternative to criteria: JSON string containing the segment query object."
        },
        "refresh_count": {
            "type": "boolean",
            "description": "On update, recalculate last_count even when criteria is unchanged."
        }
    },
    "required": [
        "segment_id"
    ]
}
delete_audience_segment audiences:segments Free+

Delete a saved audience segment. Contacts are not deleted.

Parameter
Type
Req.
Details
segment_id
integer
yes
min 1
Audience segment id.
id
integer
no
min 1
Alias for segment_id.
View input JSON schema
{
    "type": "object",
    "properties": {
        "segment_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Audience segment id."
        },
        "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for segment_id."
        }
    },
    "required": [
        "segment_id"
    ]
}
get_audience_segment_json_paths audiences:segments Free+

List detected JSON paths for contact extra, contact data, or survey-scoped contact data to help build segment rules.

Parameter
Type
Req.
Details
source
string
yes
extra, data, survey_data
JSON source to inspect.
survey_slug
string
no
Required when source is survey_data.
limit
integer
no
min 1 · max 500
Maximum paths to return. Defaults to 250.
View input JSON schema
{
    "type": "object",
    "properties": {
        "source": {
            "type": "string",
            "enum": [
                "extra",
                "data",
                "survey_data"
            ],
            "description": "JSON source to inspect."
        },
        "survey_slug": {
            "type": "string",
            "description": "Required when source is survey_data."
        },
        "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "Maximum paths to return. Defaults to 250."
        }
    },
    "required": [
        "source"
    ]
}
suggest_audience_segment_values audiences:segments Free+

Suggest existing values for a segment rule field or JSON path. Returns requires_query=true instead of a huge list when too many values exist.

Parameter
Type
Req.
Details
source
string
yes
field, extra, data, survey_data
Source to inspect for existing values.
field
string
no
Required when source is field. Example: email, full_name, age, gender.
path
string
no
Required for extra, data and survey_data sources.
survey_slug
string
no
Required when source is survey_data.
q
string
no
Optional autocomplete query.
query
string
no
Alias for q.
View input JSON schema
{
    "type": "object",
    "properties": {
        "source": {
            "type": "string",
            "enum": [
                "field",
                "extra",
                "data",
                "survey_data"
            ],
            "description": "Source to inspect for existing values."
        },
        "field": {
            "type": "string",
            "description": "Required when source is field. Example: email, full_name, age, gender."
        },
        "path": {
            "type": "string",
            "description": "Required for extra, data and survey_data sources."
        },
        "survey_slug": {
            "type": "string",
            "description": "Required when source is survey_data."
        },
        "q": {
            "type": "string",
            "description": "Optional autocomplete query."
        },
        "query": {
            "type": "string",
            "description": "Alias for q."
        }
    },
    "required": [
        "source"
    ]
}

Embeds

5 tools
list_survey_embeds link_sets:read Free+

List website embed placements for a survey, including generated one-tag loader snippets, allowed origins, lifecycle settings and compatibility warnings.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        }
    },
    "required": [
        "slug"
    ]
}
get_survey_embed_compatibility link_sets:read Free+

Check whether the current survey version is suitable for responsive embedded viewports. Warnings are advisory and do not block creating an embed.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        }
    },
    "required": [
        "slug"
    ]
}
create_survey_embed link_sets:write Free+

Create a website embed placement. Optionally bind it to an anonymous reusable single-link link set so its fixed metadata and runtime availability rules are used; otherwise the survey default link is resolved or created transparently. Draft embeds can be prepared without confirmation. Activating a real public embed requires exact or wildcard-subdomain allowed origins and confirm_public_embed=true after explicit user approval. Returns a one-tag script snippet.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
name
string
yes
max length 160
Human-readable placement name.
share_link_id
integer | null
no
Optional anonymous reusable single-link link set id for this survey. Fixed metadata, dates, quota and cookie protection remain effective at runtime. Null resolves or creates the survey default link.
allowed_origins
array<string>
no
items string
Exact HTTP(S) origins or wildcard subdomain origins such as https://*.example.com. Never use *.
origins
array<string>
no
items string
Alias for allowed_origins.
settings
object
no
active
boolean
no
Create the placement active. At least one allowed origin is required.
confirm_public_embed
boolean
no
Set true only after the user explicitly approves activating this real public website embed.
status
string
no
draft, active, revoked
Update lifecycle status. Activating requires at least one allowed origin.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "name": {
            "type": "string",
            "maxLength": 160,
            "description": "Human-readable placement name."
        },
        "share_link_id": {
            "type": [
                "integer",
                "null"
            ],
            "description": "Optional anonymous reusable single-link link set id for this survey. Fixed metadata, dates, quota and cookie protection remain effective at runtime. Null resolves or creates the survey default link."
        },
        "allowed_origins": {
            "type": "array",
            "description": "Exact HTTP(S) origins or wildcard subdomain origins such as https://*.example.com. Never use *.",
            "items": {
                "type": "string"
            }
        },
        "origins": {
            "type": "array",
            "description": "Alias for allowed_origins.",
            "items": {
                "type": "string"
            }
        },
        "settings": {
            "type": "object",
            "properties": {
                "mode": {
                    "type": "string",
                    "enum": [
                        "modal"
                    ]
                },
                "trigger": {
                    "type": "object",
                    "properties": {
                        "type": {
                            "type": "string",
                            "enum": [
                                "immediate",
                                "delay",
                                "scroll",
                                "launcher",
                                "programmatic",
                                "custom_event"
                            ]
                        },
                        "delay_ms": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 3600000
                        },
                        "scroll_percent": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        },
                        "event_name": {
                            "type": "string",
                            "maxLength": 120
                        },
                        "launcher_label": {
                            "type": "string",
                            "maxLength": 120
                        }
                    },
                    "required": [],
                    "additionalProperties": false
                },
                "frequency": {
                    "type": "object",
                    "properties": {
                        "type": {
                            "type": "string",
                            "enum": [
                                "always",
                                "session",
                                "once",
                                "cooldown"
                            ]
                        },
                        "cooldown_days": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 3650
                        }
                    },
                    "required": [],
                    "additionalProperties": false
                },
                "layout": {
                    "type": "object",
                    "properties": {
                        "desktop_width": {
                            "type": "integer",
                            "minimum": 320,
                            "maximum": 1200
                        },
                        "mobile_width": {
                            "type": "integer",
                            "minimum": 280,
                            "maximum": 600
                        },
                        "max_height": {
                            "type": "integer",
                            "minimum": 320,
                            "maximum": 1600
                        },
                        "drawer_side": {
                            "type": "string",
                            "enum": [
                                "left",
                                "right"
                            ]
                        }
                    },
                    "required": [],
                    "additionalProperties": false
                },
                "appearance": {
                    "type": "object",
                    "properties": {
                        "border_width": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 8
                        },
                        "border_color": {
                            "type": "string",
                            "pattern": "^#[0-9a-fA-F]{6}$"
                        },
                        "border_radius": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 40
                        },
                        "shadow": {
                            "type": "string",
                            "enum": [
                                "none",
                                "soft",
                                "strong"
                            ]
                        },
                        "backdrop_color": {
                            "type": "string",
                            "pattern": "^#[0-9a-fA-F]{6}$"
                        },
                        "backdrop_opacity": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 90
                        }
                    },
                    "required": [],
                    "additionalProperties": false
                },
                "target_selector": {
                    "type": [
                        "string",
                        "null"
                    ],
                    "maxLength": 240
                },
                "locale": {
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [],
            "additionalProperties": false
        },
        "active": {
            "type": "boolean",
            "description": "Create the placement active. At least one allowed origin is required."
        },
        "confirm_public_embed": {
            "type": "boolean",
            "description": "Set true only after the user explicitly approves activating this real public website embed."
        },
        "status": {
            "type": "string",
            "enum": [
                "draft",
                "active",
                "revoked"
            ],
            "description": "Update lifecycle status. Activating requires at least one allowed origin."
        }
    },
    "required": [
        "slug",
        "name"
    ],
    "additionalProperties": false
}
update_survey_embed link_sets:write Free+

Update an embed placement name, compatible share link, allowed origins, trigger, frequency, responsive layout, locale or status. A null share_link_id restores the compatible default link. Transitioning a draft embed to active requires allowed origins and confirm_public_embed=true after explicit user approval.

Parameter
Type
Req.
Details
embed_id
integer
yes
Website embed placement id.
id
integer
no
Alias for embed_id.
slug
string
yes
Survey slug.
name
string
no
max length 160
Human-readable placement name.
share_link_id
integer | null
no
Optional anonymous reusable single-link link set id for this survey. Fixed metadata, dates, quota and cookie protection remain effective at runtime. Null resolves or creates the survey default link.
allowed_origins
array<string>
no
items string
Exact HTTP(S) origins or wildcard subdomain origins such as https://*.example.com. Never use *.
origins
array<string>
no
items string
Alias for allowed_origins.
settings
object
no
active
boolean
no
Create the placement active. At least one allowed origin is required.
confirm_public_embed
boolean
no
Set true only after the user explicitly approves activating this real public website embed.
status
string
no
draft, active, revoked
Update lifecycle status. Activating requires at least one allowed origin.
View input JSON schema
{
    "type": "object",
    "properties": {
        "embed_id": {
            "type": "integer",
            "description": "Website embed placement id."
        },
        "id": {
            "type": "integer",
            "description": "Alias for embed_id."
        },
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "name": {
            "type": "string",
            "maxLength": 160,
            "description": "Human-readable placement name."
        },
        "share_link_id": {
            "type": [
                "integer",
                "null"
            ],
            "description": "Optional anonymous reusable single-link link set id for this survey. Fixed metadata, dates, quota and cookie protection remain effective at runtime. Null resolves or creates the survey default link."
        },
        "allowed_origins": {
            "type": "array",
            "description": "Exact HTTP(S) origins or wildcard subdomain origins such as https://*.example.com. Never use *.",
            "items": {
                "type": "string"
            }
        },
        "origins": {
            "type": "array",
            "description": "Alias for allowed_origins.",
            "items": {
                "type": "string"
            }
        },
        "settings": {
            "type": "object",
            "properties": {
                "mode": {
                    "type": "string",
                    "enum": [
                        "modal"
                    ]
                },
                "trigger": {
                    "type": "object",
                    "properties": {
                        "type": {
                            "type": "string",
                            "enum": [
                                "immediate",
                                "delay",
                                "scroll",
                                "launcher",
                                "programmatic",
                                "custom_event"
                            ]
                        },
                        "delay_ms": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 3600000
                        },
                        "scroll_percent": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 100
                        },
                        "event_name": {
                            "type": "string",
                            "maxLength": 120
                        },
                        "launcher_label": {
                            "type": "string",
                            "maxLength": 120
                        }
                    },
                    "required": [],
                    "additionalProperties": false
                },
                "frequency": {
                    "type": "object",
                    "properties": {
                        "type": {
                            "type": "string",
                            "enum": [
                                "always",
                                "session",
                                "once",
                                "cooldown"
                            ]
                        },
                        "cooldown_days": {
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 3650
                        }
                    },
                    "required": [],
                    "additionalProperties": false
                },
                "layout": {
                    "type": "object",
                    "properties": {
                        "desktop_width": {
                            "type": "integer",
                            "minimum": 320,
                            "maximum": 1200
                        },
                        "mobile_width": {
                            "type": "integer",
                            "minimum": 280,
                            "maximum": 600
                        },
                        "max_height": {
                            "type": "integer",
                            "minimum": 320,
                            "maximum": 1600
                        },
                        "drawer_side": {
                            "type": "string",
                            "enum": [
                                "left",
                                "right"
                            ]
                        }
                    },
                    "required": [],
                    "additionalProperties": false
                },
                "appearance": {
                    "type": "object",
                    "properties": {
                        "border_width": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 8
                        },
                        "border_color": {
                            "type": "string",
                            "pattern": "^#[0-9a-fA-F]{6}$"
                        },
                        "border_radius": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 40
                        },
                        "shadow": {
                            "type": "string",
                            "enum": [
                                "none",
                                "soft",
                                "strong"
                            ]
                        },
                        "backdrop_color": {
                            "type": "string",
                            "pattern": "^#[0-9a-fA-F]{6}$"
                        },
                        "backdrop_opacity": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 90
                        }
                    },
                    "required": [],
                    "additionalProperties": false
                },
                "target_selector": {
                    "type": [
                        "string",
                        "null"
                    ],
                    "maxLength": 240
                },
                "locale": {
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [],
            "additionalProperties": false
        },
        "active": {
            "type": "boolean",
            "description": "Create the placement active. At least one allowed origin is required."
        },
        "confirm_public_embed": {
            "type": "boolean",
            "description": "Set true only after the user explicitly approves activating this real public website embed."
        },
        "status": {
            "type": "string",
            "enum": [
                "draft",
                "active",
                "revoked"
            ],
            "description": "Update lifecycle status. Activating requires at least one allowed origin."
        }
    },
    "required": [
        "slug",
        "embed_id"
    ],
    "additionalProperties": false
}
delete_survey_embed link_sets:write Free+

Revoke a website embed placement. Existing survey responses are retained, but the public embed identifier can no longer launch the survey.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
embed_id
integer
yes
Website embed placement id.
id
integer
no
Alias for embed_id.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "embed_id": {
            "type": "integer",
            "description": "Website embed placement id."
        },
        "id": {
            "type": "integer",
            "description": "Alias for embed_id."
        }
    },
    "required": [
        "slug",
        "embed_id"
    ],
    "additionalProperties": false
}

Campaigns

12 tools
list_survey_campaigns campaigns:read Pro+

List email campaigns for a survey, optionally including archived campaigns.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
include_archived
boolean
no
Include archived campaigns in the list.
archived
boolean
no
Return only archived campaigns.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "include_archived": {
            "type": "boolean",
            "description": "Include archived campaigns in the list."
        },
        "archived": {
            "type": "boolean",
            "description": "Return only archived campaigns."
        }
    },
    "required": [
        "slug"
    ]
}
get_survey_campaign campaigns:read Pro+

Return one survey email campaign, optionally including recipients and their link status.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
campaign_id
integer
yes
Survey campaign id.
id
integer
no
Alias for campaign_id.
include_recipients
boolean
no
Include recipients. Defaults to true.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "campaign_id": {
            "type": "integer",
            "description": "Survey campaign id."
        },
        "id": {
            "type": "integer",
            "description": "Alias for campaign_id."
        },
        "include_recipients": {
            "type": "boolean",
            "description": "Include recipients. Defaults to true."
        }
    },
    "required": [
        "slug",
        "campaign_id"
    ]
}
list_survey_campaign_events campaigns:read Pro+

List recent provider delivery events for one survey campaign, including delivery, bounce, complaint, reject and delay events.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
campaign_id
integer
yes
Survey campaign id.
limit
integer
no
min 1 · max 500
Maximum recent events to return. Defaults to 100.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "campaign_id": {
            "type": "integer",
            "description": "Survey campaign id."
        },
        "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "Maximum recent events to return. Defaults to 100."
        }
    },
    "required": [
        "slug",
        "campaign_id"
    ]
}
create_survey_campaign campaigns:write Pro+

Create an email campaign for an existing multi-link link set. Campaigns consume link sets; they do not create links.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
name
string
no
Campaign display name.
link_set_id
integer
yes
Existing multi-link link set id. Required on create.
subject
string
yes
Email subject. Required on create. Supports campaign/contact/link placeholders.
sender_name
string
no
From display name. Defaults to organization name.
sender_local_part
string
no
From local part before @. Defaults to surveys.
sender_domain
string
no
Allowed sender domain. Currently dayalogs.com.
from
string
no
Alias for full from email, for example surveys@dayalogs.com.
from_email
string
no
Alias for full from email.
from_name
string
no
Alias for sender_name.
email_template
string
no
Template selector: base:dayalogs-basic, base:dayalogs-plain or custom:<id>.
template
string
no
Alias for email_template.
email_template_id
integer
no
Ready custom email template id. Alias for custom:<id>.
template_id
integer
no
Alias for email_template_id.
email_template_base_key
string
no
Base template key. Alias for base:<key>.
template_base_key
string
no
Alias for email_template_base_key.
body_html
string
yes
Campaign email body HTML. Required on create. Use {{ @link.url }} or Dayalogs will append a link.
html
string
no
Alias for body_html.
body
string
no
Alias for body_html.
body_text
string
no
Optional plain-text body override.
text
string
no
Alias for body_text.
disclaimer_html
string
no
Optional legal/disclaimer HTML. Falls back to account default.
disclaimer
string
no
Alias for disclaimer_html.
disclaimer_text
string
no
Optional plain-text disclaimer override.
include_branding
boolean
no
Whether the campaign includes account/survey branding.
save_account_disclaimer
boolean
no
Also save this disclaimer as the account default.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "name": {
            "type": "string",
            "description": "Campaign display name."
        },
        "link_set_id": {
            "type": "integer",
            "description": "Existing multi-link link set id. Required on create."
        },
        "subject": {
            "type": "string",
            "description": "Email subject. Required on create. Supports campaign/contact/link placeholders."
        },
        "sender_name": {
            "type": "string",
            "description": "From display name. Defaults to organization name."
        },
        "sender_local_part": {
            "type": "string",
            "description": "From local part before @. Defaults to surveys."
        },
        "sender_domain": {
            "type": "string",
            "description": "Allowed sender domain. Currently dayalogs.com."
        },
        "from": {
            "type": "string",
            "description": "Alias for full from email, for example surveys@dayalogs.com."
        },
        "from_email": {
            "type": "string",
            "description": "Alias for full from email."
        },
        "from_name": {
            "type": "string",
            "description": "Alias for sender_name."
        },
        "email_template": {
            "type": "string",
            "description": "Template selector: base:dayalogs-basic, base:dayalogs-plain or custom:<id>."
        },
        "template": {
            "type": "string",
            "description": "Alias for email_template."
        },
        "email_template_id": {
            "type": "integer",
            "description": "Ready custom email template id. Alias for custom:<id>."
        },
        "template_id": {
            "type": "integer",
            "description": "Alias for email_template_id."
        },
        "email_template_base_key": {
            "type": "string",
            "description": "Base template key. Alias for base:<key>."
        },
        "template_base_key": {
            "type": "string",
            "description": "Alias for email_template_base_key."
        },
        "body_html": {
            "type": "string",
            "description": "Campaign email body HTML. Required on create. Use {{ @link.url }} or Dayalogs will append a link."
        },
        "html": {
            "type": "string",
            "description": "Alias for body_html."
        },
        "body": {
            "type": "string",
            "description": "Alias for body_html."
        },
        "body_text": {
            "type": "string",
            "description": "Optional plain-text body override."
        },
        "text": {
            "type": "string",
            "description": "Alias for body_text."
        },
        "disclaimer_html": {
            "type": "string",
            "description": "Optional legal/disclaimer HTML. Falls back to account default."
        },
        "disclaimer": {
            "type": "string",
            "description": "Alias for disclaimer_html."
        },
        "disclaimer_text": {
            "type": "string",
            "description": "Optional plain-text disclaimer override."
        },
        "include_branding": {
            "type": "boolean",
            "description": "Whether the campaign includes account/survey branding."
        },
        "save_account_disclaimer": {
            "type": "boolean",
            "description": "Also save this disclaimer as the account default."
        }
    },
    "required": [
        "slug",
        "link_set_id",
        "subject",
        "body_html"
    ]
}
update_survey_campaign campaigns:write Pro+

Update a draft email campaign. After send activity, only the campaign name can be changed.

Parameter
Type
Req.
Details
campaign_id
integer
yes
Survey campaign id.
id
integer
no
Alias for campaign_id.
slug
string
yes
Survey slug.
name
string
no
Campaign display name.
link_set_id
integer
no
Existing multi-link link set id. Required on create.
subject
string
no
Email subject. Required on create. Supports campaign/contact/link placeholders.
sender_name
string
no
From display name. Defaults to organization name.
sender_local_part
string
no
From local part before @. Defaults to surveys.
sender_domain
string
no
Allowed sender domain. Currently dayalogs.com.
from
string
no
Alias for full from email, for example surveys@dayalogs.com.
from_email
string
no
Alias for full from email.
from_name
string
no
Alias for sender_name.
email_template
string
no
Template selector: base:dayalogs-basic, base:dayalogs-plain or custom:<id>.
template
string
no
Alias for email_template.
email_template_id
integer
no
Ready custom email template id. Alias for custom:<id>.
template_id
integer
no
Alias for email_template_id.
email_template_base_key
string
no
Base template key. Alias for base:<key>.
template_base_key
string
no
Alias for email_template_base_key.
body_html
string
no
Campaign email body HTML. Required on create. Use {{ @link.url }} or Dayalogs will append a link.
html
string
no
Alias for body_html.
body
string
no
Alias for body_html.
body_text
string
no
Optional plain-text body override.
text
string
no
Alias for body_text.
disclaimer_html
string
no
Optional legal/disclaimer HTML. Falls back to account default.
disclaimer
string
no
Alias for disclaimer_html.
disclaimer_text
string
no
Optional plain-text disclaimer override.
include_branding
boolean
no
Whether the campaign includes account/survey branding.
save_account_disclaimer
boolean
no
Also save this disclaimer as the account default.
View input JSON schema
{
    "type": "object",
    "properties": {
        "campaign_id": {
            "type": "integer",
            "description": "Survey campaign id."
        },
        "id": {
            "type": "integer",
            "description": "Alias for campaign_id."
        },
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "name": {
            "type": "string",
            "description": "Campaign display name."
        },
        "link_set_id": {
            "type": "integer",
            "description": "Existing multi-link link set id. Required on create."
        },
        "subject": {
            "type": "string",
            "description": "Email subject. Required on create. Supports campaign/contact/link placeholders."
        },
        "sender_name": {
            "type": "string",
            "description": "From display name. Defaults to organization name."
        },
        "sender_local_part": {
            "type": "string",
            "description": "From local part before @. Defaults to surveys."
        },
        "sender_domain": {
            "type": "string",
            "description": "Allowed sender domain. Currently dayalogs.com."
        },
        "from": {
            "type": "string",
            "description": "Alias for full from email, for example surveys@dayalogs.com."
        },
        "from_email": {
            "type": "string",
            "description": "Alias for full from email."
        },
        "from_name": {
            "type": "string",
            "description": "Alias for sender_name."
        },
        "email_template": {
            "type": "string",
            "description": "Template selector: base:dayalogs-basic, base:dayalogs-plain or custom:<id>."
        },
        "template": {
            "type": "string",
            "description": "Alias for email_template."
        },
        "email_template_id": {
            "type": "integer",
            "description": "Ready custom email template id. Alias for custom:<id>."
        },
        "template_id": {
            "type": "integer",
            "description": "Alias for email_template_id."
        },
        "email_template_base_key": {
            "type": "string",
            "description": "Base template key. Alias for base:<key>."
        },
        "template_base_key": {
            "type": "string",
            "description": "Alias for email_template_base_key."
        },
        "body_html": {
            "type": "string",
            "description": "Campaign email body HTML. Required on create. Use {{ @link.url }} or Dayalogs will append a link."
        },
        "html": {
            "type": "string",
            "description": "Alias for body_html."
        },
        "body": {
            "type": "string",
            "description": "Alias for body_html."
        },
        "body_text": {
            "type": "string",
            "description": "Optional plain-text body override."
        },
        "text": {
            "type": "string",
            "description": "Alias for body_text."
        },
        "disclaimer_html": {
            "type": "string",
            "description": "Optional legal/disclaimer HTML. Falls back to account default."
        },
        "disclaimer": {
            "type": "string",
            "description": "Alias for disclaimer_html."
        },
        "disclaimer_text": {
            "type": "string",
            "description": "Optional plain-text disclaimer override."
        },
        "include_branding": {
            "type": "boolean",
            "description": "Whether the campaign includes account/survey branding."
        },
        "save_account_disclaimer": {
            "type": "boolean",
            "description": "Also save this disclaimer as the account default."
        }
    },
    "required": [
        "slug",
        "campaign_id"
    ]
}
clone_survey_campaign campaigns:write Pro+

Clone a survey email campaign as a new draft campaign.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
campaign_id
integer
yes
Source campaign id.
id
integer
no
Alias for campaign_id.
name
string
no
Optional clone name. If omitted, Dayalogs creates a copy name.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "campaign_id": {
            "type": "integer",
            "description": "Source campaign id."
        },
        "id": {
            "type": "integer",
            "description": "Alias for campaign_id."
        },
        "name": {
            "type": "string",
            "description": "Optional clone name. If omitted, Dayalogs creates a copy name."
        }
    },
    "required": [
        "slug",
        "campaign_id"
    ]
}
delete_survey_campaign campaigns:write Pro+

Delete an unsent campaign or archive it when it already has send activity.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
campaign_id
integer
yes
Survey campaign id.
id
integer
no
Alias for campaign_id.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "campaign_id": {
            "type": "integer",
            "description": "Survey campaign id."
        },
        "id": {
            "type": "integer",
            "description": "Alias for campaign_id."
        }
    },
    "required": [
        "slug",
        "campaign_id"
    ]
}
archive_survey_campaign campaigns:write Pro+

Archive a survey email campaign so it no longer appears in the active campaign list.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
campaign_id
integer
yes
Survey campaign id.
id
integer
no
Alias for campaign_id.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "campaign_id": {
            "type": "integer",
            "description": "Survey campaign id."
        },
        "id": {
            "type": "integer",
            "description": "Alias for campaign_id."
        }
    },
    "required": [
        "slug",
        "campaign_id"
    ]
}
restore_survey_campaign campaigns:write Pro+

Restore an archived survey email campaign.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
campaign_id
integer
yes
Survey campaign id.
id
integer
no
Alias for campaign_id.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "campaign_id": {
            "type": "integer",
            "description": "Survey campaign id."
        },
        "id": {
            "type": "integer",
            "description": "Alias for campaign_id."
        }
    },
    "required": [
        "slug",
        "campaign_id"
    ]
}
preview_survey_campaign campaigns:write Pro+

Render a campaign preview. Pass campaign_id for a saved campaign, or draft fields plus link_set_id for a transient preview.

Parameter
Type
Req.
Details
campaign_id
integer
no
Optional saved campaign id. If present, draft fields are ignored.
id
integer
no
Alias for campaign_id.
slug
string
yes
Survey slug.
name
string
no
Campaign display name.
link_set_id
integer
no
Existing multi-link link set id. Required on create.
subject
string
no
Email subject. Required on create. Supports campaign/contact/link placeholders.
sender_name
string
no
From display name. Defaults to organization name.
sender_local_part
string
no
From local part before @. Defaults to surveys.
sender_domain
string
no
Allowed sender domain. Currently dayalogs.com.
from
string
no
Alias for full from email, for example surveys@dayalogs.com.
from_email
string
no
Alias for full from email.
from_name
string
no
Alias for sender_name.
email_template
string
no
Template selector: base:dayalogs-basic, base:dayalogs-plain or custom:<id>.
template
string
no
Alias for email_template.
email_template_id
integer
no
Ready custom email template id. Alias for custom:<id>.
template_id
integer
no
Alias for email_template_id.
email_template_base_key
string
no
Base template key. Alias for base:<key>.
template_base_key
string
no
Alias for email_template_base_key.
body_html
string
no
Campaign email body HTML. Required on create. Use {{ @link.url }} or Dayalogs will append a link.
html
string
no
Alias for body_html.
body
string
no
Alias for body_html.
body_text
string
no
Optional plain-text body override.
text
string
no
Alias for body_text.
disclaimer_html
string
no
Optional legal/disclaimer HTML. Falls back to account default.
disclaimer
string
no
Alias for disclaimer_html.
disclaimer_text
string
no
Optional plain-text disclaimer override.
include_branding
boolean
no
Whether the campaign includes account/survey branding.
save_account_disclaimer
boolean
no
Also save this disclaimer as the account default.
View input JSON schema
{
    "type": "object",
    "properties": {
        "campaign_id": {
            "type": "integer",
            "description": "Optional saved campaign id. If present, draft fields are ignored."
        },
        "id": {
            "type": "integer",
            "description": "Alias for campaign_id."
        },
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "name": {
            "type": "string",
            "description": "Campaign display name."
        },
        "link_set_id": {
            "type": "integer",
            "description": "Existing multi-link link set id. Required on create."
        },
        "subject": {
            "type": "string",
            "description": "Email subject. Required on create. Supports campaign/contact/link placeholders."
        },
        "sender_name": {
            "type": "string",
            "description": "From display name. Defaults to organization name."
        },
        "sender_local_part": {
            "type": "string",
            "description": "From local part before @. Defaults to surveys."
        },
        "sender_domain": {
            "type": "string",
            "description": "Allowed sender domain. Currently dayalogs.com."
        },
        "from": {
            "type": "string",
            "description": "Alias for full from email, for example surveys@dayalogs.com."
        },
        "from_email": {
            "type": "string",
            "description": "Alias for full from email."
        },
        "from_name": {
            "type": "string",
            "description": "Alias for sender_name."
        },
        "email_template": {
            "type": "string",
            "description": "Template selector: base:dayalogs-basic, base:dayalogs-plain or custom:<id>."
        },
        "template": {
            "type": "string",
            "description": "Alias for email_template."
        },
        "email_template_id": {
            "type": "integer",
            "description": "Ready custom email template id. Alias for custom:<id>."
        },
        "template_id": {
            "type": "integer",
            "description": "Alias for email_template_id."
        },
        "email_template_base_key": {
            "type": "string",
            "description": "Base template key. Alias for base:<key>."
        },
        "template_base_key": {
            "type": "string",
            "description": "Alias for email_template_base_key."
        },
        "body_html": {
            "type": "string",
            "description": "Campaign email body HTML. Required on create. Use {{ @link.url }} or Dayalogs will append a link."
        },
        "html": {
            "type": "string",
            "description": "Alias for body_html."
        },
        "body": {
            "type": "string",
            "description": "Alias for body_html."
        },
        "body_text": {
            "type": "string",
            "description": "Optional plain-text body override."
        },
        "text": {
            "type": "string",
            "description": "Alias for body_text."
        },
        "disclaimer_html": {
            "type": "string",
            "description": "Optional legal/disclaimer HTML. Falls back to account default."
        },
        "disclaimer": {
            "type": "string",
            "description": "Alias for disclaimer_html."
        },
        "disclaimer_text": {
            "type": "string",
            "description": "Optional plain-text disclaimer override."
        },
        "include_branding": {
            "type": "boolean",
            "description": "Whether the campaign includes account/survey branding."
        },
        "save_account_disclaimer": {
            "type": "boolean",
            "description": "Also save this disclaimer as the account default."
        }
    },
    "required": [
        "slug"
    ]
}
send_survey_campaign_test campaigns:send Pro+

Send one saved campaign to test email addresses before queueing the real recipients.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
campaign_id
integer
yes
Survey campaign id.
id
integer
no
Alias for campaign_id.
test_emails
array | string
no
Test recipient emails as an array or comma/newline-separated string.
emails
array | string
no
Alias for test_emails.
test_email
string
no
Single test email alias.
email
string
no
Single test email alias.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "campaign_id": {
            "type": "integer",
            "description": "Survey campaign id."
        },
        "id": {
            "type": "integer",
            "description": "Alias for campaign_id."
        },
        "test_emails": {
            "type": [
                "array",
                "string"
            ],
            "description": "Test recipient emails as an array or comma/newline-separated string.",
            "items": {
                "type": "string"
            }
        },
        "emails": {
            "type": [
                "array",
                "string"
            ],
            "description": "Alias for test_emails."
        },
        "test_email": {
            "type": "string",
            "description": "Single test email alias."
        },
        "email": {
            "type": "string",
            "description": "Single test email alias."
        }
    },
    "required": [
        "slug",
        "campaign_id"
    ]
}
send_survey_campaign campaigns:send Pro+

Queue a campaign send. scope=auto enforces the Dayalogs warmup-first workflow.

scope=auto enforces the Dayalogs warmup-first sending workflow.
Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
campaign_id
integer
yes
Survey campaign id.
id
integer
no
Alias for campaign_id.
scope
string
no
auto, warmup, remaining, failed
Queue scope. Defaults to auto, which sends warmup first and remaining after warmup is complete.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "campaign_id": {
            "type": "integer",
            "description": "Survey campaign id."
        },
        "id": {
            "type": "integer",
            "description": "Alias for campaign_id."
        },
        "scope": {
            "type": "string",
            "enum": [
                "auto",
                "warmup",
                "remaining",
                "failed"
            ],
            "description": "Queue scope. Defaults to auto, which sends warmup first and remaining after warmup is complete."
        }
    },
    "required": [
        "slug",
        "campaign_id"
    ]
}

Reviews

12 tools
list_my_review_links reviews:participate user OAuth Team+

List active survey preview-review rounds where the authorized MCP user is a reviewer, including each personal review URL.

Requires a user-authorized OAuth token; organization API keys cannot use this tool.
No input parameters.
View input JSON schema
{
    "type": "object",
    "properties": {},
    "required": []
}
list_review_rounds reviews:read Team+

List preview-review rounds for one survey.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        }
    },
    "required": [
        "slug"
    ]
}
create_review_round reviews:write Team+

Create a preview-review round with participants. This returns personal review URLs but does not send emails.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
name
string
yes
Review round name.
description
string
no
Optional reviewer-facing/internal description.
visibility
string
no
collaborative, private
collaborative lets reviewers see each other comments; private limits visibility.
review_locale
string
no
ca, es, en
Reviewer UI language for this round.
close_mode
string
no
manual, all_reviewed, date, date_or_all
How the round should close.
closes_at
string
no
ISO-8601 date/time required when close_mode is date or date_or_all.
participants
array<object>
yes
items object
Review participants. Invitations are not emailed by this tool; returned review_url values can be sent later through campaigns.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "name": {
            "type": "string",
            "description": "Review round name."
        },
        "description": {
            "type": "string",
            "description": "Optional reviewer-facing/internal description."
        },
        "visibility": {
            "type": "string",
            "enum": [
                "collaborative",
                "private"
            ],
            "description": "collaborative lets reviewers see each other comments; private limits visibility."
        },
        "review_locale": {
            "type": "string",
            "enum": [
                "ca",
                "es",
                "en"
            ],
            "description": "Reviewer UI language for this round."
        },
        "close_mode": {
            "type": "string",
            "enum": [
                "manual",
                "all_reviewed",
                "date",
                "date_or_all"
            ],
            "description": "How the round should close."
        },
        "closes_at": {
            "type": "string",
            "description": "ISO-8601 date/time required when close_mode is date or date_or_all."
        },
        "participants": {
            "type": "array",
            "description": "Review participants. Invitations are not emailed by this tool; returned review_url values can be sent later through campaigns.",
            "items": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Full reviewer name. Alternative to first_name/last_name."
                    },
                    "first_name": {
                        "type": "string",
                        "description": "Reviewer first name."
                    },
                    "last_name": {
                        "type": "string",
                        "description": "Reviewer last name."
                    },
                    "email": {
                        "type": "string",
                        "description": "Reviewer email."
                    },
                    "role": {
                        "type": "string",
                        "enum": [
                            "comment",
                            "decision"
                        ],
                        "description": "Reviewer role. Defaults to comment."
                    }
                },
                "required": [
                    "email"
                ]
            }
        }
    },
    "required": [
        "slug",
        "name",
        "participants"
    ]
}
get_review_round reviews:read Team+

Get one preview-review round, including participants and comments.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
round_id
integer
yes
min 1
Review round id.
id
integer
no
min 1
Alias for round_id.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "round_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Review round id."
        },
        "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for round_id."
        }
    },
    "required": [
        "slug",
        "round_id"
    ]
}
update_review_round reviews:write Team+

Update editable preview-review round metadata such as name, description, visibility, review language and close rules.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
round_id
integer
yes
min 1
Review round id.
id
integer
no
min 1
Alias for round_id.
name
string
no
Optional new review round name.
description
string | null
no
Optional reviewer-facing/internal description.
visibility
string
no
collaborative, private
collaborative lets reviewers see each other comments; private limits visibility.
review_locale
string
no
ca, es, en
Reviewer UI language for this round.
close_mode
string
no
manual, all_reviewed, date, date_or_all
How the round should close.
closes_at
string | null
no
ISO-8601 date/time required when close_mode is date or date_or_all.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "round_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Review round id."
        },
        "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for round_id."
        },
        "name": {
            "type": "string",
            "description": "Optional new review round name."
        },
        "description": {
            "type": [
                "string",
                "null"
            ],
            "description": "Optional reviewer-facing/internal description."
        },
        "visibility": {
            "type": "string",
            "enum": [
                "collaborative",
                "private"
            ],
            "description": "collaborative lets reviewers see each other comments; private limits visibility."
        },
        "review_locale": {
            "type": "string",
            "enum": [
                "ca",
                "es",
                "en"
            ],
            "description": "Reviewer UI language for this round."
        },
        "close_mode": {
            "type": "string",
            "enum": [
                "manual",
                "all_reviewed",
                "date",
                "date_or_all"
            ],
            "description": "How the round should close."
        },
        "closes_at": {
            "type": [
                "string",
                "null"
            ],
            "description": "ISO-8601 date/time required when close_mode is date or date_or_all."
        }
    },
    "required": [
        "slug",
        "round_id"
    ]
}
list_review_comments reviews:read Team+

List structured comments and replies for one preview-review round.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
round_id
integer
yes
min 1
Review round id.
id
integer
no
min 1
Alias for round_id.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "round_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Review round id."
        },
        "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for round_id."
        }
    },
    "required": [
        "slug",
        "round_id"
    ]
}
add_review_participant reviews:write Team+

Add a participant to an open preview-review round. This returns the personal review URL but does not send an email.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
round_id
integer
yes
min 1
Review round id.
id
integer
no
min 1
Alias for round_id.
name
string
no
Full reviewer name. Alternative to first_name/last_name.
first_name
string
no
Reviewer first name.
last_name
string
no
Reviewer last name.
email
string
yes
Reviewer email.
role
string
no
comment, decision
comment can comment/reply; decision can also decide comments in supported review UIs.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "round_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Review round id."
        },
        "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for round_id."
        },
        "name": {
            "type": "string",
            "description": "Full reviewer name. Alternative to first_name/last_name."
        },
        "first_name": {
            "type": "string",
            "description": "Reviewer first name."
        },
        "last_name": {
            "type": "string",
            "description": "Reviewer last name."
        },
        "email": {
            "type": "string",
            "description": "Reviewer email."
        },
        "role": {
            "type": "string",
            "enum": [
                "comment",
                "decision"
            ],
            "description": "comment can comment/reply; decision can also decide comments in supported review UIs."
        }
    },
    "required": [
        "slug",
        "round_id",
        "email"
    ]
}
create_review_comment reviews:write Team+

Create a comment or reply in a preview-review round. User-authorized OAuth tokens infer the author from the logged-in user; organization API keys must pass an author object.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
round_id
integer
yes
min 1
Review round id.
id
integer
no
min 1
Alias for round_id.
body
string
no
Comment body text.
text
string
no
Alias for body.
kind
string
no
Target kind such as survey, block, question, option or ending.
target_kind
string
no
Alias for kind.
target_id
string
no
Target fragment/question/item id.
element_id
string
no
Alias for target_id.
label
string
no
Human-readable target label.
target_label
string
no
Alias for label.
parent_id
integer
no
min 1
Optional parent comment id to create a reply.
author
object
no
Optional author object for organization API keys without user context. Ignored for user-authorized OAuth tokens.
participant
object
no
Alias for author.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "round_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Review round id."
        },
        "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for round_id."
        },
        "body": {
            "type": "string",
            "description": "Comment body text."
        },
        "text": {
            "type": "string",
            "description": "Alias for body."
        },
        "kind": {
            "type": "string",
            "description": "Target kind such as survey, block, question, option or ending."
        },
        "target_kind": {
            "type": "string",
            "description": "Alias for kind."
        },
        "target_id": {
            "type": "string",
            "description": "Target fragment/question/item id."
        },
        "element_id": {
            "type": "string",
            "description": "Alias for target_id."
        },
        "label": {
            "type": "string",
            "description": "Human-readable target label."
        },
        "target_label": {
            "type": "string",
            "description": "Alias for label."
        },
        "parent_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Optional parent comment id to create a reply."
        },
        "author": {
            "type": "object",
            "description": "Optional author object for organization API keys without user context. Ignored for user-authorized OAuth tokens.",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Full reviewer name. Alternative to first_name/last_name."
                },
                "first_name": {
                    "type": "string",
                    "description": "Reviewer first name."
                },
                "last_name": {
                    "type": "string",
                    "description": "Reviewer last name."
                },
                "email": {
                    "type": "string",
                    "description": "Reviewer email."
                },
                "role": {
                    "type": "string",
                    "enum": [
                        "comment",
                        "decision"
                    ],
                    "description": "Reviewer role. Defaults to comment."
                }
            },
            "required": [
                "email"
            ]
        },
        "participant": {
            "type": "object",
            "description": "Alias for author.",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Full reviewer name. Alternative to first_name/last_name."
                },
                "first_name": {
                    "type": "string",
                    "description": "Reviewer first name."
                },
                "last_name": {
                    "type": "string",
                    "description": "Reviewer last name."
                },
                "email": {
                    "type": "string",
                    "description": "Reviewer email."
                },
                "role": {
                    "type": "string",
                    "enum": [
                        "comment",
                        "decision"
                    ],
                    "description": "Reviewer role. Defaults to comment."
                }
            },
            "required": [
                "email"
            ]
        }
    },
    "required": [
        "slug",
        "round_id"
    ]
}
decide_review_comment reviews:decide user OAuth Team+

Accept, reject, resolve or mark a review comment as applied. Do not decide comments unless the user has explicitly approved each individual decision; requires confirm_decision=true after that approval. This is MCP-only and requires a user-bound token with reviews:decide; organization API keys cannot decide.

Requires a user-authorized OAuth token; organization API keys cannot use this tool.
Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
comment_id
integer
yes
min 1
Review comment id.
id
integer
no
min 1
Alias for comment_id.
status
string
yes
approved, rejected, resolved, applied
Decision status to set on the comment.
decision
string
no
approved, rejected, resolved, applied
Alias for status.
decision_note
string
no
Optional decision note.
note
string
no
Alias for decision_note.
confirm_decision
boolean
no
Must be true only after the user explicitly approves this specific review comment decision. Without it, the tool returns confirmation guidance and does not mutate the comment.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "comment_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Review comment id."
        },
        "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for comment_id."
        },
        "status": {
            "type": "string",
            "enum": [
                "approved",
                "rejected",
                "resolved",
                "applied"
            ],
            "description": "Decision status to set on the comment."
        },
        "decision": {
            "type": "string",
            "enum": [
                "approved",
                "rejected",
                "resolved",
                "applied"
            ],
            "description": "Alias for status."
        },
        "decision_note": {
            "type": "string",
            "description": "Optional decision note."
        },
        "note": {
            "type": "string",
            "description": "Alias for decision_note."
        },
        "confirm_decision": {
            "type": "boolean",
            "description": "Must be true only after the user explicitly approves this specific review comment decision. Without it, the tool returns confirmation guidance and does not mutate the comment."
        }
    },
    "required": [
        "slug",
        "comment_id",
        "status"
    ]
}
send_review_invitation reviews:write Team+

Send the review invitation email for one existing review participant.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
participant_id
integer
yes
min 1
Review participant id.
id
integer
no
min 1
Alias for participant_id.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "participant_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Review participant id."
        },
        "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for participant_id."
        }
    },
    "required": [
        "slug",
        "participant_id"
    ]
}
close_review_round reviews:write Team+

Close a preview-review round.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
round_id
integer
yes
min 1
Review round id.
id
integer
no
min 1
Alias for round_id.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "round_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Review round id."
        },
        "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for round_id."
        }
    },
    "required": [
        "slug",
        "round_id"
    ]
}
export_review_comments reviews:read Team+

Export one preview-review round as structured JSON with participants, comments and target positions.

Parameter
Type
Req.
Details
slug
string
yes
Survey slug.
round_id
integer
yes
min 1
Review round id.
id
integer
no
min 1
Alias for round_id.
View input JSON schema
{
    "type": "object",
    "properties": {
        "slug": {
            "type": "string",
            "description": "Survey slug."
        },
        "round_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Review round id."
        },
        "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for round_id."
        }
    },
    "required": [
        "slug",
        "round_id"
    ]
}

Branding & styles

11 tools
get_account_branding branding:read Free+

Return account-level default respondent-facing branding, including logo and alignment.

No input parameters.
View input JSON schema
{
    "type": "object",
    "properties": {},
    "required": []
}
update_account_branding branding:write Free+

Update account-level default branding settings such as logo alignment.

Parameter
Type
Req.
Details
logo_alignment
string
no
left, center, right
Account default logo alignment.
alignment
string
no
left, center, right
Alias for logo_alignment.
View input JSON schema
{
    "type": "object",
    "properties": {
        "logo_alignment": {
            "type": "string",
            "enum": [
                "left",
                "center",
                "right"
            ],
            "description": "Account default logo alignment."
        },
        "alignment": {
            "type": "string",
            "enum": [
                "left",
                "center",
                "right"
            ],
            "description": "Alias for logo_alignment."
        }
    },
    "required": []
}
upload_account_logo branding:write Free+

Upload the account default header logo from base64 content and optional alignment.

Parameter
Type
Req.
Details
content_base64
string
yes
Base64 image content. Data URLs are accepted.
filename
string
no
Original filename for metadata.
mime_type
string
no
image/png, image/jpeg or image/webp. Optional when content_base64 is a data URL.
logo_alignment
string
no
left, center, right
Optional logo alignment to save with the upload.
alignment
string
no
left, center, right
Alias for logo_alignment.
View input JSON schema
{
    "type": "object",
    "properties": {
        "content_base64": {
            "type": "string",
            "description": "Base64 image content. Data URLs are accepted."
        },
        "filename": {
            "type": "string",
            "description": "Original filename for metadata."
        },
        "mime_type": {
            "type": "string",
            "description": "image/png, image/jpeg or image/webp. Optional when content_base64 is a data URL."
        },
        "logo_alignment": {
            "type": "string",
            "enum": [
                "left",
                "center",
                "right"
            ],
            "description": "Optional logo alignment to save with the upload."
        },
        "alignment": {
            "type": "string",
            "enum": [
                "left",
                "center",
                "right"
            ],
            "description": "Alias for logo_alignment."
        }
    },
    "required": [
        "content_base64"
    ]
}
delete_account_logo branding:write Free+

Remove the account default header logo.

No input parameters.
View input JSON schema
{
    "type": "object",
    "properties": {},
    "required": []
}
list_styles branding:read Free+

List base and custom styles available in the authenticated account.

Parameter
Type
Req.
Details
include_css
boolean
no
Include full CSS in the response. Defaults to false.
View input JSON schema
{
    "type": "object",
    "properties": {
        "include_css": {
            "type": "boolean",
            "description": "Include full CSS in the response. Defaults to false."
        }
    },
    "required": []
}
get_style branding:read Free+

Return one custom style by id, optionally including generated CSS.

Parameter
Type
Req.
Details
style_id
integer
yes
min 1
Custom style id.
id
integer
no
min 1
Alias for style_id.
include_css
boolean
no
Include full CSS. Defaults to true for get_style.
View input JSON schema
{
    "type": "object",
    "properties": {
        "style_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Custom style id."
        },
        "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for style_id."
        },
        "include_css": {
            "type": "boolean",
            "description": "Include full CSS. Defaults to true for get_style."
        }
    },
    "required": [
        "style_id"
    ]
}
create_style branding:write Free+

Create a custom respondent-facing style from a style config, CSS or generator answers.

Parameter
Type
Req.
Details
name
string
no
Style name.
slug
string
no
Optional style slug for update.
status
string
no
draft, ready
Style status. Ready styles can be assigned to surveys.
base_key
string
no
Base style key used by generated configs.
css
string
no
Scoped CSS using only allowed Dayalogs survey selectors.
config
object
no
Dayalogs style-config JSON object.
theme
object
no
Alias for config.
definition
object
no
Alias for config.
config_json
string
no
Style config encoded as JSON.
answers
object
no
Generator answer object for quick style generation.
View input JSON schema
{
    "type": "object",
    "properties": {
        "name": {
            "type": "string",
            "description": "Style name."
        },
        "slug": {
            "type": "string",
            "description": "Optional style slug for update."
        },
        "status": {
            "type": "string",
            "enum": [
                "draft",
                "ready"
            ],
            "description": "Style status. Ready styles can be assigned to surveys."
        },
        "base_key": {
            "type": "string",
            "description": "Base style key used by generated configs."
        },
        "css": {
            "type": "string",
            "description": "Scoped CSS using only allowed Dayalogs survey selectors."
        },
        "config": {
            "type": "object",
            "description": "Dayalogs style-config JSON object."
        },
        "theme": {
            "type": "object",
            "description": "Alias for config."
        },
        "definition": {
            "type": "object",
            "description": "Alias for config."
        },
        "config_json": {
            "type": "string",
            "description": "Style config encoded as JSON."
        },
        "answers": {
            "type": "object",
            "description": "Generator answer object for quick style generation."
        }
    },
    "required": []
}
import_style branding:write Free+

Import and persist a validated style config or scoped CSS as a custom draft style.

Parameter
Type
Req.
Details
name
string
no
Style name.
slug
string
no
Optional style slug for update.
status
string
no
draft, ready
Style status. Ready styles can be assigned to surveys.
base_key
string
no
Base style key used by generated configs.
css
string
no
Scoped CSS using only allowed Dayalogs survey selectors.
config
object
no
Dayalogs style-config JSON object.
theme
object
no
Alias for config.
definition
object
no
Alias for config.
config_json
string
no
Style config encoded as JSON.
answers
object
no
Generator answer object for quick style generation.
View input JSON schema
{
    "type": "object",
    "properties": {
        "name": {
            "type": "string",
            "description": "Style name."
        },
        "slug": {
            "type": "string",
            "description": "Optional style slug for update."
        },
        "status": {
            "type": "string",
            "enum": [
                "draft",
                "ready"
            ],
            "description": "Style status. Ready styles can be assigned to surveys."
        },
        "base_key": {
            "type": "string",
            "description": "Base style key used by generated configs."
        },
        "css": {
            "type": "string",
            "description": "Scoped CSS using only allowed Dayalogs survey selectors."
        },
        "config": {
            "type": "object",
            "description": "Dayalogs style-config JSON object."
        },
        "theme": {
            "type": "object",
            "description": "Alias for config."
        },
        "definition": {
            "type": "object",
            "description": "Alias for config."
        },
        "config_json": {
            "type": "string",
            "description": "Style config encoded as JSON."
        },
        "answers": {
            "type": "object",
            "description": "Generator answer object for quick style generation."
        }
    },
    "required": []
}
clone_base_style branding:write Free+

Clone a locked base style into an editable custom style.

Parameter
Type
Req.
Details
base_key
string
yes
Locked base style key to clone.
name
string
no
Optional new custom style name.
status
string
no
draft, ready
Optional initial status. Defaults to draft.
View input JSON schema
{
    "type": "object",
    "properties": {
        "base_key": {
            "type": "string",
            "description": "Locked base style key to clone."
        },
        "name": {
            "type": "string",
            "description": "Optional new custom style name."
        },
        "status": {
            "type": "string",
            "enum": [
                "draft",
                "ready"
            ],
            "description": "Optional initial status. Defaults to draft."
        }
    },
    "required": [
        "base_key"
    ]
}
update_style branding:write Free+

Update custom style metadata, status, config or scoped CSS.

Parameter
Type
Req.
Details
style_id
integer
yes
min 1
Custom style id.
id
integer
no
min 1
Alias for style_id.
name
string
no
Style name.
slug
string
no
Optional style slug for update.
status
string
no
draft, ready
Style status. Ready styles can be assigned to surveys.
base_key
string
no
Base style key used by generated configs.
css
string
no
Scoped CSS using only allowed Dayalogs survey selectors.
config
object
no
Dayalogs style-config JSON object.
theme
object
no
Alias for config.
definition
object
no
Alias for config.
config_json
string
no
Style config encoded as JSON.
answers
object
no
Generator answer object for quick style generation.
View input JSON schema
{
    "type": "object",
    "properties": {
        "style_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Custom style id."
        },
        "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for style_id."
        },
        "name": {
            "type": "string",
            "description": "Style name."
        },
        "slug": {
            "type": "string",
            "description": "Optional style slug for update."
        },
        "status": {
            "type": "string",
            "enum": [
                "draft",
                "ready"
            ],
            "description": "Style status. Ready styles can be assigned to surveys."
        },
        "base_key": {
            "type": "string",
            "description": "Base style key used by generated configs."
        },
        "css": {
            "type": "string",
            "description": "Scoped CSS using only allowed Dayalogs survey selectors."
        },
        "config": {
            "type": "object",
            "description": "Dayalogs style-config JSON object."
        },
        "theme": {
            "type": "object",
            "description": "Alias for config."
        },
        "definition": {
            "type": "object",
            "description": "Alias for config."
        },
        "config_json": {
            "type": "string",
            "description": "Style config encoded as JSON."
        },
        "answers": {
            "type": "object",
            "description": "Generator answer object for quick style generation."
        }
    },
    "required": [
        "style_id"
    ]
}
save_style_as branding:write Free+

Duplicate an existing custom style under a new name and optional updated config, CSS or status.

Parameter
Type
Req.
Details
style_id
integer
yes
min 1
Custom style id.
id
integer
no
min 1
Alias for style_id.
name
string
no
Style name.
slug
string
no
Optional style slug for update.
status
string
no
draft, ready
Style status. Ready styles can be assigned to surveys.
base_key
string
no
Base style key used by generated configs.
css
string
no
Scoped CSS using only allowed Dayalogs survey selectors.
config
object
no
Dayalogs style-config JSON object.
theme
object
no
Alias for config.
definition
object
no
Alias for config.
config_json
string
no
Style config encoded as JSON.
answers
object
no
Generator answer object for quick style generation.
View input JSON schema
{
    "type": "object",
    "properties": {
        "style_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Custom style id."
        },
        "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Alias for style_id."
        },
        "name": {
            "type": "string",
            "description": "Style name."
        },
        "slug": {
            "type": "string",
            "description": "Optional style slug for update."
        },
        "status": {
            "type": "string",
            "enum": [
                "draft",
                "ready"
            ],
            "description": "Style status. Ready styles can be assigned to surveys."
        },
        "base_key": {
            "type": "string",
            "description": "Base style key used by generated configs."
        },
        "css": {
            "type": "string",
            "description": "Scoped CSS using only allowed Dayalogs survey selectors."
        },
        "config": {
            "type": "object",
            "description": "Dayalogs style-config JSON object."
        },
        "theme": {
            "type": "object",
            "description": "Alias for config."
        },
        "definition": {
            "type": "object",
            "description": "Alias for config."
        },
        "config_json": {
            "type": "string",
            "description": "Style config encoded as JSON."
        },
        "answers": {
            "type": "object",
            "description": "Generator answer object for quick style generation."
        }
    },
    "required": [
        "style_id"
    ]
}