Publish Decision Flow
publish_decision_flowPublishes a locked decision revision to a MAS destination and polls the async job, returning the real module ID required before score_data can execute the decision.
Instructions
Publish a locked decision revision to a Micro Analytic Score (MAS) destination.
Required before score_data can execute the decision — MAS runs
published modules, not decision flows directly. Requires the DS2 code
generation service to be healthy for this decision's rule sets; an
error mentioning rule set code generation is an environment-level
issue, not a bad payload.
Publishing is asynchronous and the resulting MAS module ID is
server-generated — it is NOT publish_name. This polls the
publish job (properties.masModules[0].jobUri) until it reaches a
terminal state and returns the real moduleId alongside the
publish record, so the result is directly usable with
get_mas_module_step_signature/score_data without a separate
lookup via list_mas_modules.
The code is generated for MAS, as SAS Intelligent Decisioning does when
it publishes, so lookup tables are read from MAS. Unlike a module the
Intelligent Decisioning UI publishes, whose inputs end in an underscore
(credit_score_), the module's inputs keep the decision's variable
names.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| decision_id | Yes | The decision flow UUID (not its name — list_decision_flows returns both). | |
| revision_id | Yes | The locked revision UUID (see ``lock_decision_flow_revision``). | |
| poll_timeout | No | Max seconds to wait for the publish job to reach a terminal state before giving up (default 60.0). | |
| publish_name | Yes | The published name shown in Model Publish (not the MAS module ID — see above). | |
| destination_name | No | The configured MAS publishing destination (default "maslocal"). | maslocal |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||