Search
K
MarketConnect-OrderEntry

Update the Order Entry transaction data for life and annuity products.

In a multi-blueprint setup, this endpoint is used to save user responses and return the next relevant blueprint for continued rendering

Request Body Format

The request body matches the data node returned by GET and Create transaction APIs:

  • data: Object keyed by question or composite field id
  • Values: Arrays of QuestionData rows; each row must include id, type, and value (use index for repeatable collection rows; JSON null for value is allowed for an empty optional answer when the property is present)

Supported Field Types

  • Field Type | Description | Value Type | - input | Text input field | string | - dropdown | Select dropdown field | string | - radio | Radio button field | string | - checkbox | Checkbox field | boolean | - date | Date picker field | string (YYYY-MM-DD) | - phone | Phone number field | string | - collection | Complex nested data structure | array of CollectionItem | #### Simple Field Example
  "data": {
    "259726": [{
      "id": "259726",
      "type": "dropdown",
      "questionText": "Account designation",
      "questionSubText": "Account designation",
      "displayValue": "Owner",
      "value": "Owner",
      "index": 0
    }]
  }
}```

Collection Field Example

  "data": {
    "489363_FirstName": [{
      "id": "489363_FirstName",
      "type": "text",
      "questionText": "First Name",
      "displayValue": "John",
      "value": "John",
      "index": 0
    }],
    "489363_LastName": [{
      "id": "489363_LastName",
      "type": "text",
      "questionText": "Last Name",
      "displayValue": "Doe",
      "value": "Doe",
      "index": 0
    }]
  }
}```

Error Scenarios

  • 400 Bad Request:

  • VALIDATION_ERROR - Input validation failed (ModelState errors)

  • INVALID_TRANSACTION_ID - Invalid transaction ID provided

  • INVALID_STEP_NAME - Invalid step name provided

  • 401 Unauthorized:

  • UNAUTHORIZED - Authentication failed or token is invalid

  • 403 Forbidden:

  • FORBIDDEN - User does not have permission to update this transaction

  • 500 Internal Server Error:

  • SAVE_TRANSACTION_ERROR - Save operation failed at service level

  • SAVE_TRANSACTION_FAILED - Save operation not successful

  • INVALID_RESPONSE_FORMAT - Invalid response format from service

  • EMPTY_BLUEPRINT - Empty blueprint returned after save

  • BUILD_BLUEPRINT_ERROR - Error building blueprint for next step

  • UNEXPECTED_ERROR - Unexpected system error

Success Response

On success, returns a TransactionResponse with:

  • TransactionId: The transaction ID that was updated
  • CaseId: The case identifier returned by the upstream product service (may be null until the case is created)
  • Data: Updated transaction field data keyed by question ID
  • Blueprint: Blueprint for the next step in the workflow
  • Subscribers: Reactive subscriber definitions consumed by the UI to drive dependent dataset lookups (may be empty if no subscribers apply to the next step)
  • Errors: Empty array on success (or absent)

Workflow Progression

This endpoint is used to:

  • Save user input for the current step
  • Validate the input data
  • Automatically determine next step from breadcrumb
  • Return the blueprint for the next step
put

Path Parameters

transactionIdstringrequired

The unique identifier for the transaction

stepNamestringrequired

PascalCase step identifier matching the section ID in the blueprint (e.g. CarrierProductSelection, EntityOwners). Values are returned verbatim from the backend blueprint - do not lowercase or transform them. Optional for enhanced blueprint.

Body

application/json

The input data for updating the transaction (data object matching GET/Create response shape)

Transaction update request. The data property matches TransactionResponse.data (field id → QuestionDataRows → QuestionData, with index for collection rows). Each field value must be a JSON array of rows. Every QuestionData object must include a value property (JSON null is permitted for an empty optional answer).

* Additional properties are NOT allowed.
dataobjectrequired

Answers keyed by blueprint question id or composite collection field id. Named properties below are representative examples (same keys as the default example); any other field id is valid and uses the same value shape (see additionalProperties → QuestionDataRows → QuestionData). Each array entry is one row; use index for repeatable collection instances.

