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 (use index for repeatable collection rows)

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 → array of QuestionData rows, with index for collection rows). A field value may also be a single QuestionData object when prefilled (see prefilled on QuestionData).

* Additional properties are NOT allowed.
dataobjectrequired

Dictionary keyed by question id or composite collection field id; values are arrays of QuestionData (includes index for collection rows).

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

Dictionary keyed by question id or composite collection field id; values are arrays of QuestionData (includes index for collection rows).

blueprintobjectrequired

The blueprint containing section and field definitions

* 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 valid state code
  • 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.
statestringrequired

The state in which the life or annuity transaction is being solicited.

>= 1 characters

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

Dictionary keyed by question id or composite collection field id; values are arrays of QuestionData (includes index for collection rows).

blueprintobjectrequired

The blueprint containing section and field definitions

* 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 annuity order-entry service. Returns 400 with the inner Data.Message when Data.Success is false and TotalValidationErrors is 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