.. This work is a derivative of https://wiki.onap.org/display/DW/Modeling+Concepts .. This work is licensed under a Creative Commons Attribution 4.0 .. International License. http://creativecommons.org/licenses/by/4.0 .. Copyright (C) 2020 Deutsche Telekom AG. .. _dynamic_payload: Dynamic Payload --------------- One of the most important API provided by the run time is to execute a CBA Package. The nature of this API **request** and **response** is **model driven** and **dynamic**. Here is how the a **generic request** and **response** look like. .. list-table:: :widths: 50 50 :header-rows: 1 * - request - response * - .. code-block:: json { "commonHeader": { "originatorId": "", "requestId": "", "subRequestId": "" }, "actionIdentifiers": { "blueprintName": "", "blueprintVersion": "", "actionName": "", "mode": "" }, "payload": { "$actionName-request": { "$actionName-properties": { } } } } - .. code-block:: json { "commonHeader": { "originatorId": "", "requestId": "", "subRequestId": "" }, "actionIdentifiers": { "blueprintName": "", "blueprintVersion": "", "actionName": "", "mode": "" }, "payload": { "$actionName-response": { } } } The ``actionName``, under the ``actionIdentifiers`` refers to the name of a Workflow (see :ref:`workflow`) The content of the ``payload`` is what is fully dynamic / model driven. The first **top level element** will always be either ``$actionName-request`` for a request or ``$actionName-response`` for a response. Then the **content within this element** is fully based on the **workflow** **inputs** and **outputs**. During the :ref:`enrichment` CDS will aggregate all the resources defined to be resolved as input (see :ref:`node_type` -> Source -> Input), within mapping definition files (see :ref:`artifact_type` -> Mapping), as data-type, that will then be use as type of an input called ``$actionName-properties``.