Example:{"259726":[{"id":"259726","type":"dropdown","questionText":"Account designation","questionSubText":"Account designation","displayValue":"Owner","value":"Owner","index":0}],"486958":[{"id":"486958","type":"date","questionText":"Date of birth","questionSubText":"","displayValue":"1989-10-13","value":"1989-10-13","index":0}],"488043":[{"id":"488043","type":"radio","questionText":"Gender","questionSubText":"","displayValue":"Male","value":"Male","index":0}],"489353_FirstName_Main":[{"id":"489353_FirstName_Main","type":"text","questionText":"First Name","questionSubText":"","displayValue":"John","value":"John","index":0}],"489353_LastName_Main":[{"id":"489353_LastName_Main","type":"text","questionText":"Last Name","questionSubText":"","displayValue":"Doe","value":"Doe","index":0}]}{"259726":[{"id":"259726","type":"dropdown","questionText":"Account designation","questionSubText":"Account designation","displayValue":"Owner","value":"Owner","index":0}],"486958":[{"id":"486958","type":"date","questionText":"Date of birth","questionSubText":"","displayValue":"1989-10-13","value":"1989-10-13","index":0}],"488043":[{"id":"488043","type":"radio","questionText":"Gender","questionSubText":"","displayValue":"Male","value":"Male","index":0}],"489353_FirstName_Main":[{"id":"489353_FirstName_Main","type":"text","questionText":"First Name","questionSubText":"","displayValue":"John","value":"John","index":0}],"489353_LastName_Main":[{"id":"489353_LastName_Main","type":"text","questionText":"Last Name","questionSubText":"","displayValue":"Doe","value":"Doe","index":0}]}

Show Child Parameters

Response

application/json

Returns the Order Entry blueprint for next step or success status

TransactionResponse

* Additional properties are NOT allowed.
transactionIdstringrequired

The unique identifier for the created transaction

>= 1 characters

caseIdstring | null

The case identifier returned by the product service

dataobjectrequired

Answers keyed by blueprint question id or composite collection field id. Named properties below are representative examples (same keys as the default example); any other field id is valid and uses the same value shape (see additionalProperties → QuestionDataRows → QuestionData). Each array entry is one row; use index for repeatable collection instances.

Example:{"259726":[{"id":"259726","type":"dropdown","questionText":"Account designation","questionSubText":"Account designation","displayValue":"Owner","value":"Owner","index":0}],"486958":[{"id":"486958","type":"date","questionText":"Date of birth","questionSubText":"","displayValue":"1989-10-13","value":"1989-10-13","index":0}],"488043":[{"id":"488043","type":"radio","questionText":"Gender","questionSubText":"","displayValue":"Male","value":"Male","index":0}],"489353_FirstName_Main":[{"id":"489353_FirstName_Main","type":"text","questionText":"First Name","questionSubText":"","displayValue":"John","value":"John","index":0}],"489353_LastName_Main":[{"id":"489353_LastName_Main","type":"text","questionText":"Last Name","questionSubText":"","displayValue":"Doe","value":"Doe","index":0}]}

Show Child Parameters
blueprintobjectrequired
* Additional properties are NOT allowed.
Show Child Parameters
subscribersarray | null[object]

Reactive subscriber definitions consumed by the UI. Each subscriber declares trigger fields, an HTTP action to run on change, and a response handler. Two flavors are emitted: dataset-dependency (context-modification) and blueprint-modification (replace-whole).

Example:{"triggers":["FirstName"],"actions":[{"type":"http","verb":"get","url":"/market-connect/order-entry/v1/transaction/1125715/MCDPS","token":"OEToken","payload":{"type":"none"},"responseHandlers":[{"type":"blueprint-modification","action":"replace-whole","value":{"type":"response-query","kind":"json-path","value":"$.data"}}]}]}

* Additional properties are NOT allowed.
Show Child Parameters
errorsarray | null[object]

Collection of errors if the operation failed

Example:{"code":"VALIDATION_ERROR","description":"Input validation failed","details":"One or more input fields are invalid","timestamp":"2024-01-15T10:30:00.000Z"}

* Additional properties are NOT allowed.
Show Child Parameters
validationErrorsarray | null[object]

One validation message in API shape. Optional properties are omitted in JSON when null (e.g. fieldId is missing or 0).

Example:{"fieldId":"BeneficiaryAddress","answerNodeId":"Transaction.PrimaryOwner.PersonName.Prefix","message":"First name is required","sectionName":"EntityOwners"}

* Additional properties are NOT allowed.
Show Child Parameters
put/market-connect/order-entry/v1/transaction/{transactionId}/{stepName}

Body

{ "data": { "259726": [ { "id": "259726", "type": "dropdown", "questionText": "Account designation", "questionSubText": "Account designation", "displayValue": "Owner", "value": "Owner", "index": 0 } ], "486958": [ { "id": "486958", "type": "date", "questionText": "Date of birth", "questionSubText": "", "displayValue": "1989-10-13", "value": "1989-10-13", "index": 0 } ], "488043": [ { "id": "488043", "type": "radio", "questionText": "Gender", "questionSubText": "", "displayValue": "Male", "value": "Male", "index": 0 } ], "489353_FirstName_Main": [ { "id": "489353_FirstName_Main", "type": "text", "questionText": "First Name", "questionSubText": "", "displayValue": "John", "value": "John", "index": 0 } ], "489353_LastName_Main": [ { "id": "489353_LastName_Main", "type": "text", "questionText": "Last Name", "questionSubText": "", "displayValue": "Doe", "value": "Doe", "index": 0 } ] } }
 
application/json

Create the Order Entry transaction. Routes to appropriate service based on CUSIP.

Error Scenarios

  • 400 Bad Request:

  • VALIDATION_ERROR - Input validation failed (ModelState errors)

  • INVALID - Invalid input parameters

  • 401 Unauthorized:

  • UNAUTHORIZED - Authentication failed or token is invalid

  • 403 Forbidden:

  • FORBIDDEN - User does not have permission to create transactions

  • 500 Internal Server Error:

  • TRANSACTION_CREATION_FAILED - Transaction creation failed at service level

  • TRANSACTION_ID_NOT_FOUND - Service didn’t return transaction ID

  • FIRST_STEP_SETUP_FAILED - First step initialization failed (breadcrumb, payload creation, or save)

  • JSON_PARSE_ERROR - Failed to parse service response

  • BUILD_BLUEPRINT_ERROR - Error building blueprint after creation

  • UNEXPECTED_ERROR - Unexpected system error

Success Response

On success, returns a TransactionResponse with:

  • TransactionId: The newly created transaction ID
  • CaseId: The case identifier returned by the upstream product service (may be null until the case is fully created)
  • Data: Initial transaction field data keyed by question ID
  • Blueprint: Complete section and field definitions for the new transaction
  • Subscribers: Reactive subscriber definitions consumed by the UI to drive dependent dataset lookups
  • Errors: Empty array on success (or absent)

Input Validation

The following fields are validated:

  • State: Must be a two-letter code that is a valid US state, territory, or military mail code (see API state mapping)
  • CUSIP: Must be a valid CUSIP

Service Routing

The API automatically routes to the appropriate service based on CUSIP:

  • Annuity Service: Configured Annuity CUSIPs
  • Life Service: Configured Life CUSIPs

Transaction Creation Flow

The transaction creation process includes:

  • Validate input parameters
  • Determine service routing based on CUSIP
  • Create transaction via appropriate service (Life or Annuity)
  • Get breadcrumb to determine first step
  • Retrieve order entry values for first step
  • Create and save first step payload
  • Build complete blueprint for the transaction

First Step Setup Failures

The FIRST_STEP_SETUP_FAILED error can occur when:

  • No breadcrumb steps are found
  • First step name is null or empty
  • Order entry values are null or empty
  • First step payload creation fails
  • First step data save operation fails
  • First step save response indicates failure
post

Body

application/json

The input data for creating a new transaction

CreateTransactionRequest

* Additional properties are NOT allowed.
statestring | null

Two-letter state, territory, or military mail code (e.g. GA, TX, DC, PR). Must be a recognized code.

cusipstringrequired

The unique identifier for the product. This code allows the Order Entry API to determine the appropriate distributor, carrier, and product configuration

>= 1 characters

Response

application/json

Returns the Order Entry blueprint for the created transaction

TransactionResponse

* Additional properties are NOT allowed.
transactionIdstringrequired

The unique identifier for the created transaction

>= 1 characters

caseIdstring | null

The case identifier returned by the product service

dataobjectrequired

Answers keyed by blueprint question id or composite collection field id. Named properties below are representative examples (same keys as the default example); any other field id is valid and uses the same value shape (see additionalProperties → QuestionDataRows → QuestionData). Each array entry is one row; use index for repeatable collection instances.

Example:{"259726":[{"id":"259726","type":"dropdown","questionText":"Account designation","questionSubText":"Account designation","displayValue":"Owner","value":"Owner","index":0}],"486958":[{"id":"486958","type":"date","questionText":"Date of birth","questionSubText":"","displayValue":"1989-10-13","value":"1989-10-13","index":0}],"488043":[{"id":"488043","type":"radio","questionText":"Gender","questionSubText":"","displayValue":"Male","value":"Male","index":0}],"489353_FirstName_Main":[{"id":"489353_FirstName_Main","type":"text","questionText":"First Name","questionSubText":"","displayValue":"John","value":"John","index":0}],"489353_LastName_Main":[{"id":"489353_LastName_Main","type":"text","questionText":"Last Name","questionSubText":"","displayValue":"Doe","value":"Doe","index":0}]}

Show Child Parameters
blueprintobjectrequired
* Additional properties are NOT allowed.
Show Child Parameters
subscribersarray | null[object]

Reactive subscriber definitions consumed by the UI. Each subscriber declares trigger fields, an HTTP action to run on change, and a response handler. Two flavors are emitted: dataset-dependency (context-modification) and blueprint-modification (replace-whole).

Example:{"triggers":["FirstName"],"actions":[{"type":"http","verb":"get","url":"/market-connect/order-entry/v1/transaction/1125715/MCDPS","token":"OEToken","payload":{"type":"none"},"responseHandlers":[{"type":"blueprint-modification","action":"replace-whole","value":{"type":"response-query","kind":"json-path","value":"$.data"}}]}]}

* Additional properties are NOT allowed.
Show Child Parameters
errorsarray | null[object]

Collection of errors if the operation failed

Example:{"code":"VALIDATION_ERROR","description":"Input validation failed","details":"One or more input fields are invalid","timestamp":"2024-01-15T10:30:00.000Z"}

* Additional properties are NOT allowed.
Show Child Parameters
validationErrorsarray | null[object]

One validation message in API shape. Optional properties are omitted in JSON when null (e.g. fieldId is missing or 0).

Example:{"fieldId":"BeneficiaryAddress","answerNodeId":"Transaction.PrimaryOwner.PersonName.Prefix","message":"First name is required","sectionName":"EntityOwners"}

* Additional properties are NOT allowed.
Show Child Parameters
post/market-connect/order-entry/v1/transaction

Body

{ "state": "GA", "cusip": "22530Y105" }
 
application/json

Submit an order entry transaction for processing.

Submits the transaction to the order-entry service. Returns 400 with the inner Data.Message when the submit Data payload reports Success false and TotalValidationErrors greater than zero.

post

Path Parameters

transactionIdstringrequired

The unique identifier for the transaction

Response

application/json

OK

SubmitTransactionResponse

* Additional properties are NOT allowed.
transactionIdstringrequired

The unique identifier for the submitted transaction. Echoed back from the request.

>= 1 characters

messagestringrequired

Human-readable confirmation that the submit request was accepted.

>= 1 characters

post/market-connect/order-entry/v1/transaction/{transactionId}/submit
 
application/json

Dataset

Dataset operations

Gets dataset values for a dependent control based on the provided payload.

Returns dataset contents based on the provided transaction, step, field, and dependency inputs.

post

Body

application/json

DatasetRequest

transactionIdstringrequired

Unique identifier of the transaction (positive integer as a string).

>= 1 characters

stepNamestringrequired

Name of the wizard step containing the dependent control.

>= 1 characters

fieldIdstringrequired

Identifier of the field (control) whose dataset is being requested.

>= 1 characters

Response

application/json

Returns the dataset payload

DatasetResponse

* Additional properties are NOT allowed.
Statusstringrequired

Outcome of the dataset lookup. “Success” on success; otherwise the backend exception type name (e.g. “NullReferenceException”, “ItemNotFoundException`2”).

>= 1 characters

Messagestringrequired

Human-readable message describing the outcome. On success a confirmation string; on failure the backend error message.

>= 1 characters

Datastring | null

Dataset payload serialized as a JSON string. On success, a JSON array of {Name, Value} option objects. On failure, may be “[]” or omitted.

InstanceIdinteger | null(int64)

Identifier of the dataset instance returned by the upstream service. Present for success and most failures; absent for low-level exceptions.

post/market-connect/order-entry/v1/dataset

Body

{ "transactionId": "1064187", "stepName": "CarrierProductSelection", "fieldId": "504436", "Transaction.Parameters[\"CarrierID\"].Value": "CARRIER-001", "Transaction.SolicitationState": "Alabama" }
 
application/json